0
点赞
收藏
分享

微信扫一扫

Linux下安装kafka

本文主要介绍如何在Centos7下安装kafka。本文使用的kafka版本是:2.8.0

  • 安装JDK
  • 下载安装zookeeper
  • 下载安装kafka
  • 设置开机自动启动

 

一、安装JDK

在安装kafka之前必须先安装JDK和zookeeper,如何安装JDK,可以查看:​​Linux下安装ELK详细教程 - JcongJason - 博客园 (cnblogs.com)​​

 

二、下载安装zookeeper

如何在linux下安装zookeeper,这里不再赘述,上一篇博客已经详细介绍过,需要的朋友可以查看:​​Linux下安装zookeeper - JcongJason - 博客园 (cnblogs.com)​​

 

三、下载安装kafka

3.1 通过官网直接下载:​​Apache Kafka​​

// 进入需要下载的目录
cd /data

// 下载kafka
wget https://mirrors.bfsu.edu.cn/apache/kafka/2.8.0/kafka_2.12-2.8.0.tgz

3.2 解压并进入kafka目录

tar -xzf kafka_2.12-2.8.0.tgz
cd kafka_2.12-2.8.0

3.3 启动kafka

3.3.1 启动kafka之前要确保zookeeper已经启动,如果没有启动,执行以下命令:

zkServer.sh

3.3.2 启动kafka之前,需要修改kafka配置文件中的zookeeper地址,打开配置文件:

vi config/server.properties

修改zookeeper.connect=192.168.1.202:2081(这里修改成自己安装的zookeeper地址和端口即可),除了修改zookeeper服务地址外,还有其他配置项,如日志储存路径、消息的最大持久化时间、端口等等,这里不再赘述,有兴趣的朋友可以查看我以前的一篇博客

​​windows环境安装kafka - JcongJason - 博客园 (cnblogs.com)​​ 里面已经详细说明过。

3.3.3 启动kafka

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

 

四、设置开机自动启动

4.1 切换到/lib/systemd/system/目录,创建自启动文件

cd /lib/systemd/system/
vi kafka.service

文件内容如下:

[Unit]
Description=kafkaservice
After=network.target

[Service]
WorkingDirectory=/data/kafka_2.12-2.8.0
ExecStart=/data/kafka_2.12-2.8.0/bin/kafka-server-start.sh config/server.properties
ExecStop=/data/kafka_2.12-2.8.0/bin/kafka-server-stop.sh
User=root
Group=root
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

4.2 设置自启动

systemctl enable kafka.service

4.3 立即启动服务

systemctl start kafka.service

4.4 查看启动状态

systemctl status kafka.service

Linux下安装kafka_下载安装

 

五、相关问题及解决方案

5.1 Kafka Tools连接不上远程kafka

今天使用Kafka Tools连接阿里云服务器上的kafka时一直连不上 报如下错误:

 

Linux下安装kafka_kafka_02

 

 

解决方法:

修改kafka配置文件config/server.properties

把31行的注释去掉,listeners=PLAINTEXT://:9092

把36行的注释去掉,把advertised.listeners值改为PLAINTEXT://host_ip:9092 host_ip为你服务器的ip

修改完配置文件后重启kafka 就可以连上了

5.2 kafka服务自动关闭问题

情况1:使用官方文档上的命令启动,ctrl+c退出后,服务进程关闭。

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

情况2:增加&符后台允许,ctrl+c后进程存在,但是退出服务器控制台后,服务进程关闭。

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

 

解决方案:

方案一:(以守护进程的方式启动)启动命令中增加“-daemon”参数,启动服务守护线程,防止进程关闭。

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

内置zk server同理。

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties &

​方案二:(以不挂起的方式启动)在系统后台不挂断地运行命令,退出终端不会影响程序的运行。​

​先启动Zookeeper​

nohup ./bin/zookeeper-server-start.sh ./config/zookeeper.properties > logs/zk.log 2>&1 &

​启动kafka​

nohup ./bin/kafka-server-start.sh ./config/server.properties > /dev/null 2>&1 &

 至此,linux安装kafka就完成了!

 

举报

相关推荐

0 条评论