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)的更多相关文章

  1. Storm集群安装Version1.0.1开启Kerberos

    Storm集群安装,基于版本1.0.1, 同时开启Kerberos安全认证, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 ...

  2. Storm集群安装Version1.0.1

    Storm集群安装,基于版本1.0.1, 使用apache-storm-1.0.1.tar.gz安装包. 1.安装规划 角色规划 IP/机器名 安装软件 运行进程 nimbus zdh-237 sto ...

  3. Kafka单机安装Version1.0.1(自带Zookeeper)

    1.说明 Kafka单机安装,基于版本1.0.1, 使用kafka_2.12-1.0.1.tgz安装包, 其中2.12是编译工具Scala的版本. 而且不需要另外安装Zookeeper服务, 使用Ka ...

  4. kafka集群安装部署

    kafka集群安装 使用的版本 系统:centos6.5 centos6.7 jdk:1.7.0_79 zookeeper:3.4.9 kafka:2.10-0.10.1.0 一.环境准备[只列,不具 ...

  5. zookeeper+kafka集群安装之二

    zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...

  6. centos7下kafka集群安装部署

    应用摘要: Apache kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的 分布式发布订阅消息系统,是消息中间件的一种,用于构建实时 ...

  7. KafKa集群安装详细步骤

    最近在使用Spring Cloud进行分布式微服务搭建,顺便对集成KafKa的方案做了一些总结,今天详细介绍一下KafKa集群安装过程: 1. 在根目录创建kafka文件夹(service1.serv ...

  8. KafKa集群安装、配置

    一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...

  9. Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装

    Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...

随机推荐

  1. Linux:-e、-d、-f、-L、-r、-w、-x、-s、-h、

    -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L fil ...

  2. SpringCloud微服务服务间调用之OpenFeign介绍

    开发微服务,免不了需要服务间调用.Spring Cloud框架提供了RestTemplate和FeignClient两个方式完成服务间调用,本文简要介绍如何使用OpenFeign完成服务间调用. Op ...

  3. 【Java基础】Java反射——Private Fields and Methods

    Despite the common belief it is actually possible to access private fields and methods of other clas ...

  4. 【C/C++】例题5-4 反片语/算法竞赛入门经典/C++与STL入门/映射:map

    本题是映射:map的例题. map:键值对. [题目] 输入一些单词,找出所有满足如下条件的单词:该单词不能通过字母重排,得到输入文本中的另外一个单词. 在判断是否满足条件时,字母不分大小写,但在输出 ...

  5. 代码图形统计工具git_stats web

    目录 一.简介 二.安装ruby 三.配置git_stats 四.通过nginx把网页展示出来 一.简介 仓库代码统计工具之一,可以按git提交人.提交次数.修改文件数.代码行数.注释量在时间维度上进 ...

  6. 转:Sed使用

    awk于1977年出生,今年36岁本命年,sed比awk大2-3岁,awk就像林妹妹,sed就是宝玉哥哥了.所以 林妹妹跳了个Topless,他的哥哥sed坐不住了,也一定要出来抖一抖. sed全名叫 ...

  7. java JDK8 时间处理

    目录 时间格式化 LocalDate:年月日 LocalTime:时分秒毫秒 LocalDateTime:年月日时分秒 Instant:纳秒时间戳 Duration:两时间间隔 Duration:处理 ...

  8. Windows 10 彻底关闭 Antimalware Service Executable 降低内存占用

    概述 最近给内网的一台电脑安装 Windows 10 专业版系统,由于此电脑不会涉及到不安全因素,所以杀毒软件非必须. 以最大限度节省系统资源考虑,默认安装的 Micoroft Defender 占用 ...

  9. curl -w参数简析

    curl的-w参数用于在一次完整且成功的操作后输出指定格式的内容到标准输出. 输出格式由普通字符串和任意数量的变量组成,输出变量需要按照%{variable_name}的格式,如果需要输出%,doub ...

  10. Stun协议实现

    在现实Internet网络环境中,大多数计算机主机都位于防火墙或NAT之后,只有少部分主机能够直接接入Internet.很多时候,我们希望网络中的两台主机能够直接进行通信(即所谓的P2P通信),而不需 ...