一、軟件準備
- centos6.9
- Jdk1.8
- kafka_2.11-0.10.0.0
- Zookeeper 3.4.8
二、網(wǎng)絡(luò)配置(所有節(jié)點)
修改hosts

重啟生效
三、關(guān)閉防火墻(所有節(jié)點)
臨時關(guān)閉防火墻
service iptables stop
四、免密登錄配置
略
五、安裝JDK(所有節(jié)點)
- 卸載自帶的jdk
- 解壓安裝jdk1.8
略
六、ntp配置
略
七、安裝zookeeper
- 在/opt中創(chuàng)建zookeeper項目目錄
#項目目錄
mkdir /opt/zookeeper
#存放快照日志
mkdir /opt/zookeeper/zkdata
#存放事物日志
mkdir /opt/zookeeper/zkdatalog
- 解壓
tar -zxvf zookeeper-3.4.8.tar.gz -C /opt/zookeeper/
- 修改配置文件
cd /opt/zookeeper/zookeeper-3.4.8/con
復制一份配置文件
cp zoo_sample.cfg zoo.cfg
修改配置文件,配置自動清理時間為72小時,保留文件數(shù)為3個

將zookeeper解壓文件分發(fā)到各個節(jié)點
scp -r /opt/zookeeper/zookeeper-3.4.8 noahdata05:/opt/zookeeper/
scp -r /opt/zookeeper/zookeeper-3.4.8 noahdata06:/opt/zookeeper/
- 創(chuàng)建myid文件
#server1
echo "1" > /opt/zookeeper/zkdata/myid
#server2
echo "2" > /opt/zookeeper/zkdata/myid
#server3
echo "3" > /opt/zookeeper/zkdata/myid
- 啟動服務(wù)(所有節(jié)點)
/opt/zookeeper/zookeeper-3.4.8/bin/zkServer.sh start
出現(xiàn)錯誤

解決方法:臨時關(guān)閉防火墻
service iptables stop
- 查看狀態(tài)
/opt/zookeeper/zookeeper-3.4.8/bin/zkServer.sh status
到此zookeeper安裝完成。
八、kafka安裝
- 解壓
tar -zxvf kafka_2.11-0.10.0.0.tgz -C /opt/kafka
創(chuàng)建kafka日志存放文件,并賦予權(quán)限
mkdir /opt/kafka/kafkalogs
chmod 777 /opt/kafka/kafkalogs
- 修改配置文件
vi /opt/kafka/kafka_2.11-0.10.0.0/config/server.properties
實際修改項:
broker.id=0 #每臺服務(wù)器的broker.id都不能相同
host.name=your_ip
advertised.host.name=your_ip(注意:如果使用云主機,該監(jiān)聽地址需要配置成外網(wǎng)映射ip,否則kafka將無法接收外部生產(chǎn)的數(shù)據(jù))
advertised.port=9092
#在log.retention.hours=168 下面新增下面三項
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
#設(shè)置zookeeper的連接端口
zookeeper.connect=noahdata04:12181,noahdata05:12181,noahdata06:12181
將配置好的文件分發(fā)到各個節(jié)點,進行修改
- 啟動服務(wù)
/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-0.10.0.0/config/server.properties &
- 測試
創(chuàng)建topic
/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-topics.sh --create --topic mytest --replication-factor 2 --partitions 2 --zookeeper noahdata04:12181,noahdata05:12181,noahdata06:12181
查看topic
/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-topics.sh --list --zookeeper noahdata04:12181,noahdata05:12181,noahdata06:12181
發(fā)送消息
/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-console-producer.sh --broker-list noahdata04:9092 --sync --topic mytest
接受消息,在另一個節(jié)點上查看
/opt/kafka/kafka_2.11-0.10.0.0/bin/kafka-console-consumer.sh --zookeeper noahdata04:12181,noahdata05:12181,noahdata06:12181 --topic mytest --from-beginning