本地虚拟机搭建zookeeper集群

1. 配置说明
   <1> VMare     Workstation 14 Pro            下载 
   <1> OS        CentOS-7-x86_64-DVD-1804.iso  
   <2> jdk       jdk-8u66-linux-x64.tar.gz
   <3> zookeeper apache-zookeeper-3.6.2-bin.tar.gz (注意该版本是带bin的!!!)
   
2. 前置准备
   <1> 准备三台虚拟机           参考 
   <2> 配置网络
       本次采用NAT,需要打开VMNet8网卡
       目标:三台主机之间 以及 三台主机与本地物理机 相互均可以ping通
   <3> 关闭防火墙
       systemctl stop firewalld.service
       查看防火墙状态    :systemctl status firewalld.service
       禁止防火墙开机启动:systemctl disable firewalld.service
   <3> 更改主机名称&&配置域名IP映射
       vim /etc/hostname  #配置节点主机域名(三台主机名称分别为 hadoop1 hadoop2 hadoop3)
       vim /etc/hosts     #配置节点主机IP与域名映射
       192.168.83.128 hadoop1 #节点1
       192.168.83.129 hadoop2 #节点2
       192.168.83.130 hadoop3 #节点3              
   <4> 配置三台虚拟机免密登录   参考
   <5> Linux环境安装jdk       参考
   
3. 集群搭建   
   <1> 创建zookeeper文件存放目录(3个节点均需要)
       mkdir -p /opt/zk   
   <2> 上传apache-zookeeper-3.6.2-bin.tar.gz至/opt/zk (仅上传hadoop1即可,后续配置完zoo.cfg后,通过scp命令直接拷贝即可)
       可使用xftp   
   <3> 创建zookeeper数据文件及日志文件存放目录(3个节点均需要)
       mkdir -p /data/zk    
       mkdir -p /log/zk    
   <4> 【节点1】进入<2>所在目录,解压安装文件
       tar -zxvf apache-zookeeper-3.6.2-bin.tar.gz
   <5> 【节点1】配置zoo.cfg(重点)
       a. 进入解压文件的conf目录(完整路径:/opt/zk/apache-zookeeper-3.6.2-bin/conf),熟悉Linux目录规则可以按相对路径进入
          cd /opt/zk/apache-zookeeper-3.6.2-bin/conf
       b. 更名样例文件 
          mv zoo_sample.cfg zoo.cfg
       c. 配置zoo.cfg 
          vim zoo.cfg 
          #配置zk数据存放目录
           dataDir=/data/zk
          #配置zk日志存放目录
           dataLogDir=/log/zk          
          #配置zk节点与客户端通信端口
           clientPort=2181
          #配置zk节点(主机节点域名:节点间相互通信端口:节点leader选举端口)
           server.0=hadoop1:2888:3888
           server.1=hadoop2:2888:3888
           server.2=hadoop3:2888:3888
        d. 分发配置(将配置好的文件分发到节点2和节点3)
           scp -r /opt/zk/apache-zookeeper-3.6.2-bin root@hadoop2:/opt/zk/   
           scp -r /opt/zk/apache-zookeeper-3.6.2-bin root@hadoop3:/opt/zk/   
          
   <6> 启动(3个节点均需要)
       cd /opt/zk/apache-zookeeper-3.6.2-bin 
       ./zkServer.sh start
       
   <7> 查看启动结果
       cd /opt/zk/apache-zookeeper-3.6.2-bin 
       ./zkServer.sh status
       
   <8> 关闭(3个节点均需要)
       cd /opt/zk/apache-zookeeper-3.6.2-bin 
       ./zkServer.sh stop

4. 优化       
   <1> 批量启动/查看/关闭(选择一个节点即可,这里选择节点1) 
       说明:以下文件所在目录 /opt/zk/apache-zookeeper-3.6.2-bin/bin 
       a. 批量启动   
          vim startAll.sh
#!/bin/bash
for i in 1 2 3;
do 
  echo "************hadoop${i} start************"
  ssh hadoop${i} "/opt/zk/apache-zookeeper-3.6.2-bin/bin/zkServer.sh start"
  echo "************hadoop${i} end************"
done
       b. 批量查看启动状态 
          vim showAllStatus.sh
#! /bin/sh
for i in 1 2 3 ;
 do
   echo "*****************hadoop${i} zk  status start******************"
   ssh hadoop${i} "/opt/zk/apache-zookeeper-3.6.2-bin/bin/zkServer.sh status"
   echo "*****************hadoop${i} zk  status end******************"
 done          
       c. 批量关闭 
          vim stopAll.sh
#!/bin/bash
for i in 1 2 3;
do
  echo "**************stop hadoop${i} start***************"
  ssh hadoop${i} "/opt/zk/apache-zookeeper-3.6.2-bin/bin/zkServer.sh stop"
  echo "**************stop hadoop${i} end***************"
done
<2> 集群可视化插件安装           
       zkui https://www.cnblogs.com/caoshousong/p/10709371.html
     
     
5. 遇到的问题(待完善)
<1> 单个节点均已启动,但集群角色查询不到
查看防火墙是否关闭,若未关闭请关闭

 

posted @ 2020-12-11 17:43  lvlin241  阅读(159)  评论(0编辑  收藏  举报