当前位置: 首页 > news >正文

Java配置41-搭建Kafka服务器

目录

1.服务器环境

2.安装kafka

1)上传安装介质

2)解压安装

3)修改配置文件

4)启动zookeeper

5)启动kafka

6)测试

​​​​​


1.服务器环境

系统版本:Red Hat Enterprise Linux Server release 6.8

2.安装kafka

1)上传安装介质

kafka官网:https://kafka.apache.org/

2)解压安装

解压命令:

sudo tar -xzvf kafka_2.12-1.1.0.tgz

3)修改配置文件

解压完成后,进入解压后的目录。

cd kafka_2.12-1.1.0

切至config

cd config

修改前备份

sudo cp server.properties server.properties.20182728.bak

修改文件

sudo vim server.properties

修改zookeeper.connect

Zookeeper默认的端口号是2181,这里填写本机IP加2181端口即可。

然后,再增加以下几行:

#kafka端口

port=9092

#kafka主机名

host.name=ip(注意修改)

listeners=PLAINTEXT://ip:9092

advertised.listeners=PLAINTEXT://ip:9092

备注:listeners一定要配置成为IP地址;如果配置为localhost或服务器的hostname,在使用java发送数据时就会抛出异 常:org.apache.kafka.common.errors.TimeoutException: Batch Expired 。因为在没有配置advertised.host.name 的情况下,Kafka并没有像官方文档宣称的那样改为广播我们配置的host.name,而是广播了主机配置的hostname。远端的客户端并没有配置 hosts,所以自然是连接不上这个hostname的

 4)启动zookeeper

本版本的kafka集成了zookeeper,所以不需要另外安装了。

切至kafka安装目录,执行命令

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

5)启动kafka

切至kafka安装目录

执行命令:

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

6)测试

创建topic

切至kafka安装目录,执行命令:

sudo bin/kafka-topics.sh --create --replication-factor 1 --partitions 1 --zookeeper ip(注意修改):2181 --topic test

查看创建的topic,命令:

sudo bin/kafka-topics.sh --list --zookeeper ip(注意修改):2181

创建生产者

sudo bin/kafka-console-producer.sh --broker-list ip(注意修改):9092 --topic test

创建消费者

执行命令:

sudo bin/kafka-console-consumer.sh --bootstrap-server ip(注意修改):9092 --topic test --from-beginning

可以得到生产者发送的消息

低版本的kafka创建消费者的命令:

sudo bin/kafka-console-consumer.sh --zookeeper ip(注意修改):2181 --topic test --from-beginning

相关文章:

  • VSCode中ESLint插件修复+配置教程
  • 来!PyFlink 作业的多种部署模式
  • 电脑重装系统后Win11安全中心无法打开如何解决
  • ue4打包出现问题解决[Callstack] 0x00007ffa47e6474c KERNELBASE.dll!UnknownFunction []
  • 【Matlab】状态空间模型的极点配置法 place() 函数
  • Chrome常用插件收集整理
  • [车联网安全自学篇] Android安全之APK内存敏感信息泄露挖掘【静态分析】
  • cpacr_el1等特殊寄存器
  • 代码层走进“百万级”分布式ID设计
  • 开源众包-项目大厅数据爬取
  • 数仓工具—Hive源码之SQL解析Antlr进阶(8)
  • 家用烘干机家电出口欧盟CE认证资料您是否准备好了
  • Ant Design Pro of Vue 构建打包后使用 Nginx 发布,API 请求报 404 错
  • 多功能音频工具的旗舰音乐编辑工具!Music Studio
  • Spring循环依赖
  • [nginx文档翻译系列] 控制nginx
  • Angular6错误 Service: No provider for Renderer2
  • CSS中外联样式表代表的含义
  • JavaScript标准库系列——Math对象和Date对象(二)
  • js操作时间(持续更新)
  • leetcode388. Longest Absolute File Path
  • node 版本过低
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • spring-boot List转Page
  • vue自定义指令实现v-tap插件
  • 初探 Vue 生命周期和钩子函数
  • 构建工具 - 收藏集 - 掘金
  • 简单数学运算程序(不定期更新)
  • 排序(1):冒泡排序
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 思考 CSS 架构
  • 通过几道题目学习二叉搜索树
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 微信小程序实战练习(仿五洲到家微信版)
  • 移动端唤起键盘时取消position:fixed定位
  • 赢得Docker挑战最佳实践
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (论文阅读11/100)Fast R-CNN
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (转) Android中ViewStub组件使用
  • (转)ABI是什么
  • (转)shell中括号的特殊用法 linux if多条件判断
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET Core 中的路径问题
  • .net wcf memory gates checking failed
  • .NET程序员迈向卓越的必由之路
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
  • @javax.ws.rs Webservice注解
  • @require_PUTNameError: name ‘require_PUT‘ is not defined 解决方法
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现