2017年8月9日 星期三

Install Zookeeper & Kafka On CentOS6

環境
Test-Kafka01    192.168.1.61
Test-Kafka02    192.168.1.62


服務 
Zookeeper 管理kafka , 同步檔案
Kafka         分散式資料叢集  
    


1. 安裝Java 1.8 


yum install java-1.8.0-openjdk.x86_64 -y

2. Zookeeper下載及解壓縮


wget http://ftp.mirror.tw/pub/apache/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz

tar -zxvf zookeeper-3.4.8.tar.gz -C /var/

3. 配置Zookeeper設定檔


vi /var/zookeeper-3.4.8/conf/zoo.cfg

tickTime=2000  
initLimit=10  
syncLimit=5  
clientPort=2181  
dataDir=/opt/zookeeper  
server.1=Test-Kafka01:2888:3888  
server.2=Test-Kafka02:2888:3888 


4. 配置Hosts

新增至兩台主機的/etc/hosts


192.168.1.61 Test-Kafka01
192.168.1.61 Test-Kafka02


5. 新增Zookeeper資料夾 & myid


mkdir -p /opt/zookeeper

(第一台)
echo "1" > /opt/zookeeper/myid

(第二台)
echo "2" > /opt/zookeeper/myid


6. 啟動zookpeer


/var/zookeeper-3.4.8/bin/zkServer.sh start

7, 檢查zookeeper是否正常啟動


/var/zookeeper-3.4.8/bin/zkServer.sh status
(回應 Follow 或是 Leader就是正常啟動)

(第一台)
/var/zookeeper-3.4.8/bin/zkCli.sh -server 127.0.0.1:2181

(建立mytest1目錄)
create /mytest1 test

(檢查mytest1是否存在)
ls /

(第二台)
/var/zookeeper-3.4.8/bin/zkCli.sh -server 127.0.0.1:2181

(檢查mytest1目錄是否同步到第二台)
ls /

8. kafka下載及解壓縮


wget http://apache.stu.edu.tw/kafka/0.10.2.0/kafka_2.12-0.10.2.0.tgz

tar -xzf kafka_2.12-0.10.2.0.tgz -C /opt


9. 建立kafka軟連結 及修改權限


cd /opt

ln -s kafka_2.12-0.10.2.0 kafka  

useradd kafka

chown kafka kafka


10. 配置kafka設定檔


vi /opt/kafka/config/server.properties
(修改下列設定)

broker.id=1            # 唯一,填数字,本文中分别为1 , 2
prot=9092            # 这个broker监听的端口 
log.dir=/data/kafka-logs  #  该目录可以不用提前创建,在启动时自己会创建
zookeeper.connect=192.168.1.61:2181,192.168.1.62:2181 #这个就是zookeeper的ip及端口
num.partitions=16         # 需要配置较大 分片影响读写速度
log.dirs=/data/kafka-logs # 数据目录也要单独配置磁盘较大的地方
log.retention.hours=168   # 时间按需求保留过期时间 避免磁盘满

11. 啟動kafka


/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties