CentOS7 安裝zookeeper


本章介紹CentOS的初始配置與zookeeper的安裝。

 

www.apache.org/dist/上可以下載Hadoop整個生態環境的組件,我下的Zookeeper3.4.6版本

我一般都是在一個虛擬機上將一、二步都做完,然后克隆出來,再到克隆出來的虛擬機上分別配置,畢竟能省則省,不要重復勞動。

一、CentOS配置

 

在VMWare中每個虛擬機都選擇橋接模式。即可在網絡中獨立分配一個IP,每台機器單獨設定一個IP。

 

1. 配置hosts

vi /etc/hosts

192.168.1.150 hmaster0

192.168.1.151 hmaster1

192.168.1.152 hslave0

192.168.1.153 hslave1

192.168.1.154 hslave2

 

2. 關閉防火牆

systemctl status firewalld.service  #檢查防火牆狀態

systemctl stop firewalld.service  #關閉防火牆

systemctl disable firewalld.service  #禁止開機啟動防火牆

 

3. 關閉SELINUX

vi /etc/selinux/config

 

#SELINUX=enforcing  #注釋掉

#SELINUXTYPE=targeted  #注釋掉

SELINUX=disabled  #增加

 

4. 立即生效配置

setenforce 0  #使配置立即生效

 

5. 同步網絡時間

ntpdate cn.pool.ntp.org  #同步網絡時間

 

在設置完畢后,可以測試能否互相Ping通

二、 Java配置

下載一個Java壓縮包,我這里下載的是jdk-8u45-linux-x64.gz

 

1. 解壓Java包

mkdir /usr/java

tar -zxvf jdk-8u45-linux-x64.gz -C /usr/java/

rm -rf jdk-8u25-linux-x64.tar.gz

 

2. 配置JDK環境變量

vi /etc/environment

JAVA_HOME=/usr/java/jdk1.8.0_25

JRE_HOME=/usr/java/jdk1.8.0_25/jre

 

vi /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_45

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 

source /etc/profile  #使配置文件生效

java -version  #查看java版本

 

三、配置無密鑰的SSH訪問

首先講講無密鑰SSH,每台機器可以生成自己的一對公司鑰,私鑰自己保存。將本機作為服務器,要通過無密鑰SSH訪問本機的機器作為客戶端,首先將服務器的公鑰放到客戶端,客戶端將此公鑰放到authorized_keys中,可以將authorized_keys認為是公鑰的字典文件,因為可以放多個服務器的公鑰進去,即可實現無密鑰SSH訪問。

 

在此處為了方便,我將所有網內的節點機器都互相能SSH無密鑰登錄,可以理解為雙向無密鑰登錄。

首先得檢查是否有SSH服務,如果沒有就用yum安裝一個並啟動。此步省略。

 

1. 在每個虛擬機上都生成密鑰

ssh-keygen -t rsa  #生成密鑰,一路回車即可,只適用於測試環境,正式環境請設定密碼

 

2. 每個節點機器更改自己的密鑰名稱並傳輸到hmaster0機器上

例如在slave0機器上,其他機器類似,只是公鑰名稱有變動

cp ~/.ssh/id_rsa.pub ~/.ssh/hslave0.id_rsa.pub #修改名稱

scp ~/.ssh/hslave0.id_rsa.pub master:~/.ssh #傳輸至hmaster0機器上

 

3. 在hmaster0機器上生成統一的authorized_keys

cd ~/.ssh

cat id_rsa.pub >> authorized_keys #這個是hmaster0生成的公鑰,就在本機,不用改名稱,生成了就可以

cat hmaster1.id_rsa.pub >> authorized_keys  

cat hslave0.id_rsa.pub >> authorized_keys

...

直到hslave2也導入至authorized_keys

 

4. 將統一的authorized_keys分發至每個節點

scp authorized_keys hmaster1:~/.ssh #記得路徑是在~/.ssh下

...

直到hslave2

 

5. 修改配置文件(每台機器都要)

vi /etc/ssh/sshd_config

找到以下內容,並去掉注釋符”#“

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

 

vi /sbin/service sshd restart #重啟服務

 

6. 修改權限(每台機器都要)

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

 

如果不是root用戶,是另外的用戶例如A,則key文件在/home/A/.ssh中,/home/A 這個文件夾的權限改為755

chmod 755 /home/A

 

測試一下

已經不需要密碼可以登錄了

 

四、Zookeeper集群安裝

只在Slave節點機器上安裝

1. 解壓安裝包 

tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/

 

2. 編輯配置文件

具體的配置參數可以到官方文檔上查看

cd /opt/zookeeper-3.4.6/conf

cp zoo_sample.cfg zoo.cfg #將sample配置文件復制為正式的配置文件

vi zoo.cfg #開始編輯

dataDir=/home/zookeeper/data    #數據目錄
dataLogDir=/home/zookeeper/logs  #日志目錄
server.0=hslave0:2888:3888         
server.1=hslave1:2888:3888
server.2=hslave2:2888:3888
 
3. 創建目錄以及要Id文件

mkdir /home/zookeeper/data

mkdir /home/zookeeper/logs

 

vi /home/zookeeper/data/myid #創建myid文件,並編輯它,編輯的內容就是配置文件中server.后面跟着的號數。例如目前是在slave0機器上,則在myid文件中寫入0

 

4. 啟動節點(slave節點機器)

/opt/zookeeper-3.4.6/bin/zkServer.sh start

 


5. 檢查運行情況

/opt/zookeeper-3.4.6/bin/zkServer.sh status

在每個slave節點機器上運行此命令,會出現Follower和Leader

 


免責聲明!

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



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