Kafka集群安装Version1.0.1(自带Zookeeper)
1.说明
Kafka集群安装,基于版本1.0.1,
使用kafka_2.12-1.0.1.tgz安装包,
其中2.12是编译工具Scala的版本。
而且不需要另外安装Zookeeper服务,
使用Kafka自带的Zookeeper即可。
2.安装规划
Kafka:集群,安装3个Kafka服务实例
Zookeeper:集群,使用Kafka自带Zookeeper,也是3个服务实例
Jdk:要求1.8版本,预先安装好Jdk,并且配置环境变量
| Service | IP | Hostname |
|---|---|---|
| Kafka,Zookeeper | 192.168.100.201 | kafka1 |
| Kafka,Zookeeper | 192.168.100.202 | kafka2 |
| Kafka,Zookeeper | 192.168.100.203 | kafka3 |
3.创建安装用户
首先root登陆到其中一台主机kafka1,
新建如下用户:
kafka/ai123456
useradd -g hadoop -s /bin/bash -md /home/kafka kafka
下面的操作如果不另外说明,
都是在主机kafka1上面的kafka用户操作的。
4.上传并且解压安装包
上传安装包:
ftp kafka_2.12-1.0.1.tgz ..
解压安装包:
tar -zxvf kafka_2.12-1.0.1.tgz
5.配置环境变量和别名
vim .bashrc
#配置Jdk环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#配置Kafka环境变量
export KAFKA_HOME=/home/kafka/kafka_2.12-1.0.1
export PATH=$PATH:$KAFKA_HOME/bin
#配置别名,方便使用
alias conf='cd $KAFKA_HOME/config'
alias logs='cd $KAFKA_HOME/logs'
使配置生效:
source .bashrc
6.修改Kafka配置文件
首先创建本地数据存放的目录:
mkdir /home/kafka/kafka_2.12-1.0.1/data
vim config/server.properties
主要修改如下配置:
#搭建Kafka集群,需要ID保证唯一,不能和集群其他服务相同
broker.id=1
#服务器IP地址,修改为自己的服务器IP
host.name=192.168.100.201
#Kafka内的topic数据本地保存目录
log.dirs=/home/kafka/kafka_2.12-1.0.1/data
#Zookeeper地址和端口, Kafka支持内置的Zookeeper和引用外部的Zookeeper
zookeeper.connect=192.168.100.201:2181,192.168.100.202:2181,192.168.100.203:2181
以下使用默认配置即可:
#端口号、记得开启端口,云服务器要开放安全组
port=9092
#topic的默认分区数
num.partitions=3
#Kafka接收的数据保存7天,之后会被删除
log.retention.hours=168
#单独数据块最大为1G,超过需要分块
log.segment.bytes=1073741824
7.修改Zookeeper配置
首先创建本地数据存放的目录:
mkdir /home/kafka/kafka_2.12-1.0.1/zookeeper
然后在该目录下创建一个空文件myid,
并且向该文件写入1作为Zookeeper的ID:
touch zookeeper/myid
echo 1 > zookeeper/myid
vim config/zookeeper.properties
主要修改如下配置:
#Zookeeper数据本地存储目录
dataDir=/home/kafka/kafka_2.12-1.0.1/zookeeper
# 此配置表示允许follower连接并同步到leader的初始化时间,
# 它以tickTime的倍数来表示。
# 当超过设置倍数的tickTime时间,则连接失败。
initLimit=10
# Leader服务器与follower服务器之间信息同步允许的最大时间间隔,
# 如果超过次间隔,
# 默认follower服务器与leader服务器之间断开链接。
syncLimit=5
# 下面服务器的条目Server.X,列出构成ZooKeeper集群的服务器。
# 当服务器启动时,通过在数据目录中查找文件myid,
# myid文件中配置的数字和X对应,
# 这样当前服务实例知道自己属于哪个服务器。
server.1=192.168.100.201:2888:3888
server.2=192.168.100.202:2888:3888
server.3=192.168.100.203:2888:3888
以下使用默认配置即可:
# Zookeeper对外提供服务的端口
clientPort=2181
# 限制连接到zookeeper服务器客户端的数量
maxClientCnxns=0
8.分发服务到集群其他机器
下面以主机kafka2为例子,
登录主机kafka2上面的kafka用户,
然后拷贝kafka1上面配置好的目录到本地:
scp -r kafka@192.168.100.201:/home/kafka/kafka_2.12-1.0.1 /home/kafka
然后修改Kafka和Zookeeper的配置文件:
vim config/server.properties
仅修改如下配置:
#搭建Kafka集群,需要ID保证唯一,不能和集群其他服务相同
broker.id=2
#服务器IP地址,修改为自己的服务器IP
host.name=192.168.100.202
vim zookeeper/myid
把文件中的1修改为2;
最后按照上面的第5步配置环境变量。
集群其他kafka3等主机按照如上操作即可。
9.启动Zookeeper
启动Kafka服务必须先启动Zookeeper服务,
使用如下命令后台启动自带的Zookeeper,
而且需要在3台主机上面同时执行如下命令:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
10.启动Kafka
注意使用-daemon后台启动Kafka服务,
需要在3台主机上面同时执行如下命令:
bin/kafka-server-start.sh -daemon config/server.properties
11.验证操作
使用jps可以看到如下进程,
一个是Kafka,另一个是Zookeeper:
1464 Kafka
1035 QuorumPeerMain
验证安装和基本操作命令请查看如下文章:
Kafka单机安装Version1.0.1(自带Zookeeper)
12.参考文章
Kafka1.X官方安装文档
消息中间件kafka安装启动自带配置好的Zookeeper
Kafka集群安装Version1.0.1(自带Zookeeper)的更多相关文章
- Storm集群安装Version1.0.1开启Kerberos
Storm集群安装,基于版本1.0.1, 同时开启Kerberos安全认证, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 ...
- Storm集群安装Version1.0.1
Storm集群安装,基于版本1.0.1, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 nimbus zdh-237 sto ...
- Kafka单机安装Version1.0.1(自带Zookeeper)
1.说明 Kafka单机安装,基于版本1.0.1, 使用kafka_2.12-1.0.1.tgz安装包, 其中2.12是编译工具Scala的版本. 而且不需要另外安装Zookeeper服务, 使用Ka ...
- kafka集群安装部署
kafka集群安装 使用的版本 系统:centos6.5 centos6.7 jdk:1.7.0_79 zookeeper:3.4.9 kafka:2.10-0.10.1.0 一.环境准备[只列,不具 ...
- zookeeper+kafka集群安装之二
zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...
- centos7下kafka集群安装部署
应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...
- KafKa集群安装详细步骤
最近在使用Spring Cloud进行分布式微服务搭建,顺便对集成KafKa的方案做了一些总结,今天详细介绍一下KafKa集群安装过程: 1. 在根目录创建kafka文件夹(service1.serv ...
- KafKa集群安装、配置
一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...
- Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装
Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...
随机推荐
- Linux服务器---xopps
XOOPS XOOPS是一款用php制作的开源网站管理系统,可用于构建各种网络站点. 1.下载XOOPS软件(https://xoops.org/) 2.将XOOPS软件中的htdocs文件夹拷贝到a ...
- mysql 将A表的a字段赋值给B表的b字段
A.B为2个不同的表,将A表的a字段赋值给B表的b字段:update B set b = (select a from A where A.id = B.id) where B.b is null 注 ...
- apply 和 call 的区别
相同点: 都能够改变方法的执行上下文(执行环境),将一个对象的方法交给另一个对象来执行,并且是立即执行 不同点: call方法从第二个参数开始可以接收任意个参数,每个参数会映射到相应位置的func的参 ...
- 5、Redis五大基本数据类型——String类型
一.Redis支持数据类型简介 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 二.String类 ...
- Nginx日志分析脚本
目录 一.简介 二.脚本 一.简介 运维工作是一个比较复杂的工作,有时候面对上万条的日志,如何作分析?难道一条条的分析? 这估计看两眼就要打哈欠了吧?聪明的人会选择脚本,这就是为什么现在提倡自动化运维 ...
- Go语言核心36讲(Go语言实战与应用二十六)--学习笔记
48 | 程序性能分析基础(上) 作为拾遗的部分,今天我们来讲讲与 Go 程序性能分析有关的基础知识. Go 语言为程序开发者们提供了丰富的性能分析 API,和非常好用的标准工具.这些 API 主要存 ...
- msfvenom生成payload命令
msfvenom生成payload命令 windows: msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp L ...
- java 编程基础 反射方式获取泛型的类型Fileld.getGenericType() 或Method.getGenericParameterTypes(); (ParameterizedType) ;getActualTypeArguments()
引言 自从JDK5以后,Java Class类增加了泛型功能,从而允许使用泛型来限制Class类,例如,String.class的类型实际上是 Class 如果 Class 对应的类暂时未知,则使 C ...
- MLNX网卡驱动安装
安装/升级MLNX驱动 1. 安装准备 驱动下载地址:https://www.mellanox.com/products/ethernet-drivers/linux/mlnx_en 选择和系统版本匹 ...
- HTTPS 握手过程理解
转自https://www.jianshu.com/p/a3a25c6627ee https://blog.csdn.net/xingtian713/article/details/11953057 ...