部署zookeeper搭建kafka集群

部署zookeeper

1. 访问zookeeper官网,下载zookeeper的安装包

访问zookeeper官网

Zookeeper的官网地址为:http://zookeeper.apache.org

可以直接下载好,传到主机上,也直接在主机下载zookeeper

wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

2. 创建数据目录

注:如果创建三个zookeeper,下面的操作就分别在三台主机都执行

*执行以下命令创建数据目录*

mkdir /usr/zookeeper/data

*执行以下命令创建日志目录*

mkdir /usr/zookeeper/data/log

*执行以下命令创建myid,并写入ID。(注:每台主机的id不能相同)*

echo 1 > /usr/zookeeper/data/myid

3. 修改配置文件

从官网下载的zookeeper文件没有zoo.cfg只有zoo_sample.cfg文件。将zoo_sample.cfg文件修改成zoo.cfg文件

mv /usr/local/zookeeper/conf/zoo_sample.cfg zoo.cfg

*修改配置如下:*

dataDir=/usr/zookeeper/data

dataLogDir=/usr/zookeeper/data/log

autopurge.snapRetainCount=3

autopurge.purgeInterval=1

*在最后添加zookeeper集群各节点地址:*

server.1=node1:2888:3888

server.2=node2:2888:3888

server.3=node3:2888:3888

*最后的配置文件内容如下:*

服务器之间或客户端与服务器之间维持心跳的时间间隔

# tickTime以毫秒为单位。

tickTime=2000

# 集群中的follower服务器(F)与leader服务器(L)之间的初始连接心跳数

initLimit=10

# 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数

syncLimit=5

# 快照保存目录

# 不要设置为/tmp,该目录重新启动后会被自动清除

dataDir=/home/hadoop/data/zookeeper/data

# 日志保存目录

dataLogDir=/home/hadoop/data/zookeeper/logs

# 客户端连接端口

clientPort=2181

# 客户端最大连接数。

# 根据自己实际情况设置,默认为60个

# maxClientCnxns=60

# 三个接点配置,格式为:

# server.服务编号=服务地址、LF通信端口、选举端口

server.1=node1:2888:3888

server.2=node2:2888:3888

server.3=node3:2888:3888

4.拷贝配置文件到其他节点

scp -r zookeeper-3.7.0/ node2:/usr/

5.设置java环境变量

因为zookeeper是java开发的,所有启动zookeeper需要设置java环境变量

1.将下面这些信息添加到/etc/profile文件下

export JAVA_HOME=/usr/local/jdk1.8.0_291 --根据自己jdk的地址设置

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.: J A V A H O M E / l i b : JAVA_HOME/lib: JAVAHOME/lib:JRE_HOME/lib:$CLASSPATH

export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME/bin:$PATH

添加完以后source /etc/profile文件

2.添加如下图片里的这行内容

在这里插入图片描述

6.启动zookeeper

*执行以下命令启动zookeeper*

./zkServer.sh start

*执行以下命令检查zookeeper集群中各节点状态:*

./zkServer.sh status

*使用jps命令查看zookeeper进程*

jps

使用kill -9 2432命令杀死leader进程,然后再查看每个节点的Zookeeper状态,如果有一个为leader则验证为好用

部署kafka

1. 访问kafka官网,下载安装包

http://kafka.apache.org/downloads.html

将下载的安装包上传到主机上

2.解压kafka的安装包

tar -xvf kafka_2.13-2.8.0.tgz

3.修改kafka配置文件

broker.id=0 --每台主机的这个参数不能保持一致

port=9092

host.name=192.168.18.128 --修改为自己本机的ip

num.replica.fetchers=1

num.network.threads=8

num.io.threads=8

queued.max.requests=16

socket.send.buffer.bytes=102400

socket.receive.buffer.bytes=102400

socket.request.max.bytes=104857600

log.dirs=/tmp/kafka_logs --根据自己的需要进行修改

num.partitions=3

num.recovery.threads.per.data.dir=1

fetch.purgatory.purge.interval.requests=100

producer.purgatory.purge.interval.requests

delete.topic.enable=true

offsets.topic.replication.factor=1

transaction.state.log.replication.factor=1

transaction.state.log.min.isr=1

log.retention.hours=168

log.segment.bytes=1073741824

log.retention.check.interval.ms=300000

zookeeper.connect=192.168.18.130:2181,192.168.18.129:2181,192.168.18.128:2181 --这个修改成zookeeper的主机和端口

zookeeper.connection.timeout.ms=18000

zookeeper.sync.time.ms=6000000

group.initial.rebalance.delay.ms=0

*将配置文件拷贝到另外的kafka主机*

4. 启动kafka

*进入到bin目录下,执行如下命令启动kafka服务*

./kafka-server-start.sh …/config/server.properties

三个节点都要启动;启动无报错,即搭建成功

5. 测试kafka集群

1. 创建topic

创建一个名为test的topic

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

2. 列出已创建的 topic列表

./kafka-topics.sh --zookeeper 192.168.18.128:2181 --list

3.查看kafka下某个topic下的partition的信息

./kafka-topics.sh --describe --zookeeper 192.168.18.128:2181 --topic test

4.模拟客户端去发送消息

./kafka-console-producer.sh --broker-list kafka1:9092,kafka2:9092,kafka3:9092 --topic test

5.模拟客户端去接收消息

./kafka-console-consumer.sh --zookeeper zk1:3181,zk2:3181,zk3:3181 --from-beginning --topic test

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值