kafka初探

环境:必要的依赖,1g的内存。2台机器。

0.安装java

1.安装ZooKeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

从3.5.5开始,带有bin名称的包才是我们想要的下载可以直接使用的里面有编译后的二进制的包,而之前的普通的tar.gz的包里面是只是源码的包无法直接使用。

# cd /software
# wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz
# tar xvf apache-zookeeper-3.5.6-bin.tar.gz
# mv apache-zookeeper-3.5.6-bin /usr/local/zookeeper
# echo "export PATH=\$PATH:/usr/local/zookeeper/bin" >> /etc/profile
# source /etc/profile
# cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
# vi /usr/local/zookeeper/conf/zoo.cfg

改一处,加一处
dataDir=/usr/local/zookeeper/data
server.0=集群成员IP1:2888:3888
server.1=集群成员IP2:2888:3888
...
如果是单机就写一个。

# mkdir /usr/local/zookeeper/data
# vi /usr/local/zookeeper/data/myid
就写一个数字,这个数字就是上面server.0 .1的这个数,根据后面成员IP确定数字。

# zkServer.sh start
# zkServer.sh status

2.安装kafka

# 所有机器都要向其他机器做免密:过程略。

# cd /software
# wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.1/kafka_2.12-2.3.1.tgz
# tar xvf kafka_2.12-2.3.1.tgz
# mv kafka_2.12-2.3.1 /usr/local/kafka
# echo "export PATH=\$PATH:/usr/local/kafka/bin" >> /etc/profile;source /etc/profile
# vi /usr/local/kafka/config/server.properties

1.改broker.id为你台机器在配置zookeeper文件里的编号
2.zookeeper.connect改成zookeeper服务机器,如果是集群,就填多个。

开启kafka
# kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
# jps
1300 QuorumPeerMain
2216 Jps
2121 Kafka
三条,视为成功。

1.增
# kafka-topics.sh --create --zookeeper 集群成员IP:2181 --replication-factor 副本数 --partitions 分片数 --topic 主题名字
# kafka-topics.sh --create --zookeeper 10.1.1.55:2181 --replication-factor 1 --partitions 2 --topic test

2.查
# kafka-topics.sh --list --zookeeper 10.1.1.55:2181 my-replicated-topic

 3.测试

开启生产者模式
# kafka-console-producer.sh --broker-list 集群成员IP:9092 --topic 主题
# kafka-console-producer.sh --broker-list 10.1.1.55:9092 --topic test
变成箭头
>

开启消费者模式
# kafka-console-consumer.sh --bootstrap-server 集群成员IP:9092 --topic 主题 --from-beginning
# kafka-console-consumer.sh --bootstrap-server 10.1.1.55:9092 --topic test --from-beginning

会占用终端
没有报错
生产者输入,消费者输出相同内容。
成功。

4.kafka与filebeat/logstash

filebeat->kafka

#================================ Outputs =====================================
output.kafka:
  enabled: true
  hosts: ["kafka_IP:9092"] #如果你是kafka集群,请用,分隔
  topic: test

kafka->logstash

input{
     kafka {
        topics => "test" 
        type => "kafka"
        bootstrap_servers => "kafka_IP:9092,kafka_IP:9092,kafka_IP:9092" //你的kafka地址
        codec => "json"     		//JSON形式写入
     }
}

具体仍需讨论

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值