天天看點

在CentOS 7上安裝Kafka叢集

一、安裝準備

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,如需轉載請自行聯系原作者

繼續閱讀