kafka+zookeeper搭建步骤
vmware 安装centOS7 克隆虚拟为:三台 本地你的IP
10.118.62.98
10.118.62.129
10.118.62.132
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=10.118.62.98:2888:3888
server.2=10.118.62.129:2888:3888
server.3=10.118.62.132: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=10.118.62.98
advertised.host.name=10.118.62.98
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=10.118.62.98:2181,10.118.62.129:2181,10.118.62.132:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
4.其余机器另外两个节点下输入命令远程拷贝:
1.scp -r kafka_2.12-1.1.0/ 10.118.62.129:/usr/local/
2.scp -r kafka_2.12-1.1.0/ 10.118.62.132:/usr/local/
5.修改:server.properties 文件的 broker.id和listenrs:
如:broker.id=2
listeners=PLAINTEXT://10.118.62.129:9092
advertised.listeners=PLAINTEXT://10.118.62.129:9092
broker.id=3
listeners=PLAINTEXT://10.118.62.132:9092
advertised.listeners=PLAINTEXT://10.118.62.132: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 10.118.62.98:9092 --from-beginning --topic test
创建主体发布消息:
#创建Topic
./kafka-topics.sh --create --zookeeper 10.118.62.98:2181,10.118.62.129:2181,10.118.62.132:2181 --replication-factor 2 --partitions 1 --topic test
#解释
--replication-factor 2 #复制两份
--partitions 1 #创建1个分区
--topic #主题为test
'''在一台服务器上创建一个发布者'''
#创建一个broker,发布者
./kafka-console-producer.sh --broker-list 10.118.62.129:9092 --topic test
'''在一台服务器上创建一个订阅者'''
./kafka-console-consumer.sh --zookeeper 10.118.62.132:2181 --topic test --from-beginning