千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 一步一步在CentOS7上搭建Kafka集群

一步一步在CentOS7上搭建Kafka集群

来源:千锋教育
发布人:xqq
时间: 2023-12-20 06:16:06 1703024166

在当今的互联网和大数据时代,消息队列架构成为了许多企业关注的焦点。比如,千亿日活的短视频应用——抖音,它的消息队列就是使用Kafka来完成的。Kafka作为一种高性能、高可靠性的消息中间件,为许多企业提供了很好的解决方案。在本文中,我们将带领您一步一步在CentOS 7上搭建Kafka集群,让您更好地了解Kafka的使用和应用。

一、准备工作

在开始之前,我们需要提前准备好一些工作:

1. 一台安装了CentOS 7的机器,并开启了网络连接。

2. JDK环境,Kafka需要JDK 1.8及以上版本,因此我们需要先安装JDK环境。

3. ZooKeeper,Kafka依赖于ZooKeeper,因此我们需要先安装好ZooKeeper。

二、安装JDK环境

我们可以从Oracle官网上下载JDK,这里我使用的是openjdk-8-jdk版本。在终端中输入以下命令进行安装:

sudo yum install -y java-1.8.0-openjdk-devel

然后,我们可以使用以下命令检查是否正确安装了JDK环境:

java -version

如果显示以下内容,则说明JDK环境已经安装成功:

openjdk version "1.8.0_232"OpenJDK Runtime Environment (build 1.8.0_232-b09)OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

三、安装ZooKeeper

在安装ZooKeeper之前,我们需要为其创建一个用户,并授权:

sudo useradd zookeeper -m -s /bin/bashsudo passwd zookeepersudo chown -R zookeeper:zookeeper /usr/local/zookeeper

接下来,我们可以从官网上下载ZooKeeper,这里我使用的是ZooKeeper 3.4.14版本。在终端中输入以下命令进行安装:

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gztar -zxvf zookeeper-3.4.14.tar.gzsudo mv zookeeper-3.4.14/ /usr/local/zookeeper

然后,我们需要创建ZooKeeper的配置文件:

sudo cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

现在,我们可以启动ZooKeeper了:

sudo /usr/local/zookeeper/bin/zkServer.sh start

可以使用以下命令检查是否正确启动了ZooKeeper:

sudo /usr/local/zookeeper/bin/zkServer.sh status

如果显示以下内容,则说明ZooKeeper已经启动成功:

Mode: standalone

四、安装Kafka

在安装Kafka之前,我们需要为其创建一个用户,并授权:

sudo useradd kafka -m -s /bin/bashsudo passwd kafkasudo chown -R kafka:kafka /usr/local/kafka

接下来,我们可以从官网上下载Kafka,这里我使用的是Kafka 2.4.1版本。在终端中输入以下命令进行安装:

wget http://mirror.bit.edu.cn/apache/kafka/2.4.1/kafka_2.12-2.4.1.tgztar -zxvf kafka_2.12-2.4.1.tgzsudo mv kafka_2.12-2.4.1/ /usr/local/kafka

然后,我们需要创建Kafka的配置文件:

sudo cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server-1.propertiessudo cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server-2.properties

现在,我们可以启动Kafka了。在终端中输入以下命令启动Kafka:

sudo /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server-1.propertiessudo /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server-2.properties

可以使用以下命令检查是否正确启动了Kafka:

sudo /usr/local/kafka/bin/kafka-server-stop.sh /usr/local/kafka/config/server-1.propertiessudo /usr/local/kafka/bin/kafka-server-stop.sh /usr/local/kafka/config/server-2.properties

如果显示以下内容,则说明Kafka已经启动成功:

[2020-03-05 22:10:26,773] INFO Kafka version: 2.4.1 (org.apache.kafka.common.utils.AppInfoParser:109)[2020-03-05 22:10:26,774] INFO Kafka commitId: c57222ae8cd7866b (org.apache.kafka.common.utils.AppInfoParser:110)[2020-03-05 22:10:26,781] INFO [KafkaServer id=1] started (kafka.server.KafkaServer:58)

五、创建主题和分区

在Kafka中,主题是消息的类别,可以将其理解为一个消息队列。分区是一个物理概念,可以将一个主题分成多个分区,每个分区保存着一部分消息,因此可以分别在不同的节点上存储数据,提高了消息的并发处理能力。在本文中,我们将为Kafka创建一个名为test的主题,并将其分成3个分区。在终端中输入以下命令:

sudo /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 2 --partitions 3 --topic test

然后,我们可以使用以下命令查看创建的主题信息:

sudo /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

如果显示以下内容,则说明主题和分区已经成功创建:

Topic:test PartitionCount:3 ReplicationFactor:2 Configs:    Topic: test Partition: 0 Leader: 1 Replicas: 1,2 Isr: 1,2    Topic: test Partition: 1 Leader: 2 Replicas: 2,1 Isr: 2,1    Topic: test Partition: 2 Leader: 1 Replicas: 2,1 Isr: 1,2

六、发送和接收消息

现在,我们已经成功创建了一个名为test的主题,并将其分成了3个分区。接下来,让我们来发送和接收一些消息。在终端中输入以下命令:

1. 启动一个Kafka生产者:

sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

此时,终端会进入等待消息输入的状态。

2. 启动一个Kafka消费者:

sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

此时,终端会输出已经发送的消息。

3. 在生产者终端中输入一些消息,比如:

hello kafka!

4. 在消费者终端中,会输出刚才发送的消息:

hello kafka!

至此,我们已经成功地在CentOS 7上搭建了Kafka集群,并成功地发送和接收了一些消息。Kafka作为一种高性能、高可靠性的消息中间件,为许多企业提供了很好的解决方案。通过本文的学习,相信读者已经对Kafka的使用和应用有了更好的了解。

以上就是IT培训机构千锋教育提供的相关内容,如果您有web前端培训鸿蒙开发培训python培训linux培训,java培训,UI设计培训等需求,欢迎随时联系千锋教育。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT