kafka(2)-zookeeper集群+kafka集群环境搭建(超详细)


kafka(2)-环境搭建

环境准备

kafka集群最低3个broker,所以准备了3台linux服务器(局域网内IP分别是192.168.130.106,192.168.130.107,192.168.130.108),每台安装1个zookeeper和1个kafka。

前期工作:当然是得把jdk环境配置正确。

第一步:安装zookeeper
zookeeper下载:https://zookeeper.apache.org/releases.html
为了统一管理软件,我都将软件放置/usr/local/software目录下(如果不熟悉linux命令操作,最好先去学习一下,方便之后操作,磨刀不误砍柴工)

解压文件到/usr/local/software目录下:

tar -zvxf zookeeper-3.4.14.tar.gz -C /usr/local/software

进入zookeeper目录

cd /usr/local/software/zookeeper-3.4.14

创建data、dataLog两个目录

mkdir data
mkdir dataLog

zookeeper目录结构
zookeeper目录结构

创建myid文件,并设置当前zookeeper节点id,注意:集群中的zookeeper节点id不能重复

touch data/myid
echo 1 > data/myid

myid文件

复制一份配置文件出来单独修改

cp conf/zoo-sample.cfg conf/zoo.cfg
vim conf/zoo.cfg

在文件最后添加以下配置:

##data dir setting
dataDir=/usr/local/zookeeper-3.4.14/data
dataLogDir=/usr/local/zookeeper-3.4.14/dataLog
##cluster
server.1=192.168.130.106:2888:3888
server.2=192.168.130.107:2888:3888
server.3=192.168.130.108:2888:3888

说明

  1. cluster配置的格式:server.X=ip:port1:port2,X表示zookeeper节点id,port1是访问zookeeper集群follower和leader之间通信的端口,port2是重新选举leader的端口。
  2. 配置文件中还有个参数:clientPort,默认是2181,是客户端连接server的端口,可改可不改(端口被占用就改呗)。

完整zookeeper配置文件
注意图中红框处需注释
zookeeper配置文件
启动zookeeper之前还要开通防火墙的端口,否则会报连接不到其他zookeeper节点的错误,开通端口有两种方式:iptablesfirewall-cmd

iptables方式开通端口
#开放端口:2181
iptables -I INPUT -p tcp --dport 2181 -j ACCEPT

#将更改进行保存,否则重启服务器就失效
iptables save

#重启防火墙以便改动生效:(或者直接重启系统)
iptables restart
firewall-cmd方式开通端口
##开启防火墙
systemctl start firewalld

##开放指定端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent
##命令含义:
--zone #作用域
--add-port=2181/tcp  #添加端口,格式为:端口/通讯协议
--permanent  #永久生效,没有此参数重启后失效

重启防火墙
firewall-cmd --reload

说明:因为zookeeper配置了2181、2888、3888端口,后续kafka还会配置其他端口,都需要开通。

启动zookeeper

## 已经在zookeeper目录下
bin/zkServer.sh start conf/zoo.cfg

## 查看zookeeper启动情况
bin/zkServer.sh status

通过查看每台zookeeper启动情况,会发现有1个leader,其余为follower。

第二步:安装kafka
kafka下载:http://kafka.apache.org/

解压文件到/usr/local/software目录下:

tar -zvxf kafka_2.12-2.3.0 -C /usr/local/software

进入kafka目录

cd /usr/local/software/kafka_2.12-2.3.0

创建logs目录

mkdir logs

修改server.properties配置文件

vim /config/server.properties

主要修改以下几个参数:

## 每个broker的唯一标识,在一个集群不能重复
broker.id=0

## kafka监听的端口,默认9092,且这个配置是默认注释的,可改可不改(端口被占用就修改呗),旧版本是port=9092
listeners=PLAINTEXT://:9092

## kafka把所有消息保存在磁盘上,log.dirs指定保存路径,默认是/tmp/kafka-logs,不过在linux中/tmp是临时目录,不安全。当然log.dirs也可指定在/var目录下
log.dirs=/usr/local/software/kafka_2.12-2.3.0/logs

## 连接的zookeeper地址,以下是连接zookeeper集群的配置方式,多个地址以英文逗号隔开
zookeeper.connect=192.168.130.106:2181,192.168.130.107:2181,192.168.130.108:2181

OK!然后启动kafka

bin/kafka-server-start.sh config/server.properties
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值