(1).按照前面的讲解,安装第二台,第三台Ubuntu虚拟机,并配置hadoop为单机伪分布式。
(2).在三台主机上配置集群的主机名
vi /etc/hostname
分别为Master,Slave1,Slave2
vi /etc/hosts
添加Master,Slave1,Slave2对应的IP.
127.0.0.1 localhost
192.168.56.131 Master
192.168.56.132 Slave1
192.168.56.133 Slave2
(3).SSH无密码验证配置
按照前面单机免SSH密码登录的步骤,分别在Slave1,Slave2上生成公钥,私钥。
把Slave1,Slave2的公钥id_rsa.pub通过scp拷贝到Master上~/.ssh/目录下,分别命名为id_rsa.pub.Slave1,id_rsa.pub.Slave2.
Master节点上综合所有公钥
cat id_rsa.pub.Slave1 >> authorized_keys
cat id_rsa.pub.Slave2 >> authorized_keys
此时再通过ssh Slave1,ssh Slave2登录,发现已经不需要密码了。
再把authorized_keys分别拷贝到Slave1,Slave2的~/.ssh/目录下,则三台机器即可互相通过SSH免密码登录。
(4).修改三台机器的配置文件
4.1.core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Master:9000</value> #修改为域名Master
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-1.2.1/tmp</value>
</property>
</configuration>
4.2.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> #数量改为3,集群中有3台机器。
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/hadoop-1.2.1/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/hadoop-1.2.1/hdfs/data</value>
</property>
</configuration>
4.3修改三台机器的conf的master,slaves文件.
vi master
Master
vi slaves
Master
Slave1
Slave2
5.测试分布式环境
5.1首先把伪分布式环境中Master上建立的目录删除
rm hdfs/*
rm tmp/*
5.2格式化
hadoop namenode -format
5.3运行start-all.sh启动集群
6.通过jps查看或者Master:50070的WEB控制台查看。看到LiveNode为3,至此hadoop分布式集群环境配置成功。