1. 程式人生 > >在CentOS 7上安裝Kafka集群

在CentOS 7上安裝Kafka集群

rop conf path nec zookeeper centos 7 top $path dir

一、安裝準備
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
  • soft nproc 65536
    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
kafka-topics.sh --describe --zookeeper 192.168.10.21:2181
Topic:3test PartitionCount:1 ReplicationFactor:3 Configs:
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
re?

自此,發現停掉了132,依然能通過zookeeper從129和133的kafka上收到發往132的消息。
kafka集群測試通過

參考博文:
http://www.cnblogs.com/younldeace/p/3796580.html
http://blog.csdn.net/u013214151/article/details/53495045

在CentOS 7上安裝Kafka集群