CentOS 8中安装部署Apache Kafka v2.8.1服务

发布时间:2021-11-24编辑:admin阅读(4)

Kafka是由LinkedIn开发的一个分布式的消息系统,可独立部署在单台服务器上,也可部署在多台服务器上构成集群。它提供了发布与订阅功能。用户可以发送数据到Kafka集群中,也可以从Kafka集群中读取数据。Kafka使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。本文将演示在CentOS 8中安装部署Kafka v2.8.1服务。一、下载Kafka 2.8.1执行如下命令进行下载:wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.13-2.8.1.tgz二、解压缩解压缩,然后移动到指定目录中。tar -zvxf kafka_2.13-2.8.1.tgzmv kafka_2.13-2.8.1 /usr/local/kafka-2.8.1三、修改server.properties 配置文件进入Kafka配置目录,修改server.properties文件。config/server.properties 配置文件中主要参数如下:broker.id是kafka broker的编号,集群里每个broker的id需不同。注意id必须是数字类型。listeners是监听地址,一般不需修改,或者写localhost。advertised.isteners是外网服务监听地址,要设置本地的IP地址。log.dirs是日志目录。设置zookeeper集群地址,在同一台服务器上搭建了kafka和zookeeper,所以填的本地地址。num.partitions 为新建Topic的默认Partition数量,partition数量提升,一定程度上可以提升并发性。下面,我们仅修改其中一项参数配置:vim server.properties设置日志存放路径:log.dirs=/usr/local/kafka-2.8.1/logs四、创建Zookeeper和Kafka启动、停止命令Kafka程序自带了Zookeeper,可以直接使用其自带的Zookeeper建立集群,也可以单独使用Zookeeper安装文件建立集群。这里我们使用自带Zookeeper作为示例部署单机模式。考虑到输入 zookeeper和kafka启动、停止命令比较麻烦,在kafka的bin目录中创建几个简单的命令。(1)zookeeper_start.sh#start zookeeper/usr/local/kafka-2.8.1/bin/zookeeper-server-start.sh /usr/local/kafka-2.8.1/config/zookeeper.properties &(2)zookeeper_stop.sh# stop zookeeper/usr/local/kafka-2.8.1/bin/zookeeper-server-stop.sh /usr/local/kafka-2.8.1/config/zookeeper.properties &(3)kafka_start.sh# start kafka/usr/local/kafka-2.8.1/bin/kafka-server-start.sh /usr/local/kafka-2.8.1/config/server.properties &(4)kafka_stop.sh# stop kafka/usr/local/kafka-2.8.1/bin/kafka-server-stop.sh /usr/local/kafka-2.8.1/config/server.properties &启动关闭脚本赋予权限,执行如下命令:chmod 777 kafka_start.shchmod 777 kafka_stop.shchmod 777 zookeeper_start.shchmod 777 zookeeper_stop.sh五、配置Kafka环境变量编辑/etc/profile文件:vim /etc/profile在文件底部增加如下设置:export KAFKA_HOME=/usr/local/kafka-2.8.1export PATH=$PATH:$KAFKA_HOME/bin然后,执行 source /etc/profile 使上述配置生效。六、启动zookeeper和kafka服务先启动zookeeper再启动kafkazookeeper_start.shkafka_start.sh使用jps命令查看是否启动成功:[root@centos-150 ~]# jps -l14736 sun.tools.jps.Jps13912 org.apache.zookeeper.server.quorum.QuorumPeerMain14303 kafka.Kafka上面显示已经启动成功了。七、测试创建topic和消息kafka-topics.sh 用来管理主题topic,如创建topic、查看topic、修改topic和删除topic等等。查看该命令行支持的参数:如下2个参数需要了解一下:--bootstrap-server 配置连接的kafka server。--zookeeper 标识该参数过时了,配置连接的Zookeeper server。Kafka 从 2.2 版本开始将 kafka-topic.sh 脚本中的 −−zookeeper 参数标注为 “过时”,推荐使用 −−bootstrap-server 参数。一定要注意两者参数值所指向的集群地址是不同的。(1)创建Topickafka-topics.sh --create --bootstrap-server centos-150:9092 --topic hello.topic --partitions 3 --replication-factor 1创建一个名为 topicName 的 hello.topic,其中指定分区个数为3,副本个数为1。(2)查看创建的Topickafka-topics.sh --describe --bootstrap-server centos-150:9092(3)发送消息kafka-console-producer.sh --broker-list centos-150:9092 --topic hello.topic其中 --broker-list 和 --topic 是两个必须提供的参数。--broker-list参数指定了所使用的broker。--topic参数指定了发送Topic的名称。可以通过免费的Offset Explorer工具查看Kafka集群中的topic和消息,如图所示:(4)接收消息kafka-console-consumer.sh --bootstrap-server centos-150:9092 --topic hello.topic --from-beginning其中:--bootstrap-server 必须指定,通常--topic也要指定查看的主题。如果想要从头消费消息,还可以指定--from-beginning参数。至此,能正常发送消息、正常接收消息证明Apache Kafka集群搭建成功了。如果需要停止zookeeper和kafka服务,可以执行前面创建的kafka_stop.sh和zookeeper_stop.sh命令。(此处已添加圈子卡片,请到今日头条客户端查看)

标签技术

评论