初識zookeeper以及安裝和集群部署


初識zookeeper以及安裝和集群部署

 
 
一、Zookeeper單體版安裝
    在安裝zookeeper之前要先安裝jdk環境,具體在linux環境安裝jdk1.8請參照linux筆記。
    1.在/usr/local/zoo 文件夾下執行命令 wget  http://apache.fayea.com/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5.tar.gz 下載zookeeper壓縮包,並執行tar -zxvf 進行解壓。
    2.初次使用zookeeper需要將conf文件夾下的zoo_sample.cfg修改為zoo.cfg。
    3.在zookeeper安裝目錄下建立一個文件夾data。
    4.修改zoo.cfg文件中的dataDir為data的路徑,保存退出。
    5.啟動zookeeper,zkServer.sh.
    (遇到的問題,在bin目錄下執行zkServer.sh start提示我命令不存在???
    原因是zookeeper沒有配置環境變量,可以選擇配置環境變量或者使用命令./zkServer.sh start)
    (修改之后。。。。命令好使了,但是啟動失敗,連原因都沒有,查看zookeeper目錄下的logs發現報錯:Error: Could not find or load main class org.apache.zookeeper.server.quorum.QuorumPeerMain
)    這里注意一個大坑:
    在zookeeper3.5.5版本中,官網下載有兩個文件:
要選擇第一個壓縮包下載,第二個壓縮包是源碼包,第一個壓縮包下載后按照正常步驟就可以運行起來,太坑了。
二、zookeeper操作常用命令
    1.啟動服務
    ./zkServer.sh start
    2.服務狀態
    ./zkServer.sh staus
    3.停止服務
    ./zkServer.sh stop
    4.重啟服務器
    ./zkServer.sh restar
    5.連接服務器
    ./zkCli.sh -timeout 0 -r -server ip:port 
三、zookeeper集群部署
    1.修改虛擬機的IP地址為靜態IP,否則搭建zookeeper集群會因為IP地址發生變化而報錯。
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
  只能存在一個ifcfg-ens33 文件   例如: ifcfg-ens33 / ifcfg-ens32 /ifcfg-ens33.bck     多余的文件必須刪除
    修改如下:
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO= static                #這里修改為static,代表是靜態的IP
    IPADDR=192.168.162.128       #添加自定義IP地址
    NETMASK=255.255.255.0    #添加子網掩碼
    GATEWAY=192.168.162.2    #添加網關
    DNS1=192.168.162.2         #添加DNS1可以與網關一致
    DNS2=8.8.8.8                 #添加DNS2 
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=48f38312-9b20-431c-b873-f71c64f1f1f8
    DEVICE=ens33
    ONBOOT= yes
    2.配置host文件 (選配)
    vim etc/host
    增加如下內容:
    192.168.162.128 vm01
    192.168.162.129 vm02
    192.168.162.130 vm03
    將IP地址與別名進行綁定,這里有個問題,配置了host之后ping不同,采用IP就好使,這個根據實際情況看吧。
 
    3.修改zoo.cfg文件
    增加如下內容
    server.1=vm01:2888:3888
    server.2=vm02:2888:3888
    server.3=vm03:2888:3888
    公式:server.ID=host文件中設置的名稱,如果沒設置為IP:集群內通信的端口:選舉投票的端口
    4.在data文件夾下建myid文件,里面內容與ID相同
    
    5.關閉防火牆
    systemctl status firewalld  查看防火牆狀態
    systemctl stop firewalld  停止防火牆
    systemctl disable firewalld 禁止使用防火牆
    6.分別啟動三台虛擬機的zookeeper服務
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM