Kafka集群的创建

环境 

4台主机,操作系统centos7.9,kafka 版本 kafka_2.11-2.4.1,jdk 11版本

IPservername
192.168.10.143server1
192.168.10.144server2
192.168.10.145server3
192.168.10.146server4

 

安装

 

设置主机名称

设置主机名为了后续访问方便,需要在4台机器上都需要操作


[root@localhost ~]# cat <<EOF >>/etc/hosts
 192.168.10.143 server1
 192.168.10.144 server2
 192.168.10.145 server3
 192.168.10.146 server4
 EOF

下载zookeeper,kafka需要使用zookeeper进行管理,如果没有wget使用yum进行安装。

cd /opt
wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz
tar zxf apache-zookeeper-3.6.2-bin.tar.gz
#下载的文件不要删除,其他几天机器还需要使用。解压以后就有了的目录了

zookeep的日志文件,要指定,一般我们放在/usr/lib/zookepper下面,三台机器都需要创建这样的目录 mkdir -p /usr/lib/zookeeper

分别在3台机器机器上设置myid文件,第一台机器myid的内容为1,第二台机器的myid内容为2,第三台为3.此文件是作为zookeeper的server id存在。

继续在3台机器上的zookeeper的conf目录下修改文件,2888是内部通讯用,3888是外部通信用。

mkdir -p /usr/lib/zookeeper
echo "1" >/usr/lib/zookeeper/myid
root@localhost conf]# cat <<EOF >zoo.cfg
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
initLimit=5
syncLimit=2
server.1=server1:2888:3888
server.2=server2:2888:3888
server.3=server3:2888:3888
EOF

确认文件和目录设置以后启动zookeeper并测试。可以发现启动成功。

[root@localhost bin]#cd /opt/apache-zookeeper-3.6.2/bin
[root@localhost bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@localhost conf]#  ../bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/apache-zookeeper-3.6.2-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower

安装scala

scala是kafka的编写语言,需要安装scala环境kafka才能运行。注意kafka需要安装的版本,kafka专门对scala 2.11,2.12,2.13版本有编译好的kafka对应版本,目前我们使用scala 2.11

wget wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar zxf scala-2.11.8.tgz

在三台机器上设置scala home目录并将它的bin目录放到搜索路径,方便将来启动kafka

[root@localhost conf]# cat ~/.bash_profile
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
SCALA_HOME=/opt/scala-2.11.8 #增加
PATH=$PATH:$HOME/bin:${SCALA_HOME}/bin #增加
export PATH
[root@localhost conf]#

scala是在jdk上运行的,我们需要安装jdk,我们选取openjdk11 安装的系统。

 yum install -y java-11-openjdk.x86_64

安装scala

接下来要配置kafka,默认将kafka conf目录下的sanle 

cd /opt/kafka_2.11-2.4.1/config
[root@localhost config]# sed  -e '/^#/d' -e '/^$/d'  server.properties
broker.id=2 #每台服务器都不一样,我们设置为1,3,2
advertised.listeners=PLAINTEXT://server2:9092  #修改成当前机器的主机名称
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=/var/lib/kafka 创建kafka的log目录
num.partitions=40 # 修改成40
num.recovery.threads.per.data.dir=1
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=server1:2181,server2:2181,server3:2181  #根据实际的主机名修改,2181端口不要修改。
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
[root@localhost config]#

每台机器上按照这个设置进行修改,后面有#号的是说明。

确保修改无误,在3台机器上启动kafka,并测试。topic test created,创建成功。

 cd /opt/kafka_2.11-2.4.1/bin/
 ./kafka-server-start.sh ../config/server.properties

 ./kafka-topics.sh --create --zookeeper server1:2181,server2:2181,server3:2181 --replication-factor 1 --partitions 1 --topic   test

至此集群部署结束。
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

老骥又出发

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

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

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

打赏作者

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

抵扣说明:

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

余额充值