部署一个3节点的Kafka集群

前提条件:

  • 已经安装了 Java 环境(Kafka 是基于 Java 开发的)。
  • 已经有三台独立的服务器(节点),每台服务器有唯一的 IP 地址。

一 Java环境部署:

  1.1 官网下载jdk

Java下载官网icon-default.png?t=N7T8https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html

  1.2 解压jdk到/usr/local/下
tar -xzvf jdk-8u381-linux-x64.tar.gz -C /usr/local
  1.3 配置环境变量
vim /etc/profile进入编辑模式后,在末尾加入这段(JAVA_HOME为安装路径)

export JAVA_HOME=/usr/local/jdk1.8.0_381
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
  1.4 重新加载配置并测试
  • source /etc/profile
  • java -version  #出现版本即为成功

二 部署kafka集群步骤:

  2.1 下载 Kafka:

kafka下载官网icon-default.png?t=N7T8https://kafka.apache.org/downloads

  下载需要的 Kafka 版本:

  2.2 解压 Kafka:
  • 将下载的 Kafka 压缩包解压到每一台服务器上,得到 Kafka 的安装目录。
tar -xvf kafka_2.11-0.10.0.1.tgz -C /opt/
  2.3 配置 ZooKeeper:Kafka 集群依赖 ZooKeeper,因此需要配置 ZooKeeper。
   2.31 下载 zookeeper-3.5.4-beta.tar.gz,并解压到/opt/

zookeeper下载icon-default.png?t=N7T8https://archive.apache.org/dist/zookeeper/

 tar -zxvf zookeeper-3.5.4-beta.tar.gz -C /opt/

   2.32 编辑配置文件

cd /opt/zookeeper-3.5.4-beta/conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zoo/data
clientPort=2181

maxClientCnxns=500
server.0=192.168.10.110:2888:3888
server.1=192.168.10.119:2888:3888
server.2=192.168.10.120:2888:3888
mkdir -p /opt/zoo/{data,logs}
vim /opt/zoo/data/myid
三台机器的myid分别写入0,1,2

    2.33 启动zookeeper

 cd /opt/zookeeper-3.5.4-beta/bin/
 ./zkServer.sh start
# 查看启动状态
sh zkServer.sh status
#关闭
 ./zkServer.sh stop

  2.4 配置 Kafka:

   2.41修改配置文件

vim /opt/kafka_2.11-0.10.0.1/config/zookeeper.properties 

dataDir=/opt/zoo/data
#该目录是zookeeper配置的数据存放目录

vim /opt/kafka_2.11-0.10.0.1/config/server.properties

broker.id=0
#分别为0,1,2
#本机IP(kafka的监听地址和外界连接地址)
listeners=PLAINTEXT://192.168.10.110:9092
advertised.listeners=PLAINTEXT://192.168.10.110:9092
#zookeeper配置
zookeeper.connect=192.168.10.110:2181,192.168.10.119:2181,192.168.10.120:2181

  2.5 启动 Kafka: 

cd  /opt/kafka_2.11-0.10.0.1/bin/

./kafka-server-start.sh -daemon  ../config/server.properties

#关闭
./kafka-server-stop.sh

  2.5  创建 Topic:

使用 Kafka 提供的 kafka-topics.sh 脚本创建一个 Topic。例如:

/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

如果显示下面指令,代表创建topic成功

Created topic "test".

验证集群状态:

使用 Kafka 提供的 kafka-topics.shkafka-consumer-groups.sh 等脚本查看 Topic 和 Consumer Group 的状态,确保集群正常运行。

发送和消费消息:    使用 Kafka 提供的 kafka-console-producer.shkafka-console-consumer.sh 等脚本测试消息的发送和消费,确保消息在集群中正常流通。

请注意,以上步骤仅供参考,实际部署可能需要根据具体环境和需求进行调整。在生产环境中,还需要考虑安全性、性能调优等方面的配置。在部署前建议仔细阅读 Kafka 官方文档,并根据需要进行适当的修改和优化。