从我hadoop伪分布式搭建来的同学
现在我们已经有了一台hadoop伪分布式的服务器以及另外三台网络能够互通的干净服务器了
如果没有搭过伪分布式的同学,请参考我的另一篇文章
stop-dfs.sh
先说一下此篇文章各个节点的角色
NameNode DataNode secondaryNode
node01 *
node02 * *
node03 *
node04 *
1.另外三台node安装jdk
rpm -i jdk...
2.将/etc/profile发送至另外三台node
scp /etc/profile node02:/etc/profile
scp /etc/profile node03:/etc/profile
scp /etc/profile node04:/etc/profile
3.将node01的公钥发给另外三台node,实现免密登录
先让node2,3,4执行ssh localhost 在/root下生成.ssh文件夹
scp /root/.ssh/id_dsa.pub node02:/root/.ssh/node01.pub
scp /root/.ssh/id_dsa.pub node03:/root/.ssh/node01.pub
scp /root/.ssh/id_dsa.pub node04:/root/.ssh/node01.pub将公钥写入authorized_keys
三台node统一执行cd ~/.ssh
cat node01.pub >> authorized_keys
在node01上测试,能够免密登录另外三台即大功告成
4. 修改配置
如果想要保存自己的分布式配置,则进行以下操作
cd $HADOOP_HOME/etc
cp -r hadoop ./hadoop_local
cd hadoop
vi hdfs-site.xml
<!-- 将副本数设为2-- >
<property>
<name>dfs.replication</name>
<value>2</value>
</property><!-- nameNode的dir位置 -- >
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/poke/bigdata/hadoop/full/dfs/name</value>
</property><!-- dataNode的dir位置 -- >
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/poke/bigdata/hadoop/full/dfs/data</value>
</property><!-- 设置哪台机子作为secondary,用于合并editlog于fsimag -- >
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property><!-- 设置secondary的dir -- >
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/poke/bigdata/hadoop/full/dfs/secondary</value>
</property>
vi slaves : 设置哪几台机子为datanode
node02
node03
node04
5.将node1的hadoop分发给另外三台node
cd /opt/poke
scp -r bigdata node02:`pwd`
scp -r bigdata node03:`pwd`
scp -r bigdata node04:`pwd`
6.最后格式化启动
hdfs namenode -format
start-dfs.sh
最后部署成功