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. IOS_UIButton去掉系统的按下高亮置灰效果

    setAdjustsImageWhenHighlighted   // default is YES. if YES, image is drawn darker when highlighted(p ...

  2. 【Java 8】方法引用

    一.概述 在学习lambda表达式之后,我们通常使用lambda表达式来创建匿名方法.然而,有时候我们仅仅是调用了一个已存在的方法.如下: Arrays.sort(stringsArray,(s1,s ...

  3. Mysql-高性能索引策略及不走索引的例子总结

    Mysql-高性能索引策略 正确的创建和使用索引是实现高性能查询的基础.我总结了以下几点索引选择的策略和索引的注意事项: 索引的使用策略: (PS:索引的选择性是指:不重复的索引值,和数据表的记录总数 ...

  4. 【C++】最长回文子串/动态规划

    ACM #include <bits/stdc++.h> using namespace std; const int maxn = 1010; char S[maxn]; int dp[ ...

  5. linux系统目录初识

    目录 今日内容概要 内容详细 系统目录结构介绍 目录结构知识描述 今日内容概要 系统目录结构介绍 目录结构详细描述 内容详细 系统目录结构介绍 # 1.linux系统中的目录 一切从根开始 结构拥有层 ...

  6. 赋能开发:捷码携手达内教育打造IT职业教育新生态

    近日,达内教育与远眺科技签约联合培养的第一批低代码开发方向的高职学生,在杭州未来科技城捷码总部顺利毕业,首期合格学员总数超过30名.随着这些接受了"捷码"低代码平台全程" ...

  7. 从 CPython 源码角度看 Python 垃圾回收机制

    环状双向链表 refchain 在 Python 程序中创建的任何对象都会被放到 refchain 链表中,当创建一个 Python 对象时,内部实际上创建了一些基本的数据: 上一个对象 下一个对象 ...

  8. Vue3.0是如何变快的

    1.diff算法优化 + Vue2中的虚拟dom是进行全量的对比 https://vue-next-template-explorer.netlify.app/ + Vue3新增了静态标记(Patch ...

  9. HTML行内级元素之间的空格问题

    HTML行内级元素之间的空格问题 1.为什么元素之间会产生空格? 在编写行内级元素(包括inline-block元素)的代码之间如果有空格(换行),在浏览器上就会显示元素之间有空格. 示例代码如下: ...

  10. java 网络编程基础 TCP/IP协议:服务端ServerSocket;客户端Socket; 采用多线程方式处理网络请求

    1.Java中客户端和服务器端通信的简单实例 Java中能接收其他通信实体连接请求的类是ServerSocket,ServerSocket对象用于监听来自客户端的Socket连接,如果没有连接,它将一 ...