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. Mysql 常见报错和疑问汇总

    1.初始化数据库的时候报错 error while loading shared libraries: libstdc++.so.5: cannot open shared object file:  ...

  2. 监控Linux服务器网站状态的SHELL脚本

    1,监控httpd状态码的shell脚本代码. #!/bin/sh #site: www.jquerycn.cn # website[0]=www.jquerycn.cn/chuzu/' #网站1 m ...

  3. C++STL标准库学习笔记(三)multiset

    C++STL标准库学习笔记(三)multiset STL中的平衡二叉树数据结构 前言: 在这个笔记中,我把大多数代码都加了注释,我的一些想法和注解用蓝色字体标记了出来,重点和需要关注的地方用红色字体标 ...

  4. cmd窗口连接mongodb服务端

    1----->配置环境变量,将mongodb\bin目录配置到path 2----->打开cmd窗口,进入到bin目录,测试mongodb服务端是否在运行:net start mongod ...

  5. 解决pwn题目加载指定libc版本的问题

    因为本地和远程的libc版本不同,pwn题目调试起来会有影响,所以来记录一下用patchelf和glibc-all-in-one来解决这个问题过程. 下载工具 下载patchelfgit clone ...

  6. CF336A Vasily the Bear and Triangle 题解

    Content 一个矩形的顶点为 \((0,0)\),其对顶点为 \((x,y)\),现过 \((x,y)\) 作直线,分别交 \(x\) 轴和 \(y\) 轴于 \(A,B\) 两点,使得 \(\t ...

  7. CF313A Ilya and Bank Account 题解

    Update \(\texttt{2021.3.6}\) 经求学的企鹅提醒修改了 Content 部分的数据范围. Content 有一个人的银行账户里有 \(n\) 元钱,他可以删去倒数第二位获最后 ...

  8. CF1144A Diverse Strings 题解

    Content 我们定义一个字符串是合法的,当且仅当这个字符串是"连续排列"(按照字母表顺序排序).现在给出 \(n\) 个字符串 \(s_1,s_2,s_3,...,s_n\), ...

  9. redis hash操作 list列表操作

    HSET key 子key 子value 192.168.11.5:6379> HSET stu1 name 'zhangmingda'(integer) 1192.168.11.5:6379& ...

  10. 音视频中的PTS和DTS及同步

    视频的播放过程可以简单理解为一帧一帧的画面按照时间顺序呈现出来的过程,就像在一个本子的每一页画上画,然后快速翻动的感觉.       但是在实际应用中,并不是每一帧都是完整的画面,因为如果每一帧画面都 ...