ELK日志收集分析
下载安装并验证zookeeper
kafka下载地址:http://kafka.apache.org/downloads.html
zookeeper下载地址:http://zookeeper.apache.org/releases.html
安装zookeeper
zookeeper集群特性:整个集群种只要有超过集群数量一半的zookeeper工作只正常的,那么整个集群对外就是可用的
1 | ~]# yum -y install jdk-8u192-linux-x64.rpm |
本集群共使用三台服务器组建,每台服务器除myid不同其余配置保持一样。
启动zookeeper并验证状态
1 | [root@node02 local]# zookeeper/bin/zkServer.sh start |
zookeeper简单操作
1 | #连接到任意节点生成数据: |
安装测试kafka
Broker
Kafka集群包含一个或多个服务器,这种服务器被称为broker
Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)
Partition
parition是物理上的概念,每个topic包含一个或多个partition,创建topic时可指定parition数量。每个partition对应于一个文件夹,该文件夹下存储该partition的数据和索引文件
Producer
负责发布消息到Kafka broker
Consumer
消费消息。每个consumer属于一个特定的consuer group(可为每个consumer指定group name,若不指定group name则属于默认的group)。使用consumer high level API时,同一topic的一条消息只能被同一个consumer group内的一个consumer消费,但多个consumer group可同时消费这一消息。
在三台服务器上分别安装启动kafka
1 | [root@linux-host1 src]# tar xvf kafka_2.11-1.0.0.tgz |
启动kafka
1 | ~]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties #以守护进程的方式启动 |
测试kafka
1 | [root@localhost local]# jps |
测试创建topic
创建名为logstashtest,partitions(分区)为3,replication(复制)为3的topic(主题):
在任意kafaka服务器操作:
1 | [root@node01 local]# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.34.100:2181,192.168.34.101:2181,192.168.34102:2181 --partitions 3 --replication-factor 3 --topic logstashtest |
测试获取topic
可以在任意一台kafka服务器上进行测试
1 | [root@localhost local]# kafka/bin/kafka-topics.sh --describe --zookeeper 192.168.34.100:2181,192.168.34.101:2181,192.168.34.102:2181 --topic logstashtest |
状态说明:logstashtest有三个分区分别为0、1、2,分区0的leader是3(broker.id),分区0有三个副本,并且状态都为lsr(ln-sync,表示可以参加选举成为leader)。
删除指定topic
1 | [root@localhost local]# kafka/bin/kafka-topics.sh --delete --zookeeper 192.168.34.100:2181,192.168.34.101:2181,192.168.34102:2181 --topic logstashtest |
获取所有topic
1 | [root@localhost local]# kafka/bin/kafka-topics.sh --list --zookeeper 192.168.34.100:2181,192.168.34.101:2181,192.168.34.102:2181 |
kafka命令测试消息发送
创建topic
1 | [root@localhost local]# kafka/bin/kafka-topics.sh --create --zookeeper 192.168.34.100:2181,192.168.34.101:2181,192.168.34.102:2181 --partitions 3 --replication-factor 3 --topic messagetest |
发送消息
1 | [root@localhost local]# kafka/bin/kafka-console-producer.sh --broker-list 192.168.34.100:9092,192.168.34.101:9092,192.168.34.102:9092 --topic messagetest |
在其他kafka服务器测试数据获取
1 | [root@node01 local]# kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.34.100:2181,192.168.34.101:2181,192.168.34.102:2181 --topic messagetest --from-beginning |
使用logstash配置文件
编辑logstash配置文件
1 |