linux(centos)部署kafka(单点快速开始;单机器部署集群;多机器部署集群)

2 篇文章 0 订阅
2 篇文章 0 订阅

转载请注明出处:linux(centos)部署kafka(单点快速开始;单机器部署集群;多机器部署集群)_centos 部署kafka 3.5集群-CSDN博客

目录

注意:

下载解压

单点快速开始

单点搭建遇到的坑:

单台linux上kafka集群搭建:

先弄zk集群:

再弄kafka集群

搭好要测试哦!!!

多台机器集群搭建

先搭建zk集群

再搭建kafka集群

搭好要测试哦!!!

参考文献:


注意:

1、单台机器上又部署zk,又部署kafka,比较吃内存,一开始可能还好,能启动起来,但是内存不够的话,后面可能用着用着kafka就挂掉一个节点。

2、我这里在进行集群部署的时候只部了三个,不过实际使用的时候最好部署五个,避免一个节点挂掉之后,剩下两个争夺主,而导致不可用。

下载解压

#下载解压
#wget https://mirrors.bfsu.edu.cn/apache/kafka/2.6.0/kafka_2.13-2.6.0.tgz
#域名变了
wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz
tar -xvzf kafka_2.13-2.6.0.tgz
cd kafka_2.13-2.6.0

单点快速开始

#后台启动zk
#注:单点启动的zk配置文件用默认的就好了,也可以进去改一下dataDir,dataLogDir,clientPort啥的
#注:可以先用bin/zookeeper-server-start.sh config/zookeeper.properties前台启动
#看一看是否有报错
nohup bin/zookeeper-server-start.sh config/zookeeper.properties &

#修改配置文件中的几个配置项
vim config/server.properties
#监听地址:如果没有配置默认为localhost:9092
listeners=PLAINTEXT://你的ip:9092
#日志路径
log.dirs=/tmp/kafka-logs
#连接zk的地址,如果上面zk的配置文件改了这里也要改
zookeeper.connect=localhost:2181
#partitions数量
num.partitions=10
#自动创建主题,可选项,自己决定是否设置
auto.create.topics.enable=true
#factor的几个相关参数:
#注:这些参数默认为1,但是如果搭建单点的时候该大,启动就会报错
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
default.replication.factor=1

#后台启动kafka
#同样可以前台先启动看一下日志
nohup bin/kafka-server-start.sh config/server.properties &

#搭建完要进行测试哦!!!!!

单点搭建遇到的坑:

1、自己搭的时候为了方便把别人搭好的kafka集群的配置文件拷过来用了,factor相关参数都设置成了2,就一直启不起来,后来全部改为1,就好了。

offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
default.replication.factor=2

单台linux上kafka集群搭建:

先弄zk集群:

1、搞三个配置文件,主要配置项如下,可以看出来,主要是dataDir,dataLogDir以及clientPort不一样:

#config/zookeeper.properties01
dataDir=/data/kafka-relate/zookeeper01
dataLogDir=/data/kafka-relate/zookeeper01

clientPort=2181

maxClientCnxns=60
admin.enableServer=false

initLimit=10
syncLimit=5

#server后面的序号要写到dataDir的myid文件中
server.1=ip:2881:3881
server.2=ip:2882:3882
server.3=ip:2883:3883
#config/zookeeper.properties02
dataDir=/data/kafka-relate/zookeeper02
dataLogDir=/data/kafka-relate/zookeeper02

clientPort=2182

maxClientCnxns=60
admin.enableServer=false

initLimit=10
syncLimit=5

#server后面的序号要写到dataDir的myid文件中
server.1=ip:2881:3881
server.2=ip:2882:3882
server.3=ip:2883:3883
#config/zookeeper.properties03
dataDir=/data/kafka-relate/zookeeper03
dataLogDir=/data/kafka-relate/zookeeper03

clientPort=2183

maxClientCnxns=60
admin.enableServer=false

initLimit=10
syncLimit=5

#server后面的序号要写到dataDir的myid文件中
server.1=ip:2881:3881
server.2=ip:2882:3882
server.3=ip:2883:3883

2、到各自的dataDir里面创建myid文件

echo "1" > /data/kafka-relate/zookeeper01/myid
echo "2" > /data/kafka-relate/zookeeper02/myid
echo "3" > /data/kafka-relate/zookeeper03/myid

3、启动(可以先前台启动,看看启动会是否成功,再用后台启动)

注:这里前台启动第一个的时候会有连接不到后两个的警告,应该是正常的,因为后两个还没启。

nohup bin/zookeeper-server-start.sh config/zookeeper.properties01 &
nohup bin/zookeeper-server-start.sh config/zookeeper.properties02 &
nohup bin/zookeeper-server-start.sh config/zookeeper.properties03 &

可以用supercisor启动,注意这里要加上 environment,下面给出了一个示例。

[program:zookeeper01]
directory = /opt/kafka_2.13-2.6.0/bin
environment = JAVA_HOME=/usr/java/jdk1.8.0_121; JAVA_OPTS='-server -Xms8175m -Xmx8175m -Xmn512m -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+UseCMSCompactAtFullCollection -XX:+CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=8045 -Djava.rmi.server.hostname=ip'; CLASSPATH=/usr/local/tomcat/bin/bootstrap.jar:/usr/java/jdk1.8.0_121/lib/tools.jar:/usr/local/tomcat/common/lib/servlet.jar; PATH=/usr/java/jdk1.8.0_121/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/sbin:/usr/sbin
command = /opt/kafka_2.13-2.6.0/bin/zookeeper-server-start.sh /opt/kafka_2.13-2.6.0/config/zookeeper.properties01
autostart = true
startsecs = 10
autorestart = true
startretries = 50
user = root
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /data/kafka-relate/zookeeper01/supervisor.logs

再弄kafka集群

1、先弄多个配置文件,这里只列出一下需要注意的点:

#config/server.properties01
broker.id=1
listeners=PLAINTEXT://ip:9092
log.dirs=/data/kafka-relate/kafka-logs01

#上面设置的zk地址
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

#partitions数量
num.partitions=10

#自动创建主题,可选项,自己决定是否设置
auto.create.topics.enable=true

#factor相关参数,从别人多台集群抄来的:
offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
default.replication.factor=2
#config/server.properties02
broker.id=2
listeners=PLAINTEXT://ip:9093
log.dirs=/data/kafka-relate/kafka-logs02

#上面设置的zk地址
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

#partitions数量
num.partitions=10

#自动创建主题,可选项,自己决定是否设置
auto.create.topics.enable=true

#factor相关参数,从别人多台集群抄来的:
offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
default.replication.factor=2
#config/server.properties03
broker.id=3
listeners=PLAINTEXT://ip:9094
log.dirs=/data/kafka-relate/kafka-logs03

#上面设置的zk地址
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183

#partitions数量
num.partitions=10

#自动创建主题,可选项,自己决定是否设置
auto.create.topics.enable=true

#factor相关参数,从别人多台集群抄来的:
offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
default.replication.factor=2

2、启动(可以先前台启动,看看启动会是否成功,再用后台启动)

nohup bin/kafka-server-start.sh config/server.properties01 &
nohup bin/kafka-server-start.sh config/server.properties02 &
nohup bin/kafka-server-start.sh config/server.properties03 &

搭好要测试哦!!!

1、添加一个top

2、生产

3、消费

多台机器集群搭建

先搭建zk集群

1、配置文件

#config/zookeeper.properties
dataDir=/data/kafka-relate/zookeeper
dataLogDir=/data/kafka-relate/zookeeper

clientPort=2181

maxClientCnxns=60
admin.enableServer=false

initLimit=10
syncLimit=5

#server后面的序号要写到dataDir的myid文件中
server.1=ip1:2881:3881
server.2=ip2:2882:3882
server.3=ip3:2883:3883

2、 到各自的dataDir里面创建根据myid文件(根据上述配置中server.num对应的ip写入对应的num)

#假设本机是server.1
echo "1" > /data/kafka-relate/zookeeper/myid

3、分别启动(可以先前台启动,看看启动会是否成功,再用后台启动)

注:这里前台启动第一个的时候会有连接不到后两个的警告,应该是正常的,因为后两个还没启。

nohup bin/zookeeper-server-start.sh config/zookeeper.properties &

再搭建kafka集群

1、配置文件

注:broker.id每台机器不一样(分别设置成1、2、3),其它配置都一样即可。

#config/server.properties
broker.id=1
listeners=PLAINTEXT://ip:9092
log.dirs=/data/kafka-relate/kafka-logs

#上面设置的zk地址
zookeeper.connect=ip1:2181,ip2:2181,ip3:2181

#partitions数量
num.partitions=10

#自动创建主题,可选项,自己决定是否设置
auto.create.topics.enable=true

#factor相关参数,从别人多台集群抄来的:
offsets.topic.replication.factor=2
transaction.state.log.replication.factor=2
default.replication.factor=2

2、分别在每台机器上启动(可以先前台启动,看看启动会是否成功,再用后台启动)

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

搭好要测试哦!!!

1、添加一个top

2、生产

3、消费

kafka manager搭建

Linux安装Kafka-Manager_linux安装kafka manager-CSDN博客

参考文献:

Apache Kafka

简易教程 | Kafka从搭建到使用 - 知乎

https://www.cnblogs.com/luotianshuai/p/5206662.html

Linux安装Kafka-Manager_linux安装kafka manager-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值