zookeeper安装
zookeeper安装
预先准备:
兼容性调查:
zookeeper与hadoop之间并不存在兼容性问题,直接下载一个稳定版本安装即可。
zookeeper用于监视namenode工作状态,并做相应状态切换,不可将namenode与zookeeper安装在同一台机器中。
zookeeper在hadoop中得意义:
在安装hadoop集群时,开发人员可以手动指定一个namenode结点用于实际开发,假如namenode出现意外死机等特殊状况,则会出现集群中存储得内容无法获取得情况,这种情况俗称单点故障。
为了避开单点故障,一般采用多namenode的方式布置hadoop,一旦其中正在使用的namenode意外死机,可以交给另一台namenode继续工作。由于意外的不可获取性,一般会在hadoop集群中布置zookeeper结点,一旦出现意外,由zookeeper负责监视是否出现意外,并在意外发生时将另一台standby状态的namenode改为实际应用的namenode
namenode之间的同步措施:
要想standby状态的namenode接管原本正常工作的namenode必须保证两者之间的内容完全一致,无论是内存存储数据,还是硬盘存储数据。
zookeeper集群安装:
单点zookeeper安装:
-
将zookeeper源码复制到集群搭建目录下
-
在zookpeer源码目录conf下新建zoo.conf文件,文件内容如下所示:
tickTime=2000 #心跳时间间隔,单位
dataDir=/var/lib/zookeeper #临时文件目录,也可以指定其它位置
clientPort=2181 #
initLimit=5
syncLimit=2
server.1=node1:2888:3888 # server.x = 结点名:port1:port2
server.2=node2:2888:3888
server.3=node3:2888:3888
-
创建dataDIr文件夹,并将其权限授予hadoop用户
sudo mkdir -p /var/lib/zookeeper
sudo chown -R hadoop.hadoop /var/lib/zookeeper
-
创建myid文件
sudo vi /var/lib/zookeeper/myid
根据zookeeper的配置规则,每个zookeeper结点都必须在dataDir下新建一个myid文件,并将zoo.cfg对应的x值写入myid中。如node1写1,node2写2,node3写3
-
在源码目录下启动zookeeper
bin/zkServer.sh start
-
确认zookeeper已经启动
jps
zookeeper集群安装
-
通过scp指令将配置好的zookeeper移动到其它node结点上。
scp -r zookeeper hadoop@192.168.10.42:/home/hadoop
-
修改myid文件中的值与server.x中的x值对应
-
启动zookeeper。zookeeper必须在每个结点上单独使用命令启动。
bin/zkServer.sh start
优美的分割线 下面不用继续了
=========================================================================================================================================
Journalnode集群启动
在namenode中启动所有journalnode:
sbin/hadoop-daemons.sh start jouranlnode
在journalnode中单独启动journalnode
sbin/hadoop-daemon.sh start jouranlnode
使用jps指令查看journalnode是否启动:
edits队列初始化:
复制edits文件
将原来namenode的edits文件复制到nemnode2中(直接进行文件夹复制即可)
提交文件至journalnode集群
bin/hdfs namenode -initializeSharedEdits
zookeeper自动切换namenode:
bin/hdfs zkfc -formatZK
启动HA集群
zookeeper新版出现问题
最新版本的zookeeper默认会占用端口8080用于管理,因此在使用时需要配置一下admin.serverPort=8888,否则会导致spark UI的默认端口冲突

浙公网安备 33010602011771号