Linux单机安装kafka

Linux单机安装kafka

kafka中文文档:

https://kafka.apachecn.org/

一、下载kafka

下载kafka两种方式
1、手动下载 下载地址:

http://kafka.apache.org/downloads

选择适合的版本进行下载,目前最新版本时kafka_2.13-2.7.0
在这里插入图片描述
下载好了然后上传服务器。

2、也可以用命令下载(直接下载到服务器哦!):
命令:wget https://mirror.bit.edu.cn/apache/kafka/2.7.0/kafka_2.13-2.7.0.tgz

二、解压kafka:

我的安装目录为/usr/local/kafka/,在该目录文件中执行
命令:tar -xzvf kafka_2.13-2.7.0.tgz

三、修改server.properties文件

在/usr/local/kafka/kafka_2.13-2.7.0/config目录下输入
命令:vi server.properties

修改内容为:
############################# Server Basics #############################
# broker 的全局唯一编号,不能重复
broker.id=0
############################# Socket Server Settings #############################
# 配置监听,修改为本机ip
advertised.listeners=PLAINTEXT://10.10.54.198:9092   
# 处理网络请求的线程数量,默认
num.network.threads=3
# 用来处理磁盘IO的线程数量,默认
num.io.threads=8
# 发送套接字的缓冲区大小,默认
socket.send.buffer.bytes=102400
# 接收套接字的缓冲区大小,默认
socket.receive.buffer.bytes=102400
# 请求套接字的缓冲区大小,默认
socket.request.max.bytes=104857600
############################# Zookeeper #############################
# 配置zookeeper连接地址
zookeeper.connect=localhost:2181
############################# Log Basics #############################
# kafka 运行日志存放路径
log.dirs=/usr/local/kafka/kafka_2.13-2.7.0/log/kafka
# topic 在当前broker上的分片个数,与broker保持一致
num.partitions=3
# 用来恢复和清理data下数据的线程数量,默认
num.recovery.threads.per.data.dir=1
############################# Log Retention Policy #############################
# segment文件保留的最长时间,超时将被删除,默认
log.retention.hours=168
# 滚动生成新的segment文件的最大时间,默认
log.roll.hours=168

由于我修改了日志存放地址 我需要创建一个文件夹

mkdir /usr/local/kafka/kafka_2.13-2.7.0/log              #创建日志目录
mkdir /usr/local/kafka/kafka_2.13-2.7.0/log/kafka        #创建kafka日志目录

四、修改zookeeper.properties文件

进入kafka目录下 config目录下输入命令:vi zookeeper.properties

```bash
#修改为自定义的zookeeper数据目录
dataDir=/usr/local/kafka/kafka_2.13-2.7.0/zookeeper
#修改为自定义的zookeeper日志目录
dataLogDir=/usr/local/kafka/kafka_2.13-2.7.0/log/zookeeper 
# 端口
clientPort=2181
#注释掉
#maxClientCnxns=0

由于我修改了默认的数据目录地址和日志目录需要创建文件夹

首先新建kafka的日志目录和zookeeper数据目录,因为这两项默认放在tmp目录,而tmp目录中内容会随重启而丢失,所以我们自定义以下目录:
mkdir /usr/local/kafka/kafka_2.13-2.7.0/zookeeper        #创建zookeeper数据目录
mkdir /usr/local/kafka/kafka_2.13-2.7.0/log              #创建日志目录
mkdir /usr/local/kafka/kafka_2.13-2.7.0/log/zookeeper    #创建zookeeper日志目录

五、修改完之后就可以启动zookeeper和kafka了。

直接敲命令感觉有些low呀。弄一个脚本命令吧: 启动脚本:
进入kafka目录下 输入命令:vi kafkaStart.sh

添加内容为:
#!/bin/bash
#启动zookeeper
/usr/local/kafka/kafka_2.13-2.7.0/bin/zookeeper-server-start.sh /usr/local/kafka/kafka_2.13-2.7.0/config/zookeeper.properties &
sleep 3  #默默等3秒后执行 
#启动kafka
/usr/local/kafka/kafka_2.13-2.7.0/bin/kafka-server-start.sh /usr/local/kafka/kafka_2.13-2.7.0/config/server.properties &

添加脚本执行权限:
在刚创建的脚本目录许下执行以下
命令:chmod +x kafkastart.sh(启动脚本名称)

相关Linux命令及shell脚本可以关注我的 "Linux从入门到放弃 "专栏

六、启动kafka

注意:本地环境必须安装了Java 8+。

1、先启动zookeeper(脚本方式启动则不用单独启动zookeeper)。

在kafka目录(即kafka_2.13-2.7.0)下输入  启动命令:nohup bin/zookeeper-server-start.sh config/zookeeper.properties >log/zookeeper/zookeeper.log 2>1 &

2、启动kafka

在kafka目录(即kafka_2.13-2.7.0)下输入 启动脚本命令:nohup bin/kafka-server-start.sh config/server.properties >log/kafka/kafka.log 2>1 &

七、创建topic 出现Created topid test 则创建成功

命令:在kafka 目录(即kafka_2.13-2.7.0)下bin目录下执行:
test是topic名字可以随便换。
bin/kafka-topics.sh --create --topic test   --bootstrap-server localhost:9092

查询创建的top主题 出现test则为正常

命令:在kafka 目录(即kafka_2.13-2.7.0)下bin目录下执行:
bin/kafka-topics.sh --list --zookeeper localhost:2181

查询topic的信息

bin/kafka-topics.sh --describe --topic test --bootstrap-server localhost:9092

删除创建的topic

命令:在kafka 目录(即kafka_2.13-2.7.0)下bin目录下执行:
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic   要删除的topic名称

八、测试生成者(test topic):

命令:在kafka 目录(即kafka_2.13-2.7.0)下bin目录下执行:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

九、测试消费者 启动另一个xsheel窗口 这样效果更明显哦!(test topic):

命令:在kafka(即kafka_2.13-2.7.0) 目录下bin目录下执行:
--from-beginning 从最早开始消费
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

十、到此结束kafka单机版本

ps -ef | grep kafka
kill -9  kafka进程号
ps -ef | grep zookeeper
kill -9  zookeeper进程号

注意:一定要先关闭kafka在关闭zookeeper !!! 如果先关闭zookeeper kafka会一直去连接zookeeper服务 进入死循环了。 如果进入死循环有两种解决办法:

1、重启服务
shutdown -h 10          #计算机将于10分钟后关闭,且会显示在登录用户的当前屏幕中
shutdown -h now       #计算机会立刻关机
shutdown -h 22:22     #计算机会在这个时刻关机
shutdown -r now        #计算机会立刻重启
shutdown -r +10         #计算机会将于10分钟后重启
reboot                           #重启
halt                                #关机

2、新打开一个xsheel窗口 然后把kafka杀掉。

(完)
---------------------------------欢迎留言--------------------------------------------
---------------------如果对你有帮助,请点个赞---------------------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

厌学的小骚年

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

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

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

打赏作者

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

抵扣说明:

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

余额充值