Kafka集群安装「建议收藏」

Kafka集群安装「建议收藏」概览1.上传解压2.修改配置文件3.分发到其他节点下4.启动5.测试6.注意准备安装好ZookeeperJDK版本:1.8.0_141Kafka版本:kafka_2.12-1.1.0工具:Xshell5,Xftp51.上传解压首先在master(随意一台)的主机上的/usr下创建kafka文件夹作为安装路径[root@master~]#cd/usr/[roo…

大家好,又见面了,我是你们的朋友全栈君。

概览

1.上传解压
2.修改配置文件
3.分发到其他节点下
4.启动
5.测试
6.注意

准备

安装好Zookeeper
JDK版本:1.8.0_141
Kafka版本:kafka_2.12-1.1.0
工具:Xshell 5,Xftp 5

1.上传解压

首先在master(随意一台)的主机上的/usr下创建kafka文件夹作为安装路径

[root@master ~]# cd /usr/
[root@master usr]# ls
bin  etc  flume  games  hadoop  hbase  hive  include  java  lib  lib64  libexec  local  sbin  share  sqoop  src  tmp  zookeeper
[root@master usr]# mkdir kafka

然后利用Xftp将压缩包上传到/usr/kafka下并解压

[root@master usr]# cd kafka/

在这里插入图片描述

[root@master kafka]# ls
kafka_2.12-1.1.0.tgz
[root@master kafka]# tar -zxf kafka_2.12-1.1.0.tgz 

2.修改配置文件

修改 /usr/kafka/kafka_2.12-1.1.0/config/server.properties

[root@master kafka]# cd kafka_2.12-1.1.0/config/
[root@master config]# vim server.properties 

只修改broker.id和zookeeper就行

在这里插入图片描述
修改为
在这里插入图片描述
broker.id每台主机上都不一样

在这里插入图片描述
修改为
在这里插入图片描述
保存退出

这是比较详细的配置(其实只要按照上面的更改即可)

#broker的全局唯一编号,不能重复
broker.id=01
 
#用来监听链接的端口,producer或consumer将在此端口建立连接
port=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
 
#kafka消息存放的路径
log.dirs=/home/servers-kafka/logs/kafka
 
#topic在当前broker上的分片个数
num.partitions=2
 
#用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
 
#segment文件保留的最长时间,超时将被删除
log.retention.hours=168
 
#滚动生成新的segment文件的最大时间
log.roll.hours=168
 
#日志文件中每个segment的大小,默认为1G
log.segment.bytes=1073741824
 
#周期性检查文件大小的时间
log.retention.check.interval.ms=300000
 
#日志清理是否打开
log.cleaner.enable=true
 
#broker需要使用zookeeper保存meta数据
zookeeper.connect=master:2181,slave1:2181,slave2:2181
 
#zookeeper链接超时时间
zookeeper.connection.timeout.ms=6000
 
#partion buffer中,消息的条数达到阈值,将触发flush到磁盘
log.flush.interval.messages=10000
 
#消息buffer的时间,达到阈值,将触发flush到磁盘
log.flush.interval.ms=3000
 
#删除topic需要server.properties中设置delete.topic.enable=true否则只是标记删除
delete.topic.enable=true
 
#此处的host.name为本机IP(重要),如果不改,则客户端会抛出:Producerconnection to localhost:9092 unsuccessful 错误!
host.name=master

3.分发到其他节点下

[root@master config]# scp -r /usr/kafka/ root@slave1:/usr/

[root@master config]# scp -r /usr/kafka/ root@slave2:/usr/

然后分别在slave1和slave2上更改broker id

vim /usr/kafka/kafka_2.12-1.1.0/config/server.properties 

将broker id改为02和03

4.启动

确保防火墙关闭

首先全部启动Zookeeper,参考Zookeeper安装中的启动

再全部启动kafka

# 由于没配置环境变量,所以需要进入安装目录下启动
cd /usr/kafka/kafka_2.12-1.1.0
# 后台启动,最后加&
./bin/kafka-server-start.sh -daemon config/server.properties &

查看jps
在这里插入图片描述

5.测试

在master上创建topic-test

[root@master kafka_2.12-1.1.0]# ./bin/kafka-topics.sh --create --zookeeper master:2181,slave1:2181,slave2:2181 --replication-factor 3 --partitions 3 --topic test
Created topic "test".

在master,slave1,2上查看已创建的topic列表

./bin/kafka-topics.sh --list --zookeeper localhost:2181

在这里插入图片描述
在master上启动生产者

[root@master kafka_2.12-1.1.0]# ./bin/kafka-console-producer.sh --broker-list master:9092,slave1:9092,slave2:9092 --topic test

随意输入一些内容
在这里插入图片描述

在其他节点上启动控制台消费者

./bin/kafka-console-consumer.sh --bootstrap-server master:9092,slave1:9092,slave2:9092 --from-beginning --topic test

会出现
在这里插入图片描述

--from-beginning如果去掉不会出现消费者启动之前的消息

测试:在生产者输入内容,消费者查看消息

删除主题:

./bin/kafka-topics.sh --delete  --zookeeper localhost:2181  --topic test

6.注意

如果kafaka启动时加载的配置文件中server.properties没有配置delete.topic.enable=true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion

你可以通过命令:./bin/kafka-topics –zookeeper 【zookeeper server】 –list
来查看所有topic

此时你若想真正删除它,可以如下操作:
(1)登录zookeeper客户端:命令:./bin/zookeeper-client
(2)找到topic所在的目录:ls /brokers/topics
(3)找到要删除的topic,执行命令:rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。

另外被标记为marked for deletion的topic你可以在zookeeper客户端中通过命令获得:ls /admin/delete_topics/【topic name】,
如果你删除了此处的topic,那么marked for deletion 标记消失
zookeeper 的config中也有有关topic的信息: ls /config/topics/【topic name】暂时不知道有什么用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129932.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ubuntu中科大镜像源_中国科技大学开源镜像

    ubuntu中科大镜像源_中国科技大学开源镜像#vim/etc/apt/sources.list//修改网络镜像源文件debhttps://mirrors.ustc.edu.cn/ubuntu/bionicmainrestrict

    2022年8月2日
    36
  • 航天金税金税盘批量导入项目开发

    航天金税金税盘批量导入项目开发公司erp要实现发票导入到最新航天金税盘,数据接口文档下载地址:http://download.csdn.net/detail/y281252548/9567083不懂得联系我:免费  qq:281252548

    2022年6月4日
    58
  • MFC控件 — 进度条【案例】「建议收藏」

    MFC控件 — 进度条【案例】「建议收藏」打开游戏或者其他一些软件时,时常会看到刚开始时有一个进度条在加载,有点酷炫的感觉。对于MFC进度条的使用,下面用一个案例介绍一下。案例:进度条单步加载和自动连续加载步骤:1.按下图在对话框中添加一个进度条,一个编辑框,和3个按钮,并为进度条添加一个控件变量进度条变量:m_Progress2.在初始化函数中对进度条进行初始化,代码如下:BOOLCSpinDlg::OnInitDia…

    2022年7月16日
    19
  • java正则表达式语法例子_javascript正则表达式

    java正则表达式语法例子_javascript正则表达式匹配验证-验证Email是否正确publicstaticvoidmain(String[]args){//要验证的字符串Stringstr=”service@xsoftlab.net”;//邮箱验证规则StringregEx=”[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}”;//编译正则表达式Patternpattern=P

    2022年9月29日
    3
  • python读取、写入txt文本内容

    python读取、写入txt文本内容读取txt文本python常用的读取文件函数有三种read()、readline()、readlines()以读取上述txt为例,看一下三者的区别read()一次性读全部内容一次性读取文本中全部的内容,以字符串的形式返回结果withopen(“test.txt”,”r”)asf:#打开文件data=f.read()#读取文件…

    2022年6月2日
    58
  • CentOS 7安装图形化界面

    CentOS 7安装图形化界面在安装CentSO7时,如果选择“最小化安装“,那么系统只有命令行界面,没有图形化界面。有些小伙伴喜欢使用图形化界面,本文笔者带小伙伴们一起安装图形化界面。1、开启CentOS7以root用户登录(普通用户权限不够),如下图所示:2、配置网络网卡,确保与外网连通(后续要下载相应的包):在命令行界面输入命令cd/etc/sysconfig/network-scripts/进入network-scripts目录,再输入ls命令查看目录下的文件,我们可以看到ifcfg-ens32(有可能有区别)

    2022年5月20日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号