01_Hadoop完全分布式环境搭建,01_hadoop搭建


本例使用的环境:Windows+VirtualBox.  VirtualBox下安装三个ubuntu系统(可以安装一台后,使用VirtualBox自带的工具VBoxManage.exe来进行复制),三台机器分别命名为h1.h2,h3。其中,h1作为master,运行namenodejobtrackerh2h3作为slaves,运行datanodetasktracker

 

1.在每个节点上安装jdkssh

a) sudo apt-get install openjdk-7-jdk

b) sudo apt-get install ssh

 

1.配置每个节点的hosts文件。(如果是超大集群,每台配置很麻烦,可以使用DNS服务器).

 

2.建立hadoop运行账号,成功后切换到该账号下继续操作(为了后续配置方便,最好每个节点上的用户名都一致!)

a) sudo groupadd hadoop

b) sudo useradd -s /bin/bash -d /home/hadoop -m hadoop -g hadoop -G admin

c) sudo passwd hadoop

d) su hadoop

 

4.配置ssh免密码连接

a) 生成一对公钥和私钥:ssh-keygen  -t  rsa  -P  ‘’  -f  ~/.ssh/id_rsa

b) cat  ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized_keys

c) 测试连接:ssh  localhost(第一次需要用户yes确认,exit再次登录发现免密码登录)

d) 将主节点(master)中的公钥文件(id_dsa.pub)的内容分别追加到各个slave节点的~/.ssh/authorized_keys文件中,这样主节点可以免密码连接各个slave

 

在每个slave节点中执行下面语句(将主节点的公钥添加到每个slave的连接认证文件,使主节点能免密码连接到slave节点)

scp  hadoop@h1:~/.ssh/id_rsa.pub ~/.ssh/h1_rsa.pub

cat ~/.ssh/h1_rsa.pub >> ~/.ssh/authorized_keys

(注意:如果namenodejobtracker在不同的机器上,则namenode所在节点也需要做相应配置保证能够无密码连入jobtracker

 

5.下载解压hadoop安装包(这里使用的是hadoop-0.20.2版本)

 

6.配置namenode,修改site文件(假设namenodejobtracker所在机器名为h1,其他分别为h2,h3)

a) core-site.xml: 添加

<property>

<name>fs.default.name</name>

<value>hdfs://h1:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/hadoop解压目录/tmp</value>

</property>

b) hdfs-site.xml: 添加

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop解压目录/hdfs/name</value>

<final>true</final>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop解压目录/hdfs/data</value>

<final>true</final>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

<final>true</final>

</property>

c) 设置jobtracker(mapred-site.cml)

<property>

<name>mapred.job.tracker</name>

<value>h1:9001</value>

<final>true</final>

</property>

 

7.将主节点上配置好的hadoop整个文件夹复制到其他slave节点。

在主节点上执行下列命令:

scp -r /home/hadoop/hadoop-0.20.2  h2:~

 

8.配置hadoop-env.sh文件,导出JAVA_HOME环境变量(去掉相应注释并修改为本机的JAVA安装路径即可)

 

9.配置masterslaves

 

10.将主节点上的整个hadoop安装目录全部复制到各个slave节点上去

 

11.为了后续使用方便。在每个节点添加系统环境变量

编辑/etc/profile文件,在末尾添加:

export JAVA_HOME=java安装目录

export HADOOP_INSTALL=hadoop安装目录

export PATH=$PATH:$HADOOP_INSTALL/bin

添加完毕后使用 source /etc/profile 命令重新读取系统环境变量。

 

12.格式化namenode: hadoop  namenode  -format

 

13启动hadoop集群(只需在master节点启动即可):  start-all.sh(因为hadoop/bin已经被添加到系统环境变量,故可以在任意目录运行start-all.sh命令)

 

14.使用jps命令查看是否启动正常

 

15.使用自带的wordcount进行测试。

1.hadoop  dfs  -put  test.txt  input

2.hadoop  jar  $HADOOP_INSTALL/hadoop-*-examples.jar  wordcount  input output

3.hadoop dfs -cat output/part-r-00000

 

相关内容

    暂无相关文章