一、准备工作
1. 在3台电脑中分别安装RHEL6。
2. 每台电脑中都设置用户名hadoop,登录密码也设置为相同密码。
3. 下载安装jdk1.7.0_21,解压到/usr/java目录,JAVA_HOME路径为/usr/java/jdk1.7.0_21。
4. 分别设置3台电脑的hostname和IP:
master:192.168.237.201
slave1:192.168.237.202
slave2:192.168.237.203
5. 在3 台电脑中分别设置ssh无密码登录,确保3台电脑之间都可以直接通过ssh无密码登录。
6. 从http://hadoop.apache.org/releases.html下载hadoop-1.1.2-bin.tar.gz。
二、安装
1. 用hadoop登录系统,将下载的hadoop-1.1.2-bin.tar.gz解压到/usr/locall(需要用su进行操作,若解压到其他位置hadoo用户的home目录中,则不用这步)。
2. 修改/usr/local/hadoop-1.1.2目录所有者为hadoop:
chow -hR hadoop:hadoop /usr/local/hadoop-1.1.2
3. 继续以root身份修改/etc/profile文件,在文件最后添加以下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_21
export HADOOP_INSTALL=/usr/local/hadoop-1.1.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_INSTALL/bin
4. 退出root,以hadoop进行操作。首先用以下命令设置配置参数
source /etc/profile
即可设置好JAVA_HOME、PATH等。
5. 修改位于/usr/local/hadoop-1.1.2/conf目录中的配置文件:
(1)修改hadoop-env.sh的如下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_21
(2)设置core-site.xml内容如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
(3)设置hdfs-site.xml内容如下:
<configuration>
<property>
<name>dfs.data.dir</name>
<value>/usr/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
只有2台datanoe,所以上面的dfs.replication设置为2。数据目录dfs.data.dir设置到/usr/hadoop/data目录,因此需要用root创建/usr/hadoop这个目录,并将/usr/hadoop的所有者设置为hadoop:hadoop。
(4)设置mapred-site.xml内容如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
(5)设置masters文件内容如下:
master
这里设置的是SecondaryName的主机名或IP地址。
(6)设置slaves文件内容如下:
slave1
slave2
这里设置的是datanode节点主机。
5. 在一台电脑中将以上配置设置完成以后,用root身份使用以下命令将文件复制到其他电脑中:
scp -r /usr/local/hadoop-1.1.2 slave1:/usr/local
scp -r /usr/local/hadoop-1.1.2 slave2:/usr/local
scp -r /etc/profile slave1:/etc
scp -r /etc/profile slave2:/etc
6. 使用hadoop身份,用ssh登录到slave1和slave2电脑中。使用以下命令:
source /etc/profile
使配置生效。
7. 用root身份修改slave1和slave2电脑中/usr/local/hadoop-1.1.2目录的所有者。
至此,全部配置完毕。
三、启动和停止hadoop
1. 启动hadoop
hadoop namenode -format
(2)在master主机中,使用以下命令启动hadoop。
start-all.sh
由于设置了PATH,可以不用路径。这个命令文件位于/usr/local/hadoop-1.1.2/bin中。
2. 在master主机中使用以下命令可停止hadoop。
stop-all.sh
四、验证
1. 方法一:
hadoop启动成功(无错误提示)之后,可通过jps命令查看java进程。在master中应该有以下进程:
SecondaryNameNode
NameNode
JobTracker
在slave1和slave2主机中执行jps命令应该有以下进程:
DataNode
TaskTracker
2. 方法二:执行以下命令: