本次演示以四台机器为例,分别为node01,node02,node03,node04
namenode :node01
secondary namenode :node02
datanode:node02,node03,node04
首先配置网络,保证四台机器可以互相通信,安装jdk,具体过程可参考上一篇伪分布式搭建。
安装后开始进行免密操作,每台机器都先以下执行命令对自己免密,生成 .ssh文件
ssh localhost
将node01的公钥分发给其他机器
scp ./id_dsa.pub node02:/root/.ssh/node01.pub
在node02可以看到接收到的文件
将接收到的node01的公钥追加到node02的authorized_keys中
cat node01.pub >> authorized_keys
即可实现node01对node02的免密登录,其他机器一样的操作,实现node01免密登录
在伪分布式基础上操作node01:
进入/usr/local/hadoop/etc/hadoop目录,查看编辑 core-site.xml 文件,配置namenode地址
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
修改hdfs-site.xml文件,配置secondary namenode地址
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/bigdata/hadoop/full/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/bigdata/hadoop/full/dfs/data</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/bigdata/hadoop/full/dfs/secondary</value>
</property>
修改 slaves文件 配置datanode地址
node02
node03
node04
node01配置好后,向其他机器分发hadoop
//当前目录为:/usr/local
//执行分发
// `pwd` 指分发到其他机器相同目录下
scp -r ./hadoop/ node02:`pwd`
scp -r ./hadoop/ node03:`pwd`
scp -r ./hadoop/ node04:`pwd`
在node01格式化元数据
hdfs namenode -format
启动namenode
start-dfs.sh
会看到datanode 和secondary namenode 在相应机器上被启动
浏览器输入:http://node01:50070 在网页查看验证,可以看到三个datanode节点