Centos7下Kafka安装与配置

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 教程

Centos7下Hadoop完全分布式集群Kafka安装


电脑系统:macOS 10.15.4

虚拟机软件:Parallels Desktop14

Hadoop各节点节点操作系统:CentOS 7

JDK版本:jdk1.8.0_162

Kafka版本:kafka_2.11-2.1.1

Kafka的下载源地址:


https://archive.apache.org/dist/kafka/2.1.1/

想详细了解kafka原理的点击这里!


第一步:安装软件


(1)上传文件

将本机的安装包上传到虚拟机node1,上传方式:

scp 本机的文件绝对路径 caizhengjie@10.211.55.59:/opt/Hadoop


(2)解压文件

上传成功之后需要对文件赋予权限

chmod u+x kafka_2.11-2.1.1.tar.gz

解压文件:

tar -zxvf kafka_2.11-2.1.1.tar.gz

创建软链接:

ln -s kafka_2.11-2.1.1 kafka


第二步:配置环境变量


声明:kafka不同的版本对应的配置文件可能不同,命令也不一样,所以在参考之前需要核对好自己的版本号,以免产生误会。

vim ~/.bashrc

然后添加以下内容,注意三台虚拟机都需要配置环境变量

export KAFKA_HOME=/opt/Hadoop/kafka
export PATH=${KAFKA_HOME}/bin:$PATH

最后使之生效

source ~/.bashrc


第三步:修改配置文件


kafka中修改配置文件主要是/opt/Hadoop/kafka/config中的server.properties


第一个地方:

# The id of the broker. This must be set to a unique integer for each broker.
broker.id=1

在node1中修改编号为1,node2中修改编号为2,node3中修改编号为3,以此类推

第二个地方:

# The address the socket server listens on. It will get the value returned from 
# java.net.InetAddress.getCanonicalHostName() if not configured.
#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://node1:9092
port=9092

这里根据自己的所在的主机名修改


第三个地方:


# Hostname and port the broker will advertise to producers and consumers. If not set, 
# it uses the value for "listeners" if configured.  Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://node1:9092

这里根据自己的所在的主机名修改

第四个地方:

# A comma separated list of directories under which to store log files
log.dirs=/opt/Hadoop/kafka/kafka-logs

这里需要在/opt/Hadoop/kafka/目录下创建一个kafka-logs文件夹

mkdir kafka-logs

第五个地方:

# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=node1:2181,node2:2181,node3:2181

zookeeper这里需要按照这里的格式写


第四步:分发配置文件


将node1的kafka_2.11-2.1.1和kafka_2.11-2.1.1.tar.gz文件分发到node2和node3上:

scp -r kafka_2.11-2.1.1 kafka_2.11-2.1.1.tar.gz caizhengjie@node2:/opt/Hadoop/
scp -r kafka_2.11-2.1.1 kafka_2.11-2.1.1.tar.gz caizhengjie@node3:/opt/Hadoop/

分别在node2和node3上创建软连接

ln -s kafka_2.11-2.1.1.tar.gz kafka

上传完之后要对node2,node3进行配置文件的修改,参考第三步


第五步:启动与检测


kafka的启动方式,需要进入到bin的上一级目录,也就是/opt/Hadoop/kafka

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

通过输入jps来查看进程1.png2.png3.png

出现kafka则表示安装成功


第六步:对Kafka进行消息测试


在测试之前,需要配置一下producer.properties文件,意思是配置生产者。

我在每一台机的/opt/Hadoop/kafka/config/producer.properties文件中修改

# list of brokers used for bootstrapping knowledge about the rest of the cluster
# format: host1:port1,host2:port2 ...
bootstrap.servers=node1:9092,node2:9092,node3:9092

(1)启动服务

首先要启动zookeeper,再启动kafka,三台要同时启动

启动zookeeper:

zkServer.sh start

启动kafka

在前台启动kafka,注意查看打印在桌面的日志,有无报错信息

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

如果没有报错信息,启动正常,那么就可以在后台启动了

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


(2)创建topic

创建一个分区和一个副本的“test”的topic

bin/kafka-topics.sh --create --zookeeper node1:2181,node2:2181,node3:2181 --replication-factor 1 --partitions 1 --topic te

这里有的朋友会问到,topic在哪里可以看到?那么我这里解释一下

首先进入到/opt/Hadoop/zookeeper/bin目录下

cd /opt/Hadoop/zookeeper/bin

然后执行zkCli.sh服务,会看到下图的页面

image.png

然后输入ls /,则下面就看到brokers,输入ls /brokers,则会看到

[zk: localhost:2181(CONNECTED) 2] ls /brokers
[ids, topics, seqid]

那么刚才所创建的test就在topics下,再次输入ls /brokers/topics,就会看到test

[zk: localhost:2181(CONNECTED) 3] ls /brokers/topics
[protest, test, __consumer_offsets]

输入quit则退出

还有一种方法,可以通过下面的命令查看

bin/kafka-topics.sh --list --zookeeper localhost:2181
bin/kafka-topics.sh --list --zookeeper node1:2181
__consumer_offsets
protest
test


(3)生产者发送消息

Kafka带有一个命令行客户端,它将从文件或标准输入中获取输入,并将其作为消息发送到Kafka集群。默认情况下,每行将作为单独的消息发送。运行生产者,然后在控制台中键入一些消息以发送到服务器。

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic test
>java
>python
>php
>hadoop
>linux
>


(4)消费者接收消息

Kafka还有一个命令行使用者,它将消息转储到标准输出。

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

在node2上操作:

bin/kafka-console-consumer.sh --bootstrap-server node1:9092,node2:9092,node3:9092 --from-beginning --topic test
java
python
php
hadoop
linux


相关文章
|
14天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
15天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
91 1
Linux系统之Centos7安装cockpit图形管理界面
|
23天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
65 3
|
24天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
42 2
|
26天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
77 2
|
24天前
|
消息中间件 存储 Prometheus
Kafka集群如何配置高可用性
Kafka集群如何配置高可用性
|
30天前
|
Linux 知识图谱
Centos7安装killall,fuser, killall,pstree和pstree.x11
通过上述步骤,您已在CentOS 7系统中成功部署了killall、fuser、pstree以及pstree.x11,为高效管理系统进程打下了坚实基础。更多关于服务器管理与优化的知识,获取全面技术支持与解决方案。
46 1
|
30天前
|
监控 安全 Linux
CentOS7下安装配置ntp服务的方法教程
通过以上步骤,您不仅能在CentOS 7系统中成功部署NTP服务,还能确保其配置合理、运行稳定,为系统时间的精确性提供保障。欲了解更多高级配置或遇到特定问题,提供了丰富的服务器管理和优化资源,可作为进一步学习和求助的平台。
66 1
|
12天前
|
存储 安全 Linux
VMware安装CentOS7
【11月更文挑战第11天】本文详细介绍了在 VMware 中安装 CentOS 7 的步骤,包括准备工作、创建虚拟机、配置虚拟机硬件和安装 CentOS 7。具体步骤涵盖下载 CentOS 7 镜像文件、安装 VMware 软件、创建和配置虚拟机硬件、启动虚拟机并进行安装设置,最终完成 CentOS 7 的安装。在安装过程中,需注意合理设置磁盘分区、软件选择和网络配置,以确保系统的性能和功能满足需求。
下一篇
无影云桌面