Centos7.6部署kafka2.5.0+zookeeper3.6.1集羣

集羣規劃:java

三臺服務器各部署一個kafka集羣節點、一個zookeeper集羣節點。node

服務器linux

zookeeper角色apache

kafka角色bootstrap

ipbash

node1服務器

masterapp

broker:0tcp

192.168.146.199ide

node2

follower

broker:1

192.168.146.200

node3

follower

broker:2

192.168.146.201



PS:命令行開頭爲#表示在全部主機上操做,命令行開後爲具體主機名則表示在該主機上操做。


一、三臺服務器基礎設置

設置主機名:

# hostnamectl --static set-hostname node1/node2/node3
# vi /etc/hosts
192.168.146.199 node1
192.168.146.200 node2
192.168.146.201 node3


時區調整,時間校準:

# date -R
# timedatectl set-timezone Asia/Shanghai
# yum -y install ntp
# ntpdate ntp1.aliyun.com


安裝wget:

$ yum install -y wget


關閉selinux:

# vi /etc/sysconfig/selinux
SELINUX=disabled


重啓服務器並驗證:

# getenforce
Disabled


設置防火牆

開放zookeeper相關端口2181,2888,3888

# firewall-cmd --zone=public --add-port=2181/tcp --permanent
success
# firewall-cmd --zone=public --add-port=2888/tcp --permanent
success
# firewall-cmd --zone=public --add-port=3888/tcp --permanent
success


開放kafka相關端口9092

# firewall-cmd --zone=public --add-port=9092/tcp --permanent
success


reload 防火牆配置使其生效

# firewall-cmd --reload
success



二、基礎環境安裝

安裝JDK環境

# yum install java-1.8.0-openjdk
# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)


建立目錄與文件

# mkdir -p /var/zookeeper/log
# touch /var/zookeeper/myid
# mkdir -p /var/log/kafka



三、安裝zookeeper

# cd /opt
# wget http://archive.apache.org/dist/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
# tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz
# mv apache-zookeeper-3.6.1-bin zookeeper-3.6.1


複製模板

# mv /opt/zookeeper-3.6.1/conf/zoo_sample.cfg /opt/zookeeper-3.6.1/conf/zoo.cfg


修改配置文件

# vi /opt/zookeeper-3.6.1/conf/zoo.cfg
dataDir=/var/zookeeper
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

[root@node1 opt]# echo 1 > /var/zookeeper/myid
[root@node2 opt]# echo 2 > /var/zookeeper/myid
[root@node3 opt]# echo 3 > /var/zookeeper/myid



四、安裝kafka

# cd /opt
# wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.5.0/kafka_2.13-2.5.0.tgz
# tar -zxvf kafka_2.13-2.5.0.tgz


修改配置文件

[root@node1 opt]# vi /opt/kafka_2.13-2.5.0/config/server.properties
broker.id=0
log.dirs=/var/log/kafka
zookeeper.connect=node1:2181,node2:2181,node3:2181

[root@node2 opt]# vi /opt/kafka_2.13-2.5.0/config/server.properties
broker.id=1
log.dirs=/var/log/kafka
zookeeper.connect=node1:2181,node2:2181,node3:2181

[root@node3 opt]# vi /opt/kafka_2.13-2.5.0/config/server.properties
broker.id=2
log.dirs=/var/log/kafka
zookeeper.connect=node1:2181,node2:2181,node3:2181



五、啓動和關閉zookeeper

# /opt/zookeeper-3.6.1/bin/zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.6.1/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

[root@node1 opt]# /opt/zookeeper-3.6.1/bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.6.1/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

[root@node2 opt]# /opt/zookeeper-3.6.1/bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.6.1/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

[root@node3 opt]# /opt/zookeeper-3.6.1/bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.6.1/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader


關閉方法

# /opt/zookeeper-3.6.1/bin/zkServer.sh stop


查看日誌

# tail -f /opt/zookeeper-3.6.1/logs/zookeeper-root-server-node{myid}.out



六、啓動和關閉kafka

# /opt/kafka_2.13-2.5.0/bin/kafka-server-start.sh /opt/kafka_2.13-2.5.0/config/server.properties 1>/dev/null 2>&1 &
# tail -f /opt/kafka_2.13-2.5.0/logs/server.log
關閉方法
# /opt/kafka_2.13-2.5.0/bin/kafka-server-stop.sh



七、測試

# cd /opt/kafka_2.13-2.5.0


建立topic

[root@node1 kafka_2.13-2.5.0]# bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 3 --partitions 3 --topic gxm-test
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
Created topic gxm-test.


查看topic

[root@node2 kafka_2.13-2.5.0]# bin/kafka-topics.sh --describe --zookeeper node1:2181,node2:2181,node3:2181 --topic gxm-test
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
Topic: gxm-test    PartitionCount: 3    ReplicationFactor: 3    Configs:
    Topic: gxm-test    Partition: 0    Leader: 1    Replicas: 1,2,0    Isr: 1,2,0
    Topic: gxm-test    Partition: 1    Leader: 2    Replicas: 2,0,1    Isr: 2,0,1
    Topic: gxm-test    Partition: 2    Leader: 0    Replicas: 0,1,2    Isr: 0,1,2


列出topic

[root@node3 kafka_2.13-2.5.0]# bin/kafka-topics.sh --list --zookeeper node1:2181,node2:2181,node3:2181
OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N
gxm-test


在node1建立 producer測試

[root@node1 kafka_2.13-2.5.0]# bin/kafka-console-producer.sh --broker-list node1:9092 -topic gxm-test


在node2建立 consumer測試

[root@node2 kafka_2.13-2.5.0]# bin/kafka-console-consumer.sh --bootstrap-server node2:9092 -topic gxm-test --from-beginning


在node3上建立 consumer測試

[root@node3 kafka_2.13-2.5.0]# bin/kafka-console-consumer.sh --bootstrap-server node2:9092 -topic gxm-test --from-beginning


刪除topic

[root@node1 kafka_2.13-2.5.0]#  bin/kafka-topics.sh --delete --zookeeper node1:2181,node2:2181,node3:2181 --topic gxm-test
相關文章
相關標籤/搜索