環境
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下載及解壓縮
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
(第一台)
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