基于大数据教程的环境:

192.168.101.11 centos7-01
192.168.101.12 centos7-02
192.168.101.13 centos7-03

搭建Kafka环境需要Zookeeper的前提:

https://www.cnblogs.com/mindzone/p/15468883.html

下载Kafka包

01 机器下载:
wget https://archive.apache.org/dist/kafka/2.1.1/kafka_2.11-2.1.1.tgz

解包到指定任意目录

tar -zxvf kafka_2.11-2.1.1.tgz -C /opt/module/

创建指定的kafka输出目录

# 创建日志目录(路径自定义)
mkdir -p /opt/module/kafka_2.11-2.1.1/logs

更改Kafka配置信息:

vim /opt/module/kafka_2.11-2.1.1/config/server.properties

参数项:

标黄的参数是需要更改的,其他参数基本是默认项,在源文件中就设定好了

#broker 的全局唯一编号,不能重复
broker.id=0
# 允许用户可以删除主题
delete.topic.enable=true

#处理网络请求的线程数量
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
logs=/opt/module/kafka_2.11-2.1.1/logs
#topic 在当前 broker 上的分区个数
num.partitions=1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir=1
#segment 文件保留的最长时间,超时将被删除
log.retention.hours=168
# 配置连接 Zookeeper 集群地址
zookeeper.connect

追加环境变量:

vim /etc/profile.d/my_env.sh

写profile里面也是可以的,这里是单独区分了文件写的

#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka_2.11-2.1.1
export PATH=$PATH:$KAFKA_HOME/bin

立即生效

source /etc/profile

将环境变量配置文件和kafka目录分发到其他机器上

xsync /etc/profile.d/my_env.sh
xsync /opt/module/kafka_2.11-2.1.1 # 无xsync脚本则用scp拷贝
scp /etc/profile.d/my_env.sh root@centos7-03:/etc/profile.d/
scp /etc/profile.d/my_env.sh root@centos7-04:/etc/profile.d/ scp /opt/module/kafka_2.11-2.1.1 root@centos7-03:/opt/module
scp /opt/module/kafka_2.11-2.1.1 root@centos7-04:/opt/module

然后更改其他机器上的kafka服务ID

#broker 的全局唯一编号,不能重复
broker.id=0

1号机默认0,2号机就改成1,3号机就改成2,总而言之服务的ID不能冲突

vim /opt/module/kafka_2.11-2.1.1/config/server.properties

集群启动Kafka

# 1 2 3 分别执行
$KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties

集群关闭Kafka

# 1 2 3 分别执行
$KAFKA_HOME/bin/kafka-server-stop.sh stop

检查Kafka是否正常运行,JPS命令

[root@centos7-04 ~]# jps
11128 Kafka
1861 HRegionServer
1526 NodeManager
1705 SecondaryNameNode
1774 QuorumPeerMain
11342 Jps

若只是部署单例只需要更改ZK的客户端即可,也不用管服务ID

# 配置连接 Zookeeper 集群地址,单例则写一个即可
zookeeper.connect

【Kafka】02 原生集群部署的更多相关文章

  1. ELK5.2+kafka+zookeeper+filebeat集群部署

    架构图 考虑到日志系统的可扩展性以及目前的资源(部分功能复用),整个ELK架构如下: 架构解读 : (整个架构从左到右,总共分为5层) 第一层.数据采集层 最左边的是业务服务器集群,上面安装了file ...

  2. kafka简介及集群部署

    消息队列概念:(Message queue): “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. “消息队列”是在消息的传输过程中保存消 ...

  3. Apache Kafka 集群部署指南

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ Kafka基础 消息系统的作用 应该大部分小伙伴都清楚,用机油装箱举个例子. 所以消息系统就是如上图我们所说的仓库,能在中间 ...

  4. 分布式消息系统之Kafka集群部署

    一.kafka简介 kafka是基于发布/订阅模式的一个分布式消息队列系统,用java语言研发,是ASF旗下的一个开源项目:类似的消息队列服务还有rabbitmq.activemq.zeromq:ka ...

  5. Kafka集群部署

    一. 关于kafka Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键 ...

  6. kafka 集群部署 多机多broker模式

    kafka 集群部署 多机多broker模式 环境IP : 172.16.1.35   zookeeper   kafka 172.16.1.36   zookeeper   kafka 172.16 ...

  7. 消息中间件kafka+zookeeper集群部署、测试与应用

    业务系统中,通常会遇到这些场景:A系统向B系统主动推送一个处理请求:A系统向B系统发送一个业务处理请求,因为某些原因(断电.宕机..),B业务系统挂机了,A系统发起的请求处理失败:前端应用并发量过大, ...

  8. Zookeeper+Kafka集群部署(转)

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  9. 3、Kafka集群部署

    Kafka集群部署 1)解压安装包 [ip101]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/app/ 2)修改解压后的文件名称 [ip101]$ mv k ...

  10. Zookeeper+Kafka集群部署

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

随机推荐

  1. 如何保留 Excel 表头和第一行数据并追加 CSV 数据

    准备工作 在开始之前,确保你的 Python 环境中已经安装了 openpyxl 和 pandas 库.可以使用以下命令进行安装: pip install openpyxl pandas 第一步:编写 ...

  2. 使用elementUI组件来完成前台展示

    使用elementUI组件来完成前台展示,当然不是全部都用,有用到的时候,才用. 网址:https://element.eleme.cn/#/zh-CN 安装 cnpm i element-ui -S ...

  3. [SWPUCTF 2021 新生赛]include

    打开我们可以看到让我们传入一个file,会出现一串代码,我们去分析一下: 当看到ini_set("allow_url_include","on");设置为on, ...

  4. Java JVM——10.对象实例化内存布局与访问定位

    对象实例化 对象创建方式 ★ new:最常见的方式.单例类中调用getInstance的静态类方法,XXXFactory的静态方法. ★ Class的newInstance方法:在JDK9里面被标记为 ...

  5. CentOS7打开终端快捷键

    点击右上角的用户名,选择设置>>键盘>>快捷键,然后点+,名称自己写,命令是"/usr/bin/gnome-terminal",这个是不能改的,再点应用,这 ...

  6. work12

    day12   一.请简述集合框架. 集合是单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是java.util.List和java.util.Set.其中,List的 ...

  7. 非空处理 Java非空判断 非空处理及mysql数据库字段的not null

    1.mysql## 去掉非空,如果非空又没有默认值,这样程序在添加数据的时候i,如果没有设置值就会报错.该操作很危险.##ALTER TABLE `order_test` ADD COLUMN `te ...

  8. Postman 的 Basic Auth 如何通过 Feign 实现

    Postman 的 Basic Auth: 分析 根据以上图片分析: Postman 的 Authorization 实际为: header 中添加 Authorization: ******* ** ...

  9. 麒麟操作系统V10安装mysql8.0.26

    今年mysql装得有点多,大概有4次了,快变系统工程师了! 本文重点说下如何识别版本和配置服务! 首先两点: 1)麒麟本质是linux内核,所以基本上centos的操作在这里可以通用 2)虽然通用,但 ...

  10. Stable Diffusion(一)Stable Diffusion 原理

    Stable Diffusion原理 此文为译文,原文见: https://stable-diffusion-art.com/how-stable-diffusion-work/ Stable Dif ...