1.准备4台服务器。虚拟机开启4台机器。做其余几台的免密钥。方法将家目录下的隐藏文件夹.ssh下的。id_dsa.pub公钥分发给其他,注意命名为其他名称,如node01.pub。
scp ./id_dsa.pub root@192.168.159.39:/root/.ssh/node01.pub
cat node01.pub >> authorized_keys
将node01.pub里的公钥追加进authorized_keys的文件里。authorized_keys这个是新加入的。这样把自己的公钥给了其他人,下次其他人在我这的登录就可以记住密码了。
然后分发node01的profile文件分发给其余各台机器。并重新加载。(全部会话:. /etc/prof*)
2.hadoop部署包的配置并分发安装包
按如下的要求搭建:
NN修改如下
vi core-site.xml
20 <configuration>
21 <property>
22 <name>fs.defaultFS</name>
23 <value>hdfs://node01:9000</value>
24 </property>
25 <property>
26 <name>hadoop.tmp.dir</name>
27 <value>/var/sxt/hadoop/local</value>
28 </property>
29 </configuration>
23行是我NN的启动的配置,不需要改,27行是我hadoop的数据目录,搭建伪分布式已用了此目录有数据了,因此需要改。
DN配置
将伪分布式的node01去掉,改成234为DN的配置项。
node02
node03
node04
SNN配置
vi hdfs-site.xml
20 <property>
21 <name>dfs.replication</name>
22 <value>1</value>
23 </property>
24 <property>
25 <name>dfs.namenode.secondary.http-address</name>
26 <value>node01:50090</value>
27 </property>
将1给成3,有3个副本,为了测试方便,设成2.这样区分开每个副本。
26行改成node02,按要求需要在第二台DN上启动SNN.
然后分发hadoop安装包到其他节点即可。
[root@node01 opt]# scp -r ./jw/ node04:`pwd`
格式化NN
hdfs namenode -format
给NN元数据的name目录下生成VERSION文件,里有集群的id以及空的fsimage、edits等。
启动集群。
start-dfs.sh
启动完成后查看jps会发现,node01仅有NN。02、03、04有DN。其中02还有SNN。
如果上述情况不吻合,不可重复format。配置若无错误,重新安装,只删除var下的format后产生的那些文件。重新来一次。
测试情况,192.168.159.36:50070
查看活动的节点数,
hdfs dfs -mkdir -p /user/root
hdfs dfs -D dfs.blocksize=1048576 -put ./jw.txt