Kafka安装配置

本文详细指导如何在容器Master中安装和配置ApacheZooKeeper和Kafka,包括文件复制、环境变量设置、集群配置、启动服务以及创建Topic。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

任务二: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】中对应的任务序号下;

1、将文件复制到容器 Master 中:
首先,需要进入宿主机的 /opt 目录,然后使用 scprsync 命令将文件复制到容器 Master 的 /opt/software 目录。如果该目录不存在,您需要先创建它。

# 进入宿主机的 /opt 目录
cd /opt
# 创建容器 Master 的 /opt/software 目录(如果不存在)
ssh root@Master 'mkdir -p /opt/software'
# 复制文件到容器 Master 的 /opt/software 目录
scp apache-zookeeper-3.5.7-bin.tar.gz kafka_2.12-2.4.1.tgz root@Master:/opt/software/

然后,您需要进入容器 Master,解压安装包到 /opt/module 目录,并复制 Kafka 解压命令。

# 进入容器 Master
ssh root@Master
# 解压 ZooKeeper 和 Kafka 到 /opt/module 目录
tar -zxf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
tar -zxf /opt/software/kafka_2.12-2.4.1.tgz -C /opt/module/
  • 首先,配置 ZooKeeper 的集群模式, Master、slave1、slave2 作为其节点。
    在 Master 节点上,进入 ZooKeeper 解压后的目录,编辑 conf 目录下的 zoo.cfg 文件。
    配置 ZooKeeper
    进入解压后的 ZooKeeper 目录。
cd /opt/moudle/zookeeper

复制一份样本配置文件 conf/zoo_sample.cfg 为 conf/zoo.cfg。

cp conf/zoo_sample.cfg conf/zoo.cfg

在zookeeper⽬录下创建zkData

[root@master zookeeper] mkdir zkData
[root@master zookeeper] cd zkData/
[root@master zkData] vim myid

在每个节点的 zkData 目录下创建一个名为 myid 的文件,并写入该节点的唯一标识符。

echo 0 > /opt/moudle/zookeeper/dataDir/myid

编辑 zoo.cfg 文件,配置集群信息。

vim zoo.cfg
dataDir=/opt/module/zookeeper/zkData
# 设置zookeeper内部通信地址和选举端⼝
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

其中,master、slave1 和 slave2 是节点的hostname,2888 是 follower 与 leader 通信的端口,3888 是用于选举新 leader 的端口。

环境变量修改内容:
vim /etc/profile

# ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper
export PATH="$ZOOKEEPER_HOME/bin:$PATH"

source /etc/profile使环境变量⽣效:

source /etc/profile

将zookeeper拷⻉到slave1和slave2:

scp -r /opt/module/zookeeper/ slave1:/opt/module/
scp -r /opt/module/zookeeper/ slave2:/opt/module/

修改slave1和slave2上myid内容:

[root@slave1 module]# vim /opt/module/zookeeper/zkData/myid
2
[root@slave2 hadoop]# vim /opt/module/zookeeper/zkData/myid
3

将master节点\etc/profile文件拷⻉到slave1和slave2:

scp -r /etc/profile/ slave1:/etc/profile/
scp -r /etc/profile/ slave2:/etc/profile/

source /etc/profile使环境变量生效

启动zookeeper集群:
[root@slave2 hadoop]# /opt/module/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/ . /conf/zoo.cfg
Starting zookeeper . STARTED
[root@slave2 hadoop]#
[root@slave1 module]# /opt/module/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/ . /conf/zoo.cfg
Starting zookeeper . STARTED
[root@slave1 module]#
[root@master conf]# /opt/module/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/ . /conf/zoo.cfg
Starting zookeeper . STARTED
[root@master conf]#
查看zookeeper进程状态 验证结果:
[root@master conf]# /opt/module/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/ . /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
[root@master conf]#
[root@slave1 module]# /opt/module/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/ . /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
[root@slave1 module]#
[root@slave2 hadoop]# /opt/module/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/ . /conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: leader
[root@slave2 hadoop]

2、配置好ZooKeeper,其中ZooKeeper使用集群模式,分别将Master、slave1、slave2 作为其节点(若ZooKeeper已安装配置好,则无需再次配置),配置好Kafka 的环境变量,使用kafka-server-start.sh–version查看Kafka的版本内容,并将命令和结果截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下;

解压重命名kafka,并配置环境变量:

tar -zxvf /opt/softwares/kafka_2.12-3.0.0.tgz -C /opt/module/
mv /opt/module/kafka_2.12-3.0.0/ /opt/module/kafka
vim /etc/profile

配置内容:

# KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH="$KAFKA_HOME/bin:$PATH"

修改kafka的server.properties配置⽂件:

vim /opt/module/kafka/config/server.properties

修改内容:

# 唯⼀值
broker.id=0
# kafka启动会⾃动创建
log.dirs=/opt/module/kafka/logs
# zk连接
zookeeper.connect=master:2181,slave1:2181,slave2:2181/kafka

将kafka拷⻉到slave1和slave2节点:

scp -r /opt/module/kafka/ slave1:/opt/module/
scp -r /opt/module/kafka/ slave2:/opt/module/

修改slave1和slave2节点的broker.id值

[root@slave1 module] vim /opt/module/kafka/config/server.properties
broker.id=1
[root@slave2 hadoop] vim /opt/module/kafka/config/server.properties
broker.id=2

保存并退出编辑器,然后运行以下命令查看 Kafka 版本:

./bin/kafka-server-start.sh --version
3、完善其他配置并分发Kafka文件到slave1、slave2中,并在每个节点启动Kafka,创建Topic,其中Topic名称为installtopic,分区数为2,副本数为2,将创建命令和创建成果截图粘贴至客户端桌面【Release\模块A提交结果.docx】中对应的任务序号下。

在master启动kafka:

# 进入 Kafka 解压后的目录
cd /opt/module/kafka
# 启动 Kafka
./bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties

在 slave1 和 slave2 节点上启动 Kafka

ssh root@slave1 'cd /opt/module/kafka && ./bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties'
ssh root@slave2 'cd /opt/module/kafka && ./bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties'

创建topic

kafka-topics.sh --create --zookeeper master:2181 --replication-factor 2 --partitions 2 --topic installtopic

查询topic

kafka-topics.sh --list --zookeeper master:2181 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

big data alone

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

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

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

打赏作者

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

抵扣说明:

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

余额充值