分布式kafka集群搭建步骤


vmware 安装centOS7 克隆虚拟为:三台
XX.XX.XX.XX //IP地址
XX.XX.XX.XX
XX.XX.XX.XX
zookeeper+kafka集群搭建步骤

zookeeper 安装步骤:
1.下载zookeeper
2.上传Linux虚拟机环境解压到某目录下如(/usr/local/)下
3.解压到/usr/local/目录下 解压命令:tar zxvf zookeeper-3.4.10.tar.gz
4.配置zookeeper环境变量:命令:vim /etc/profile 打开配置文件
export ZK_HOME=/usr/local/zookeeper-3.4.10
export PATH=$ZK_HOME/bin:$PATH
使用命令:source etc/profile 使配置文件生效
5.修改zookeeper 下conf/文件下的zoo_sample.cfg 为:zoo.cfg 命令:mv zoo_sample.cfg zoo.cfg
6.修改配置文件zoo.cfg 命令打开:vim zoo.cfg

(1):dataDir=/usr/local/zookeeper-3.4.11/data (在zookeeper 的解压目录下创建data目录文件夹)
(2):添加zookeeper集群服务如
server.1=XX.XX.XX.XX:2888:3888
server.2=XX.XX.XX.XX:2888:3888
server.3=XX.XX.XX.XX:2888:3888

7.找到在zookeeper下创建的data文件夹
输入命令:vim myid 输入1 即可其他对应2和3 对应三天服务器
然后执行 source /etc/profile 使文件生效
8.然后启动firewall防火墙:
启动firewall命令:systemctl start firewalld
添加防火墙端口命令:firewall-cmd --zone=public --add-port=2888/tcp --permanent (如2888端口)
命令:systemctl restart firewalld 重启

9启动zookeeper
zkServer.sh start
输出: ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
10.是否成功输入命令:
zkServer.sh status
输出: ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: follower


kafka集群安装步骤:
1.下载kafka (kafka_2.11-0.11.0.1.tgz)
2.上传到linux虚拟机环境某目录下如(/usr/local/)目录下
3.解压到/usr/local/目录下 解压命令:tar tar zxvf kafka_2.11-0.11.0.1.tgz
3.修改配置文件 cd到kafka_2.11-0.11.0.1 的conf目下,使用命令vim server.properties 按字母i进入修改 按esc退出,shift+q 出现:后,输入x! 回车退出到命令界面
server.properties配置文件如下:
# master为1
broker.id=1 //分别剩余机器为2,3,.....
listeners=PLAINTEXT://:9092
port=9092
host.name=XX.XX.XX.XX
advertised.host.name=XX.XX.XX.XX
advertised.port=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=/tmp/kafka-logs
num.partitions=5
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=24
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
# 连接
zookeeper.connect=XX.XX.XX.XX:2181,XX.XX.XX.XX:2181,XX.XX.XX.XX:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0

4.其余机器另外两个节点下输入命令远程拷贝:
1.scp -r kafka_2.12-1.1.0/ XX.XX.XX.XX:/usr/local/
2.scp -r kafka_2.12-1.1.0/ XX.XX.XX.XX:/usr/local/
5.修改:server.properties 文件的 broker.id和listenrs:
如:broker.id=2
listeners=PLAINTEXT://XX.XX.XX.XX:9092
advertised.listeners=PLAINTEXT://XX.XX.XX.XX:9092

broker.id=3
listeners=PLAINTEXT://XX.XX.XX.XX:9092
advertised.listeners=PLAINTEXT://XX.XX.XX.XX:9092
6.cd kafka-_2.12-1.1.0下 启动kafka服务:命令:
bin/kafka-server-start.sh config/server.properties

bin/kafka-console-consumer.sh --bootstrap-server XX.XX.XX.XX:9092 --from-beginning --topic test






创建主体发布消息:

#创建Topic
./kafka-topics.sh --create --zookeeper XX.XX.XX.XX:2181,XX.XX.XX.XX:2181,XX.XX.XX.XX:2181 --replication-factor 2 --partitions 1 --topic test
#解释
--replication-factor 2 #复制两份
--partitions 1 #创建1个分区
--topic #主题为test

'''在一台服务器上创建一个发布者'''
#创建一个broker,发布者
./kafka-console-producer.sh --broker-list XX.XX.XX.XX:9092 --topic test

'''在一台服务器上创建一个订阅者'''
./kafka-console-consumer.sh --zookeeper XX.XX.XX.XX:2181 --topic test --from-beginning

posted @ 2018-11-20 15:47  hanwenshen  阅读(1125)  评论(0)    收藏  举报