kafka3.0.0集群搭建

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka3.0.0集群搭建相关的知识,希望对你有一定的参考价值。

一、环境说明

1、服务器资源规划如下表:

IP地址主机名部署的资源
192.168.56.20conch01zookeeper、kafka
192.168.56.21conch02zookeeper、kafka
192.168.56.22conch03zookeeper、kafka

2、版本选择

软件版本号
jdkOpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz
zookeeperapache-zookeeper-3.6.3-bin.tar.gz
kafkakafka_2.12-3.0.0.tgz

二、软件上传以及安装jdk和zookeeper

1、首先将安装包全部上传到3台服务器的/home/dhapp/software/目录下

2、首先将jdk安装好(3台都安装)

 3、安装zookeeper(3台都安装)

        3.1、解压安装包

                tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz

                

         3.2、配置zookeeper的环境变量,vim /home/dhapp/.bash_profile

               

         3.3、促使配置生效

                source /home/dhapp/.bash_profile

        3.4、修改/home/dhapp/software/apache-zookeeper-3.6.3-bin/conf路径
                下 zoo_sample.cfg文件,将zoo_sample.cfg修改为zoo.cfg并且配置其内容。

                

                拷贝一份命名为zoo.cfg,留一个备份。

                配置zoo.cfg内容(3台服务器配置一样的):

                

                 配置参数解读 :

                 

         3.5、在/home/dhapp/software/apache-zookeeper-3.6.3-bin/目录下创建data目录
                 并且创建myid文件,填写指定的server

                cd /home/dhapp/software/apache-zookeeper-3.6.3-bin

                mkdir data

                创建myid文件,填写指定的server,这个文件里面有一个数据就是
                A 的值,Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置
                信息比较从而判断到底是哪个 server,我们这台是192.168.56.20就配置0即可

                

 

4、启动zookeeper服务器

    3台服务器上启动zookeeper,路径:/home/dhapp/software/apache-zookeeper-3.6.3-bin/

     启动命令:bin/zkServer.sh start     启动后查看状态命令:bin/zkServer.sh status        由上面可以发现我们的zookeeper集群启动成功,并且192.168.56.21是主,其它两个是从


三、安装kafka

 1、首先将安装包全部上传到3台服务器的/home/dhapp/software/目录下

 2、解压安装包

        tar -zxvf kafka_2.12-3.0.0.tgz

         

3、配置kafka环境变量,vim /home/dhapp/.bash_profile

                 

         促使其生效:source /home/dhapp/.bash_profile

4、进入到/home/dhapp/software/kafka_2.12-3.0.0/config/ 目录,
     修改server.properties配置文件

#broker 的全局唯一编号,不能重复,只能是数字。
broker.id=0

#处理网络请求的线程数量
num.network.threads=3

#用来处理磁盘 IO 的线程数量
num.io.threads=8

#发送套接字的缓冲区大小
socket.send.buffer.bytes=102400

#接收套接字的缓冲区大小
socket.receive.buffer.bytes=102400

#请求套接字的缓冲区大小
socket.request.max.bytes=104857600


############################# Log Basics #############################

#kafka 运行日志(数据)存放的路径,路径不需要提前创建,kafka 自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔
log.dirs=/home/dhapp/software/kafka_2.12-3.0.0/kafka-logs

#topic 在当前 broker 上的分区个数
num.partitions=1

#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1

############################# Internal Topic Settings  #############################
# 每个 topic 创建时的副本数,默认时 1 个副本
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

############################# Log Flush Policy #############################

#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168

#每个 segment 文件的大小,默认最大 1G
log.segment.bytes=1073741824

# 检查过期数据的时间,默认 5 分钟检查一次是否数据过期
log.retention.check.interval.ms=300000

############################# Zookeeper #############################

#配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理)
zookeeper.connect=192.168.56.20:2181,192.168.56.21:2181,192.168.56.22:2181/kafka

# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=18000


############################# Group Coordinator Settings #############################
group.initial.rebalance.delay.ms=0

注意:分别在 192.168.56.21和 192.168.56.22 上修改配置文件server.properties中的 broker.id=1、broker.id=2,注:broker.id 不得重复,整个集群中唯一。

5、启动kafka集群

依次在 conch01、conch02、conch03 节点上启动 Kafka

[dhapp@conch01 kafka_2.12-3.0.0]$ bin/kafka-server-start.sh -daemon config/server.properties
[dhapp@conch02 kafka_2.12-3.0.0]$ bin/kafka-server-start.sh -daemon config/server.properties
[dhapp@conch03 kafka_2.12-3.0.0]$ bin/kafka-server-start.sh -daemon config/server.properties

注意:配置文件的路径要能够到 server.properties。

查看kafka状态:

6、关闭集群方式

[dhapp@conch01 kafka_2.12-3.0.0]$ bin/kafka-server-stop.sh 
[dhapp@conch02 kafka_2.12-3.0.0]$ bin/kafka-server-stop.sh 
[dhapp@conch03 kafka_2.12-3.0.0]$ bin/kafka-server-stop.sh 

以上是关于kafka3.0.0集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

卧槽!Kafka 宣布弃用 Java 8。。

卧槽!Kafka 宣布弃用 Java 8。。

活久见!Kafka 宣布弃用 Java 8。。。

kafka消费者接收分区测试

kubekey搭建集群环境

ES集群原理与搭建