kafka:linux 安装 kafka集群

本文详细介绍了在Linux系统中如何安装和配置Kafka、Zookeeper,包括下载对应版本,设置环境变量,修改配置文件,以及启动和检查服务状态。同时,文章还涵盖了安装Kafka-eagle这一可视化工具的过程,用于监控和管理Kafka集群,包括连接MySQL数据库的配置和启动方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kafka运行依赖于 jdk、zookeeper,kafka可视化工具选择kafka-eagle。所以要装的组件有:jdk、zookeeper、kafka、kafka-eagle

一、安装jdk

下载linux版本的jdk包,比如:jdk-8u192-linux-x64.tar.gz。

将其复制到 /opt 目录下并解压:tar -zxvf jdk-8u192-linux-x64.tar.gz

添加环境变量:vi /etc/profile 然后在末尾插入以下内容

export JAVA_HOME=/opt/jdk1.8.0_192

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$JAVA_HOME/bin:$PATH

再运行 source /etc/profile 重新加载环境变量即可,可用java -version测试jdk是否安装成功

二、安装运行zookeeper

1、下载zookeeper,下载地址:Apache ZooKeeper

这里为了测试对接方的kafka,直接选择下载旧版本的apache-zookeeper-3.5.8-bin.tar.gz,并将之复制到/opt/zookeeper目录下。

2、在/opt/zookeeper目录下运行以下命令启动zookeeper:

tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz
cd apache-zookeeper-3.5.8-bin
cp conf/zoo_sample.cfg conf/zoo.cfg
sh /opt/zookeeper/apache-zookeeper-3.5.8-bin/bin/zkServer.sh start

3、检查是否启动,使用 jps -l 可以看到zookeeper启动

4、若启动失败则可以看 /opt/zookeeper/apache-zookeeper-3.5.8-bin/logs下的日志

这里报8080端口被占用,就改下配置,配置文件为/opt/zookeeper/apache-zookeeper-3.5.8-bin/conf/zoo.cfg,再里面添加一行:admin.serverPort=8081,如下图所示:

再次启动:sh /opt/zookeeper/apache-zookeeper-3.5.8-bin/bin/zkServer.sh start,用jsp -l可以看到启动成功。

若需要关闭zookeeper,运行命令:sh /opt/zookeeper/apache-zookeeper-3.5.8-bin/bin/zkServer.sh stop

三、安装运行kafka

1、下载kafka,地址:Apache Kafka

将该文件复制到 /opt/kafka 文件夹中

2、修改配置文件,在/opt/kafka目录下运行以下命令:

tar -vxzf kafka_2.11-2.4.0.tgz
vi /opt/kafka/kafka_2.11-2.4.0/config/server.properties

修改server.properties如下属性:

broker.id=0
listeners=PLAINTEXT://192.168.189.128:9092
zookeeper.connect=192.168.189.128:2181
log.dirs=/opt/kafka/kafka_2.11-2.4.0/tmp/kafka-logs

3、启动kafka,具体命令如下:

启动:sh /opt/kafka/kafka_2.11-2.4.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-2.4.0/config/server.properties

查看日志:cat /opt/kafka/kafka_2.11-2.4.0/logs/server.log

停止:sh /opt/kafka/kafka_2.11-2.4.0/bin/kafka-server-stop.sh

可以看到kafka启动成功

4、在当前机器/opt/kafka目录类似上述操作,再复制或解压出两个kafka包,修改配置,然后启动即可。相关命令如下:

sh /opt/kafka/kafka_2.11-2.4.0/bin/kafka-server-stop.sh
rm -fr /opt/kafka/kafka_2.11-2.4.0/logs
rm -fr /opt/kafka/kafka_2.11-2.4.0/tmp
cp -rfp /opt/kafka/kafka_2.11-2.4.0 /opt/kafka/kafka_2.11-2.4.0_1
vi /opt/kafka/kafka_2.11-2.4.0_1/config/server.properties
sh /opt/kafka/kafka_2.11-2.4.0_1/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-2.4.0_1/config/server.properties
cp -rfp /opt/kafka/kafka_2.11-2.4.0 /opt/kafka/kafka_2.11-2.4.0_2
vi /opt/kafka/kafka_2.11-2.4.0_2/config/server.properties
sh /opt/kafka/kafka_2.11-2.4.0_2/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-2.4.0_2/config/server.properties

可以看到 zookeeper和3个kafka都启动了。

另外,可用zookeeper客户端查看kafka节点:

sh /opt/zookeeper/apache-zookeeper-3.5.8-bin/bin/zkCli.sh
ls /brokers/ids

注意,关闭kafka集群,只要运行其中一个kafka的bin目录下的kafka-server-stop.sh即可,但启动,需要将这些kafka的bin目录下的kafka-server-start.sh都运行。

以上这些步骤可以说kafka已经安装完毕了,就可以用各语言的API去连接kafka了。以下步骤安装kafka可视化工具:kafka-eagle。

四、安装运行kafka-eagle

  1. 下载kafka-eagle,下载地址:https://www.kafka-eagle.org/

将下载的文件(kafka-eagle-bin-2.1.0.tar.gz)放到 /opt/kafka-eagle目录下,并解压

tar -vxzf /opt/kafka-eagle/kafka-eagle-bin-2.1.0.tar.gz -C /opt/kafka-eagle
tar -vxzf /opt/kafka-eagle/kafka-eagle-bin-2.1.0/efak-web-2.1.0-bin.tar.gz -C /opt/kafka-eagle/kafka-eagle-bin-2.1.0
vi /opt/kafka-eagle/kafka-eagle-bin-2.1.0/efak-web-2.1.0/conf/system-config.properties

编辑内容如下:

efak.zk.cluster.alias=cluster1
cluster1.zk.list=192.168.189.128:2181
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://127.0.0.1:3306/ke?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=root

可以看到需要连接mysql,我这里是直接用docker安装运行mysql的,具体命令如下:

docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

2、设置环境变量:

vi /etc/profile

文件里添加如下变量:

export KE_HOME=/opt/kafka-eagle/kafka-eagle-bin-2.1.0/efak-web-2.1.0

KE_PATH=$PATH:$KE_HOME/bin

export KE_PATH

更新环境变量:

source /etc/profile

3、启动kafka-eagle:

sh /opt/kafka-eagle/kafka-eagle-bin-2.1.0/efak-web-2.1.0/bin/ke.sh start

启动成功,再访问网址:192.168.189.128:8048,账号:admin,密码:123456

可以看到页面能成功访问

kafka集群各节点的brokerid、ip和port都可以看到。

若要关闭efak,则运行命令:sh/opt/kafka-eagle/kafka-eagle-bin-2.1.0/efak-web-2.1.0/bin/ke.sh stop

### 关于在Linux系统上安装Kafka集群的步骤 #### 环境准备 选择适合的Linux操作系统,并确保已安装JDK。此外,准备好Zookeeper集群是必要的,因为Kafka集群依赖于Zookeeper进行协调管理[^1]。 #### 下载并解压Kafka安装包 从Apache Kafka官方网站下载最新版本的Kafka安装包,并将其解压缩至适当的位置。这一步骤对于后续配置至关重要[^4]。 #### 配置Kafka集群 进入Kafka配置目录,定位`server.properties`文件,并对其进行相应设置。重点在于调整Broker ID、监听端口号、日志保存路径以及指定Zookeeper地址等内容;特别注意的是,在多节点部署情况下要保证各Broker拥有独一无二的身份标识符(ID)。 ```bash # 修改 server.properties 文件示例 broker.id=0 listeners=PLAINTEXT://:9092 log.dirs=/tmp/kafka-logs zookeeper.connect=localhost:2181 ``` #### 启动Kafka集群 依次在各个节点上启动Kafka服务。利用官方提供的脚本来完成这项工作,并确认每台机器上的进程均已正确运行起来。可以通过命令行工具来检验是否一切正常运作。 ```bash # 启动Kafka Broker bin/kafka-server-start.sh config/server.properties & ``` #### 验证集群状态 借助Kafka自带或其他第三方客户端软件测试整个系统的健康状况。具体操作包括但不限于检查现有Topic列表、Partition分布情况及其Replica副本数量等细节信息,还有Producer与Consumer之间的交互情形也应纳入考量范围之内。 ```bash # 列出所有主题 bin/kafka-topics.sh --list --bootstrap-server localhost:9092 # 创建新主题 bin/kafka-topics.sh --create --topic test-topic --partitions 3 --replication-factor 1 --bootstrap-server localhost:9092 # 发送消息到特定主题 echo "This is a message" | bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092 # 消费来自某个主题的消息 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龙行天下_LXTX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值