一、安裝準備
1、修改系統配置
#關閉selinux、firewall
#修改/etc/security/limits.conf添加以下内容:
soft nofile 65536
hard nofile 65536
soft nproc 65536
hard nproc 65536
#修改/etc/security/limits.d/20-nproc.conf
3、建立賬戶、目錄
groupadd -g 800 kafka
useradd -u 800 -g kafka kafka
二、安裝步驟
1、解壓檔案
tar xvf kafka_2.12-1.0.0.tgz -C /usr/local/
cd /usr/local/
mv kafka_2.12-1.0.0/ kafka
mkdir /usr/local/kafka/log
chown -R kafka.kafka /usr/local/kafka
2、修改環境變量.bash_profile
#su - kafka
$vim .bash_profile
JAVA_HOME=/usr/local/jdk
CLASSPATH=$JAVA_HOME/lib
PATH=$JAVA_HOME/bin:$PATH:$HOME/bin:/usr/local/kafka/bin
export PATH JAVA_HOME CLASSPATH
#重新加載.bash_profile
$. .bash_profile
3、修改配置檔案
broker.id=0 每台伺服器的broker.id都不能相同
host.name=192.168.10.21
log.dirs=/usr/local/kafka/log
#在log.retention.hours=168 下面新增下面三項
message.max.byte=5242880
default.replication.factor=2
replica.fetch.max.bytes=5242880
#設定zookeeper的連接配接端口
zookeeper.connect=192.168.10.21:2181,192.168.10.22:2181,192.168.10.23:2181
4、啟動kafka
kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
三、測試
1、在任意機器上建一個topic,因為有三個kafka服務,是以這裡replication-factor設為3
kafka-topics.sh --create --zookeeper 192.168.10.23:2181 --replication-factor 3 -partitions 1 --topic 3test
Created topic "3test".
2、檢視topic,此時的leader kafka為1,repicas:叢集裡有三個kafka,Isr:正常使用的kafka
kafka-topics.sh --describe --zookeeper 192.168.10.21:2181
Topic:3test PartitionCount:1 ReplicationFactor:3 Configs:
Topic: 3test Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0
3、在2這台機器上開啟一個producer,往1這個kafka發消息
kafka-console-producer.sh --broker-list 192.168.10.22:9092 --topic 3test
this is a message to 132 broker
re?
4、停掉1的kafka,再次檢視topics,此時可用的Isr為0和2
Topic: 3test Partition: 0 Leader: 2 Replicas: 1,2,0 Isr: 2,0
5、在0上開啟一個consumer
kafka-console-consumer.sh --zookeeper 192.168.10.21:2181 --topic 3test --from-beginning
自此,發現停掉了132,依然能通過zookeeper從129和133的kafka上收到發往132的消息。
kafka叢集測試通過
參考博文:
<a href="http://www.cnblogs.com/younldeace/p/3796580.html">http://www.cnblogs.com/younldeace/p/3796580.html</a>
<a href="http://blog.csdn.net/u013214151/article/details/53495045">http://blog.csdn.net/u013214151/article/details/53495045</a>
本文轉自1321385590 51CTO部落格,原文連結:http://blog.51cto.com/linux10000/2062127,如需轉載請自行聯系原作者