之前笔者一直用的一个master一个slave的集群,后来给笔记本加了个内存条后,加上开始学习zookeeper,开始频繁使用两个master,3个slave的高可用集群了。之前以为没有什么区别,但是使用中还是遇到了不少的小坑。
1. 先说集群启动顺序
**
配置好第一次启动:
**
1.每个slave启动zookeeper服务,执行zkServer.sh start,jps可以看到多了QuorumPeerMain进程
2.每个slave启动journalnode,执行hadoop-daemon.sh start journalnode,jps可以看到多了
JournalNode进程
3.格式化HDFS,在一个master上执行hdfs namenode -format,如果看到succesfully formated就表示成功了(注意不要重复格式化),然后将生成的tmp目录拷贝到backup master对应的目录下。`
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.7.3/tmp</value>
</property>
`
4.格式化ZKFC,在node1上执行hdfs zkfc -formatZK。(如果集群没有配置高可用的话,不需要错误恢复,所以也就不要格式化了)
5.启动HDFS,在master