ELK-kafka-zookeeper

PS:kafka简介:
Kafka 被称为下一代分布式消息系统,是非营利性组织ASF(Apache Software Foundation,简称为ASF)基金会中的一个开源项目,比如HTTP Server、Hadoop、ActiveMQ、Tomcat等开源软件都属于Apache基金会的开源软件,类似的消息系统还有RbbitMQ、ActiveMQ、ZeroMQ,最主要的优势是其具备分布式功能、并且结合zookeeper可以实现动态扩容。

zookeeper集群特性:整个集群种只要有超过集群数量一半的zookeeper工作只正常的,那么整个集群对外就是可用的,假如有2台服务器做了一个zookeeper集群,只要有任何一台故障或宕机,那么这个zookeeper集群就不可用了,因为剩下的一台没有超过集群一半的数量,但是假如有三台zookeeper组成一个集群,那么损坏一台就还剩两台,大于3台的一半,所以损坏一台还是可以正常运行的,但是再损坏一台就只剩一台集群就不可用了。那么要是4台组成一个zookeeper集群,损坏一台集群肯定是正常的,那么损坏两台就还剩两台,那么2台不大于集群数量的一半,所以3台的zookeeper集群和4台的zookeeper集群损坏两台的结果都是集群不可用,一次类推5台和6台以及7台和8台都是同理,所以这也就是为什么集群一般都是奇数的原因。

一 安装zookeeper

[root@linux-node3 ~]# cd /usr/local/src/
[root@linux-node3 src]# scp kafka_2.11-1.0.0.tgz zookeeper-3.4.11.tar.gz 10.0.0.19:/usr/local/src/
[root@linux-node3 src]# scp kafka_2.11-1.0.0.tgz zookeeper-3.4.11.tar.gz 10.0.0.18:/usr/local/src/

[root@linux-node3 src]# tar xvf zookeeper-3.4.11.tar.gz ----3台都要解压
[root@linux-node3 src]# ln -sv /usr/local/src/zookeeper-3.4.11 /usr/local/zookeeper
‘/usr/local/zookeeper’ -> ‘/usr/local/src/zookeeper-3.4.11’ —台都做软连接
[root@linux-node3 src]# mkdir /usr/local/zookeeper/data --3台都要 创建数据目录

[root@linux-node3 src]# cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg -3台都做,复制配置模版

[root@linux-node3 conf]# ll
total 16
-rw-r–r-- 1 502 games 535 Nov 2 2017 configuration.xsl
-rw-r–r-- 1 502 games 2161 Nov 2 2017 log4j.properties
-rw-r–r-- 1 root root 922 Aug 25 15:05 zoo.cfg
-rw-r–r-- 1 502 games 922 Nov 2 2017 zoo_sample.cfg
PS:参数
tickTime=2000 #服务器之间或客户端与服务器之间的单次心跳检测时间间隔,单位为毫秒
initLimit=10 #集群中leader服务器与follower服务器第一次连接最多次数
syncLimit=5 # leader 与 follower 之间发送和应答时间,如果该follower 在设置的时间内不能与leader 进行通信,那么此 follower 将被视为不可用。
clientPort=2181 #客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求
dataDir=/usr/local/zookeeper/data #自定义的zookeeper保存数据的目录
server.1=192.168.56.11:2888:3888 #服务器编号=服务器IP:LF数据同步端口:LF选举端口
server.2=192.168.56.12:2888:3888
server.3=192.168.56.13:2888:3888
[root@linux-node3 conf]# pwd
/usr/local/zookeeper/conf
[root@linux-node3 conf]# vim zoo.cfg 3台都要改
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/data/
clientPort=2181
server.1=10.0.0.17:2888:3888
server.2=10.0.0.18:2888:3888
server.3=10.0.0.19:2888:3888

[root@linux-node3 conf]# echo “1” > /usr/local/zookeeper/data/myid
[root@linux-node4 conf]# echo “2” > /usr/local/zookeeper/data/myid
[root@nux-node5 conf]# echo “3” > /usr/local/zookeeper/data/myid

[root@linux-node3 conf]# java –version --确认java环境
java version “1.8.0_151”

3台都执行
[root@linux-node3 conf]# /usr/local/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/…/conf/zoo.cfg
Starting zookeeper … STARTED

有一台是leader,其他都是follower
在这里插入图片描述
在这里插入图片描述

二 安装kafka

[root@linux-node3 conf]# cd /usr/local/src/
[root@linux-node3 src]# tar xvf kafka_2.11-1.0.0.tgz 3台解压出来
[root@linux-node3 src]# ln -sv /usr/local/src/kafka_2.11-1.0.0 /usr/local/kafka
‘/usr/local/kafka’ -> ‘/usr/local/src/kafka_2.11-1.0.0’ 3台都软连接

[root@linux-node3 src]# vim /usr/local/kafka/config/server.properties 3台有一个参数每个不一样
node3
broker.id=1
listeners=PLAINTEXT://10.0.0.17:9092 —32行
log.retention.hours=24 —103行,日志保存时间
zookeeper.connect=10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181
node4
broker.id=2
listeners=PLAINTEXT://10.0.0.18:9092
log.retention.hours=24
zookeeper.connect=10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181在这里插入图片描述

node5
broker.id=3
listeners=PLAINTEXT://10.0.0.19:9092
log.retention.hours=24
zookeeper.connect=10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181

以守护进程方式启动,3台都起
[root@linux-node3 src]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

[root@linux-node3 src]# tail -f /usr/local/kafka/logs/server.log 日志文件
在这里插入图片描述
[root@linux-node3 src]# jps --看后台启动的命令
20066 Jps
18711 QuorumPeerMain
19901 Kafka

测试创建topic:
创建名为logstashtest,partitions(分区)为3,replication(复制)为3的topic(主题):
在任意kafaka服务器操作:

[root@linux-node3 src]# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181 --partitions 3 --replication-factor 3 --topic logstashtest
Created topic “logstashtest”. 相当于在3台都执行执行了

测试topic
[root@linux-node5 src]# /usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper 10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181 --topic logstashtest
在这里插入图片描述
删除topic
[root@linux-node5 src]# /usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper 10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181 --topic logstashtest
Topic logstashtest is marked for deletion.
Note: This will have no impact if delete.topic.enable is not set to true.

获取所有topic
[root@linux-node5 src]# /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper 10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181

kafka命令测试消息发送
创建topic:
[root@linux-node5 src]# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181 --partitions 3 --replication-factor 3 --topic messagetest
Created topic “messagetest”.

写消息
[root@linux-node5 ~]# /usr/local/kafka/bin/kafka-console-producer.sh --broker-list 10.0.0.17:9092,10.0.0.18:9092,10.0.0.19:9092 --topic messagetest
在这里插入图片描述
[root@linux-node3 src]# /usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper 10.0.0.17:2181,10.0.0.18:2181,10.0.0.19:2181 --topic messagetest --from-beginning
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值