详细搭建kafka

搭建服务相关软件下载地址:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
//官网地址,找自己相关需要的版本下载!
我的网盘链接
提取码:a0ue

1.JDK安装:

1-1:
将下载好的jdk上传到服务可以在服务器上安装 yum -y install lrzsz ,就可以使用xhell直接拖了

mkdir /opt/JDK					//创建目录
tar -xvf jdk-8u231-linux-x64.tar.gz -C /opt/JDK/			//指定解压tar包
ls /opt/JDK/			//查看确认是否解压成功

1-2:配置环境变量:

vi /etc/profile

在文件的末尾添加下面脚本,根据自己jdk安装位置修改:

export JAVA_HOME=/opt/JDK/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

1-3:重启配置文件

[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

这样jdk就安装完毕!准备工作完成一步,下面进行搭建zookeeper集群!

**

2.安装部署zookeeper集群

**
2-1:准备工作:
下载zookeeper源码包:
1.wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
2.我的网盘链接
提取码:a0ue

mkdir /opt/zookeeper
cd /opt/zookeeper
tar -xvf zookeeper-3.4.14.tar.gz  -C /opt/zookeeper/

2-2:创建集群目录,此处创建三节点,master(主)、slave1、slave2,并将解压好的文件移动到各个节点

mkdir -p master slave1 slave2
cp -rf zookeeper-3.4.14/* master
cp -rf zookeeper-3.4.14/* slave1
cp -rf zookeeper-3.4.14/* slave2

2-3:配置zk配置信息
将zoo_sample覆盖为zoo,并复制到各个节点

[root@localhost zookeeper]# mv master/conf/zoo_sample.cfg  master/conf/zoo.cfg 
[root@localhost zookeeper]# ls master/conf/
configuration.xsl  log4j.properties  zoo.cfg

2-4:修改配置如下:

vi master/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/master/tmp
clientPort=2181
dataLogDir=/opt/zookeeper/master/datalog

server.0=localhost:2888:3888
server.1=localhost:2889:3889
server.2=localhost:2890:3890
cp master/conf/zoo.cfg  slave1/conf/
cp master/conf/zoo.cfg  slave2/conf/
sed -i "s/clientPort=2181/clientPort=2182/" slave1/conf/zoo.cf
sed -i "s/clientPort=2181/clientPort=2183/" slave2/conf/zoo.cf
sed -i "s/master/slave1/" /opt/zookeeper/slave1/conf/zoo.cfg 
sed -i "s/master/slave2/" /opt/zookeeper/slave2/conf/zoo.cfg 

将master、slave1、slave2对应的zoo.cfg中clientPort分别修改为2181、2182、2183,dataDir修改好、dataLogDir创建好。

然后再对应的dataDir目录下创建myid文件如下(注意0/1/2要对应上面的server.0/1/2):

cd /opt/zookeeper/master/ && mkdir datalog tmp
cd /opt/zookeeper/slave1/ && mkdir datalog tmp
cd /opt/zookeeper/slave2/ && mkdir datalog tmp
cd  /opt/zookeeper/master/tmp/ && echo "0" > myid && echo "1" > /opt/zookeeper/slave1/tmp/myid && echo "2" > /opt/zookeeper/slave2/tmp/myid

2-5:启动zookeeper三个节点:
嘿嘿:制作启动脚本啊!

vim /opt/start.sh
#!/bin/bash
#zookeeper启动命令集
/opt/zookeeper/master/bin/zkServer.sh start
/opt/zookeeper/slave1/bin/zkServer.sh start
/opt/zookeeper/slave2/bin/zkServer.sh start

chmod +x start.sh//授权
/opt/start.sh//启动zookeeper服务
ss -antplu //查看端口
在这里插入图片描述

3:部署kafka

3-1:下载kafka

  1. wget http://mirror.bit.edu.cn/apache/kafka/2.2.1/kafka_2.11-2.2.1.tgz
    2.我的网盘链接
    提取码:a0ue
tar -xvf  kafka_2.11-2.2.1.tgz  -C /opt/
mv /opt/kafka_2.11-2.2.1/ /opt/kafka2.11
cd  /opt/kafka2.1

2-2:启动kafka:

nohup /opt/kafka2.11/bin/kafka-server-start.sh config/server.properties &

2-3:创建topic

bin/kafka-topics.sh  --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

Created topic test.//系统显示已创建topic

2-4:测试一下topic啊!

查看topic

/opt/kafka2.11/bin/kafka-topics.sh --list --zookeeper localhost:2181

查看default-group堆积情况

/opt/kafka2.11/bin/kafka-consumer-groups.sh --bootstrap-server master:9092 --describe --group default-group

它这里会执行失败,是一个坑,我们下面解决,暂时不理会它

2-5:开启2个页面:进行测试一下kafka:
使用kafka-console-producer.sh 发送消息

/opt/kafka2.11/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

使用kafka-console-consumer.sh消费消息

/opt/kafka2.11/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

这里测试完毕发现kafka能正常使用了,但是它只能在本地使用,就像上面我们遇到的哪个坑,我们现在来填:

为了使外部能访问kafka,我们需要去修改config/server.properties 配置文件,改好的文件在下方,看各自的需求在次更改:

vim /opt/kafka2.11/config/server.properties
###集群中唯一
broker.id=0  
####本地ip:端口
listeners=PLAINTEXT://192.168.1.32:9092   #修改成你自己装kafka服务器的ip地址
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=/tmp/kafka-logs

#### 一个topic的partition个数
num.partitions=3
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

##### 每个partition的副本
replication.factor=2
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
####zookeeper集群.
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
########可删除topic
delete.topic.enable=true

嘿嘿可选!安装图形可视化工具!

下载地址:http://www.kafkatool.com/download.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kafka是一个高性能的分布式消息系统,可以通过Win搭建来简化消息传递的管理。本文将介绍Win搭建Kafka详细流程。 1. 安装Java环境 Kafka需要Java环境的支持,建议使用Oracle JDK 8或OpenJDK 8,安装完成之后需要配置JAVA_HOME环境变量。 2. 下载Kafka 从官网下载最新版的Kafka,解压到本地目录。 3. 修改配置文件 修改配置文件——server.properties,需要修改以下属性: - broker.id:Kafka节点的ID,唯一标识一个节点 - listeners:指定Kafka节点用于接收客户端请求的网口,使用“PLAINTEXT://hostname:port”格式 - log.dirs:Kafka存储数据的位置 - zookeeper.connect:Zookeeper的连接信息,使用“host:port”格式 4. 启动Kafka 打开cmd,进入Kafka目录下的bin文件夹,执行以下命令,启动Kafka: ./kafka-server-start.bat ../config/server.properties 5. 创建Topic 使用Kafka提供的命令行创建Topic: ./kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 6. 发布和订阅消息 使用Kafka提供的命令行,可以向Topic发布消息,也可以从Topic订阅消息。以发布消息为例: ./kafka-console-producer.bat --broker-list localhost:9092 --topic test 执行完以上命令后,输入消息回车即可发布消息到Topic。 7. 查看消费消息 使用Kafka提供的命令行,可以从Topic中查看消费消息。以查看消息为例: ./kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning 执行以上命令后,即可查看订阅的Topic中的所有消息。 通过以上步骤,我们就成功搭建了Win上的Kafka环境,并实现了消息的发布与订阅。在实际应用中,需要根据具体环境和需求进行配置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值