> Linux集群 > Hadoop >

Hadoop安装部署

花了两天时间把Hadoop 0.18.3部署到了RedHat 9上。总结一下思路。

环境:RedHat 9 + Hadoop 0.18.3 + JDK 1.6u14

新建一个用户: howard

首先,从SUN上下载了JDK 1.6u14(使用Hadoop必须保证JDK在1.5以上的版本)用root身份登录,使用vi /etc/profile命令,在/etc/profile中配置JAVA_HOME,在profile文件的末端加入下面的语句:

export JAVA_HOME=/usr/java/jdk1.6.0_14

export CLASSPATH=,;$JAVA_HOME/lib/tools.jar

export PATH= $JAVA_HOME/bin:$PATH

保存退出。用javac -version测试JDK是否配置成功。

下载hadoop-0.18.3.tar.gz,使用tar xzf hadoop-0.18.3.tar.gz命令将此压缩包解压到/home/howard,

$ cd /home/howard

$tar xzf hadoop-0.18.3.tar.gz

 

在配置Hadoop之前,必须先配置ssh,因为Hadoop通过ssh来管理它的节点。切换到howard用户,设置ssh口令:

$ ssh-keygen -t rsa -P ""                     //将密码设为空

$ cat $HOME/.ssh/id_rsa.pub >> $HOME/authorized_keys //这一步是让你能够用SSH访问本地计算机

$ ssh localhost      //测试ssh

接下来就是配置Hadoop了,我的当前环境只有一台机器,所以配置的是伪分布式模式。

1.配置hadoop-env.sh,将JAVA_HOME添加进来,

将# export JAVA_HOME=/usr/lib/j2sdk1.5-sun 改为:

export JAVA_HOME=/usr/java/jdk1.6.0-14

2.配置hadoop-site.xml,如下命令:

$ cd /home/howard/hadoop-0.18.3

$ vi conf/hadoop-site.xml

然后就可以编辑hadoop-site.xml了,修改如下:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>


<configuration>

<property>
<name>hadoop.tmp.dir</name>
<value>/home/howard/hadoop-0.18.3/tmp</value>
</property>

<property>
<name>fs.default.name</name>
<value>hdfs://localhost:54310</value>
</property>

<property>
<name>mapred.job.tracker</name>
<value>localhost:54311</value>
</property>

<property>
<name>dfs.replication</name>
<value>1</value>                   //复制的数据块数,默认是3,因为现在只有一台机子,改为1
</property>

</configuration>

保存退出。然后格式化namenode,命令如下:

$ cd /home/howard/hadoop-0.18.3

$ bin/hadoop namenode -format

启动Hadoop守护进程,使用命令:

$ bin/start-all.sh

将会看到如下信息:

-bash-2.05b$:/usr/local/hadoop$bin/start-all.sh 
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-namenode-ubuntu.out
localhost: starting datanode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-datanode-ubuntu.out
localhost: starting secondarynamenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-secondarynamenode-ubuntu.out
starting jobtracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-jobtracker-ubuntu.out
localhost: starting tasktracker, logging to /usr/local/hadoop/bin/../logs/hadoop-hadoop-tasktracker-ubuntu.out
-bash-2.05b$:/usr/local/hadoop$

关闭Hadoop守护进程,使用命令:

$ bin/stop-all.sh

至此,Hadoop基本配置完成,下面就可以进行测试程序了。

强烈推荐有能力的可以看看下面的两篇文章,照着做应该没问题的。

http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Single-Node_Cluster)

http://www.michael-noll.com/wiki/Running_Hadoop_On_Ubuntu_Linux_(Multi-Node_Cluster)

(责任编辑:IT)