一、安装jdk
1.下载jdk压缩包并移动到/usr/local目录
mv jdk-8u162-linux-x64.tar.gz /usr/local
2.解压
tar -zxvf jdk-8u162-linux-x64.tar.gz

  1. 配置JDK环境变量
    export JAVA_HOME=/usr/local/jdk1.8.0_162
    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
    export PATH=$PATH:${JAVA_HOME}/bin

    更新配置

    source /etc/profile
    4.检查安装完成

    二、安装zk
    1.下载zookeeper压缩包并移动到/usr/local目录
    mv zookeeper-3.4.12.tar.gz /usr/local/
    2.解压zookeeper并改名
    tar -zxvf zookeeper-3.4.12.tar.gz
    mv zookeeper-3.4.12 zookeeper
    3.创建zookeeper的数据和日志存放路径
    cd zookeeper
    mkdir data
    mkdir log
    4.添加zk的myid
    在data目录下新建文件myid,内容为zk的唯一id,搭建zk集群时会用到server.${myid}

    5.修改zookeeper配置文件修改配置文件
    cd conf
    cp zoo_sample.cfg zoo.cfg
    vi zoo.cfg
    修改如下内容:
    dataDir=/usr/local/zookeeper/data
    dataLogDir=/usr/local/zookeeper/log

    6.添加集群信息
    在zoo.cfg中添加如下内容:

    增加集群信息 2888用于集群内部通信 3888用于集群的leader选举(leader选举结果为启动节点过半数时myid最大的节点)

    server.myid!!!

    server.1=zk1:2888:3888
    server.2=zk2:2888:3888
    server.3=zk3:2888:3888

    7.关闭防火墙
    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
    8.把zk目录添加到环境变量
    vi /etc/profile
    export ZOOKEEPER_HOME=/usr/local/zookeeper
    export PATH=$ZOOKEEPER_HOME/bin:$PATH
    export PATH
    9.启动zk
    zkServer.sh start

    10.查看zk状态
    zkServer.sh status

11.在另外两台机器执行以上命令

最终查看集群状态
zk1:

zk2:

zk3:

二、安装kakfa
1.下载kakfa压缩包并移动到/usr/local目录
tar -zxvf kafka_2.13-2.4.0.tgz
mv kafka_2.13-2.4.0 kafka
2.创建kafka数据存储目录
cd kafka
mkdir data
3.修改配置文件
cd config
vi server.properties

添加如下配置:
broker.id=0
delete.topic.enable=true
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/local/kafka/data
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181

listeners=PLAINTEXT://zk1:9092

4.添加环境变量
vi /etc/profile
添加
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin
使配置生效
source /etc/profile
5.修改zk路径为zk存储data的路径
vi zookeeper.properties

/usr/local/zookeeper/data

6.在其余两台机器执行上述命令(broker.id 不得重复)
7.启动broker
三台机器的kafka目录下执行
bin/kafka-server-start.sh -daemon config/server.properties
四、kafka启动完成检查
1.jps

zk和kafka集群已经启动成功
2.登录zk验证
cd /usr/local/zookeeper/bin
zkCli.sh
get /brokers/ids/${broker.id}
可以看到三个kafka的broker均已经注册到zk中

centos7搭建kafka集群的更多相关文章

  1. centos7搭建kafka集群-第二篇

    好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软 ...

  2. centos7搭建kafka集群-第一篇

    Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...

  3. 大数据平台搭建-kafka集群的搭建

    本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...

  4. Kafka学习之(六)搭建kafka集群

    想要搭建kafka集群,必须具备zookeeper集群,关于zookeeper集群的搭建,在Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建博客有说明.需要具备两台以上装有zook ...

  5. 什么是kafka以及如何搭建kafka集群?

    一.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. Kafka场景比喻 接下来我大概比喻下Kafka的使用场景 消息中间件:生产者和消费者 妈妈:生产 ...

  6. 利用新版本自带的Zookeeper搭建kafka集群

    安装简要说明新版本的kafka自带有zookeeper,其实自带的zookeeper完全够用,本篇文章以记录使用自带zookeeper搭建kafka集群.1.关于kafka下载kafka下载页面:ht ...

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

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

  8. docker-compose 搭建kafka集群

    docker-compose搭建kafka集群 下载镜像 1.wurstmeister/zookeeper 2.wurstmeister/kafka 3.sheepkiller/kafka-manag ...

  9. 搭建Kafka集群(3-broker)

    Apache Kafka是一个分布式消息发布订阅系统,而Kafka环境往往是在集群中配置的.本篇就对配置3个broker的Kafka集群进行介绍. Zookeeper集群 Kafka本身提供了启动了z ...

随机推荐

  1. postman提交文件

    说明 1.Headers中添加 Content-Type      multipart/form-data 2.Body 中选择form-data 并添加 需要传的参数名和值 最后新的一行选择file ...

  2. kafka在zookeeper默认使用/为根目录,将/更换为/kafka

    需求:kafka在zookeeper默认使用/为根目录,将/更换为/kafka 步骤:1.进入kafka的根目录: [root@node01 kafka_2.11-1.0.0]# cd /export ...

  3. DICOM的Worklist服务

    看 DICOM 标准有一段时间了,前面几篇也介绍了一下 DIMSE-C 消息服务,具体参看Dicom 学习笔记-Dicom 消息服务(DIMSE-C/DIMSE-N),本文就介绍一下 DICOM 标准 ...

  4. Java FTPClient 大量数据传输的问题(未解决)

    业务需要 需要将一个存储的目标文件里的文件全部拷贝到另一个存储里面去,保持文件结构. 目前采用 org.apache.commons.net.ftp包下相关类来达到ftp连接 获取文件目录信息,拷贝文 ...

  5. flask-Bootstrap Jinja2 原生 模板 和 jumpserver 模板

    #模板 {% block doc -%} <!DOCTYPE html> <html{% block html_attribs %}{% endblock html_attribs ...

  6. STM32+Nokia5110LCD

    Nokia5110LCD(84*48) lcd.h #ifndef _LCD_H#define _LCD_H #include "sys.h" #include "std ...

  7. 【LeetCode】加油站

    [问题]在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升.你从其中 ...

  8. R Akaike information criterion,AIC,一个越小越好的指标

    Akaike information criterion,AIC是什么?一个用来筛选模型的指标.AIC越小模型越好,通常选择AIC最小的模型.第一句话好记,第二句话就呵呵了,小编有时候就会迷惑AIC越 ...

  9. CI自带的文件上传及生成缩略图

    /* * 文件上传 * @param $upload_path 文件上传路径 * @param $formpic 表单name属性名称 */ private function doUpload($up ...

  10. php中常用的加密函数

    1.MD5加密: string md5 ( string $str [, bool $raw_output = false ] ) (1)md5()默认情况下以 32 字符十六进制数字形式返回散列值, ...