Kafka安装配置(zookeeper+kafka)

Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Linkedin于2010年贡献给了Apache基金会并成为顶级开源 项目。

环境说明:

服务端登录地址详见各任务服务端说明。
补充说明:宿主机可通过Asbru工具或SSH客户端进行SSH访问;
相关软件安装包在宿主机的/opt目录下,请选择对应的安装包进行安装,用不到的可忽略;
所有任务中应用命令必须采用绝对路径;
进入Master节点的方式为
docker exec -it master /bin/bash
进入Slave1节点的方式为
docker exec -it slave1 /bin/bash
进入Slave2节点的方式为
docker exec -it slave2 /bin/bash
三个容器节点的root密码均为123456

 提前准备好apache-zookeeper-3.5.7-bin.tar.gz、kafka_2.12-2.4.1.tgz放在宿主机的/opt/下(模拟的自己准备,比赛时会提供)

Hadoop 完全分布式安装配置

 环境搭建请看这篇文章大数据模块A环境搭建
前提条件已经在容器里搭建完hadoop了,没搭建的请看这篇Hadoop 完全分布式安装配置

 

Kafka安装配置

本任务需要使用root用户完成相关配置,需要配置前置环境,具体要求如下:
1、 从宿主机/opt目录下将文件apache-zookeeper-3.5.7-bin.tar.gz、kafka_2.12-2.4.1.tgz复制到容器Master中的/opt/software路径中(若路径不存在,则需新建),将Master节点Zookeeper,Kafka安装包解压到/opt/module目录下,将Kafka解压命令复制并粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;
第一步:从宿主机/opt目录下将文件apache-zookeeper-3.5.7-bin.tar.gz、kafka_2.12-2.4.1.tgz复制到容器Master中的/opt/software路径中(若路径不存在,则需新建)
[root@Bigdata ~]# docker cp /opt/apache-zookeeper-3.5.7-bin.tar.gz master:/opt/software/
[root@Bigdata ~]# docker cp /opt/kafka_2.12-2.4.1.tgz master:/opt/software/
第二步:将Master节点Zookeeper,Kafka安装包解压到/opt/module目录下
[root@master ~]# tar zxvf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/

[root@master ~]# tar zxvf /opt/software/kafka_2.12-2.4.1.tgz -C /opt/module/

        重命名

[root@master ~]# mv /opt/module/apache-zookeeper-3.5.7-bin /opt/module/zookeeper
[root@master ~]# mv /opt/module/kafka_2.12-2.4.1 /opt/module/kafka   
2、 配置好ZooKeeper,其中ZooKeeper使用集群模式,分别将Master、slave1、slave2作为其节点(若ZooKeeper已安装配置好,则无需再次配置),配置好Kafka的环境变量,使用kafka-server-start.sh --version查看Kafka的版本内容,并将命令和结果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下;
第一步:配置好ZooKeeper,其中ZooKeeper使用集群模式,分别将Master、slave1、slave2作为其节点(若ZooKeeper已安装配置好,则无需再次配置)
1.修改文件名
[root@master ~]# mv /opt/module/zookeeper/conf/zoo_sample.cfg /opt/module/zookeeper/conf/zoo.cfg
2.配置zoo.cfg
[root@master ~]# vi /opt/module/zookeeper/conf/zoo.cfg
dataDir=/opt/module/zookeeper/data
datdLogDir=/opt/module/zookeeper/logs

server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

代码位置如图:

3.创建目录
[root@master ~]# mkdir /opt/module/zookeeper/data
[root@master ~]# mkdir /opt/module/zookeeper/logs
4.添加myid文件到data里(里面就填一个数字,master填1,slave1填2,slave2填2)
[root@master ~]# vi /opt/module/zookeeper/data/myid

5.把配置好的zookeeper分发到子节点去
[root@master ~]# scp -r /opt/module/zookeeper slave1:/opt/module/
[root@master ~]# scp -r /opt/module/zookeeper slave2:/opt/module/
6.修改子节点的myid
vi /opt/module/zookeeper/data/myid

第二步:配置好Kafka的环境变量
#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin
将环境变量分发给子节点
[root@master ~]# scp /etc/profile slave1:/etc/
[root@master ~]# scp /etc/profile slave2:/etc/
使环境变量生效
[root@master ~]# source /etc/profile
[root@slave1 ~]# source /etc/profile
[root@slave2 ~]# source /etc/profile
第三步:使用kafka-server-start.sh --version查看Kafka的版本内容
[root@master ~]# kafka-server-start.sh --version

3、 完善其他配置并分发Kafka文件到slave1、slave2中,并在每个节点启动Kafka,创建Topic,其中Topic名称为installtopic,分区数为2,副本数为2,将创建命令和创建成果截图粘贴至客户端桌面【Release\任务A提交结果.docx】中对应的任务序号下。
第一步:完善其他配置并分发Kafka文件到slave1、slave2中
1.完善其他配置(以下配置基于server.properties文件)
vi /opt/module/kafka/config/server.properties

1.1修改broker.id(master为1 slave1为2 slave2为3)

1.2设置存放日志的地方

log.dirs=/opt/module/kafka/logs

1.3配置连接Zookeeper集群地址

zookeeper.connect=master:2181,slave1:2181,slave2:2181

2.分发Kafka文件到slave1、slave2中

2.1分发

[root@master ~]# scp -r /opt/module/kafka slave1:/opt/module
[root@master ~]# scp -r /opt/module/kafka slave2:/opt/module

2.2修改save* 的 broker.id

2.2.1slave1

[root@slave1 ~]# vi /opt/module/kafka/config/server.properties 

2.2.2slave2

[root@slave2 ~]# vi /opt/module/kafka/config/server.properties 

第二步:并在每个节点启动Kafka(和zookeeper)
1.启动zookeeper(每个节点都启动)
[root@master ~]# zkServer.sh start
[root@slave1 ~]# zkServer.sh start
[root@slave2 ~]# zkServer.sh start
2.启动kafka(每个节点都启动)
[root@master ~]# kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties 
[root@slave1 ~]# kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties 
[root@slave2 ~]# kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties 
第三步:创建Topic,其中Topic名称为installtopic,分区数为2,副本数为2
1.创建Topic,在 master 节点执行以下命令:
kafka-topics.sh --create \
    --bootstrap-server master:9092 \
    --replication-factor 2 \
    --partitions 2 \
    --topic installtopic

 

参数说明
  • --bootstrap-server <broker_list>: 替换为 Kafka 集群的 broker 地址(例如 localhost:9092)。

  • --replication-factor 2: 副本数设置为 2。

  • --partitions 2: 分区数设置为 2。

  • --topic installtopic: Topic 名称为 installtopic

第四步:将创建命令和创建成果截图
1.验证创建成果
[root@master ~]# kafka-topics.sh --describe --bootstrap-server master:9092 --topic installtopic
2.成果截图

END

一键三连是我写文章的动力!

声明:此文章为个人学习笔记,如文章有问题欢迎留言探讨,也希望您的指正 !

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xfcloud

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值