master 192.168.21.161
slave1 192.168.21.162
slave2 192.168.21.163java
Centos7
jdk-8u171-linux-x64.tar.gz
zookeeper-3.4.14linux
獲取JDKapache
wget https://repo.huaweicloud.com/java/jdk/8u171-b11/jdk-8u171-linux-x64.tar.gz
獲取zookeepersegmentfault
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
修改/etc/sysconfig/network文件服務器
NETWORKING=yes HOSTNAME=master
master主機的HOSTNAME=master, slave1主機的HOSTNAME=slave1, slave2主機的HOSTNAME=slave2ssh
修改三臺主機的/etc/hosts文件內容。其中IP地址爲各主機實際的IP地址spa
192.168.21.161 master master.root 192.168.21.162 slave1 slave1.root 192.168.21.163 slave2 slave2.root
reboot
systemctl stop firewalld systemctl status firewalld
確保防火牆關閉code
時間同步的具體設置和處理請參照以前的文章
Linux下ntp時間服務器配置server
(1)生成密鑰(三臺主機)blog
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
能夠看到在~/.ssh/目錄下生成了id_dsa,id_dsa.pub文件
(2)在master主機將slave1,slave2的id_dsa.pub文件copy到master下
mkdir tmp cd tmp scp root@slave1:~/.ssh/id_dsa.pub ./2 scp root@slave2:~/.ssh/id_dsa.pub ./3
(3)合併master,slave1,slave2的id_dsa.pub文件爲authorized_keys
cat ~/.ssh/id_dsa.pub >> authorized_keys cat ./2 >> authorized_keys cat ./3 >> authorized_keys
authorized_keys文件的內容以下
(4)將authorized_keys文件copy到master, slave1, slave2的/root/.ssh目錄下
cp ./authorized_keys ~/.ssh/ scp ./authorized_keys root@slave1:~/.ssh/ scp ./authorized_keys root@slave2:~/.ssh/
如今在master上ssh slave1,ssh slave2就能夠免密碼直接登錄了。一樣slave1,slave2一樣也能夠免密碼登錄別的主機
(1)解壓
mkdir -p /usr/java tar -xzvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
(2)修改環境變量
vi /etc/profile
添加以下內容
export JAVA_HOME=/usr/java/jdk1.8.0_171 export CLASSPATH=$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin export PATH JAVA_HOME CLASSPATH
(3)生效
source /etc/profile
(1) 解壓文件
mkdir -p /usr/zookeeper tar -xzvf zookeeper-3.4.14.tar.gz -C /usr/zookeeper/
(2) 建data和log目錄
cd /usr/zookeeper/zookeeper-3.4.14/ mkdir zkdata mkdir zkdatalog
(3) 修改配置
cd /usr/zookeeper/zookeeper-3.4.14/conf cp zoo_sample.cfg zoo.cfg
修改zoo.cfg,確保以下內容
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/usr/zookeeper/zookeeper-3.4.14/zkdata clientPort=2181 dataLogDir=/usr/zookeeper/zookeeper-3.4.14/zkdatalog server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888
在master主機,/usr/zookeeper/zookeeper-3.4.14/zkdata下建立myid內容1
(5) 將master主機下zookeeper複製分發到slave1,slave2
scp -r /usr/zookeeper root@slave1:/usr/ scp -r /usr/zookeeper root@slave2:/usr/
(7)配置環境變量(三臺主機)
vi /etc/profile
添加以下內容
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.14 PATH=$PATH:$ZOOKEEPER_HOME/bin
執行
source /etc/profile
配置生效
(8)啓動zookeeper(三臺主機)
cd /usr/zookeeper/zookeeper-3.4.14/ ./bin/zkServer.sh start ./bin/zkServer.sh status
能夠看到一臺主機爲leader,兩臺主機爲follower