一、準(zhǔn)備三臺(tái)機(jī)器
這里我使用VirtualBox創(chuàng)建3個(gè)虛擬機(jī)來(lái)進(jìn)行部署zk集群,VirtualBox不了解的可自行百度;
二、部署linux系統(tǒng)
此處不講解linux部署,很簡(jiǎn)單,百度一下很多教程的
部署完直接重啟
三、配置網(wǎng)絡(luò)
這里設(shè)置為橋接網(wǎng)絡(luò)
切換root賬號(hào)
su -
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
動(dòng)態(tài)分配一個(gè)ip地址
ONBOOT=yes
service network restart
ip addr
設(shè)置靜態(tài)ip地址
BOOTPROTO=static
IPADDR=192.168.31.250
NETMASK=255.255.255.0
GATEWAY=192.168.31.1
service network restart
配置DNS
檢查NetManager的狀態(tài):systemctl status NetworkManager.service
檢查NetManager管理的網(wǎng)絡(luò)接口:nmcli dev status
檢查NetManager管理的網(wǎng)絡(luò)連接:nmcli connection show
上面檢查部分視情況可跳過(guò)
設(shè)置dns:nmcli con mod enp0s3 ipv4.dns "114.114.114.114 8.8.8.8"
讓dns配置生效:nmcli con up enp0s3
在SecureCRT上新建連接
四、關(guān)閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
五、配置host
vi /etc/hosts
六、配置免密碼互相通信
ssh-keygen -t rsa
生成本機(jī)的公鑰,過(guò)程中不斷敲回車即可,ssh-keygen命令默認(rèn)會(huì)將公鑰放在/root/.ssh目錄下
cd /root/.ssh
cp id_rsa.pub authorized_keys
將公鑰復(fù)制為authorized_keys文件,此時(shí)使用ssh連接本機(jī)就不需要輸入密碼了
使用ssh-copy-id -i hostname命令將本機(jī)的公鑰拷貝到指定機(jī)器的authorized_keys文件中
在將zk01的authorized_keys文件內(nèi)容復(fù)制到其他機(jī)器的相同目錄下
七、官網(wǎng)下載相應(yīng)版本壓縮包
官網(wǎng)地址:
http://zookeeper.Apache.org/releases.html
八、上傳至linux
先在linux上安裝rzsz軟件,命令是yum install lrzsz -y
rz
九、安裝zk
tar -zxvf zookeeper-3.4.9.tar.gz
mv zookeeper-3.4.9 zookeeper
vi ~/.bashrc
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source ~/.bashrc
vi zoo.cfg ($ZOOKEEPER_HOME/conf)
dataDir=/home/data/zookeeper
dataLogDir=/home/log/zookeeper
server.1=zk01:2888:3888
server.2=zk02:2888:3888
server.3=zk03:2888:3888
mkdir -p /home/data/zookeeper
mkdir -p /home/log/zookeeper
cd /home/data/zookeeper
echo 1 > myid
scp -r /usr/local/zookeeper hadoop04:/usr/local ,修改環(huán)境變量,在zk02將myid的內(nèi)容改為2 (echo 2 > myid)
scp -r /usr/local/zookeeper hadoop05:/usr/local,修改環(huán)境變量,在zk03將myid的內(nèi)容改為3 (echo 3 > myid)
三臺(tái)機(jī)器上執(zhí)行:zkServer.sh start
查看集群狀態(tài)
1、jps(查看進(jìn)程)
2、zkServer.sh status(查看集群狀態(tài),主從信息)