1.将kafka解压在/opt/kafka
2.配置kafka集群
1.修改config/server.properties文件
$ vi config/server.properties
1.增加host.name主机名(解析需要) broker 为当前集群id
host.name=master
2.配置zookeeper
将zookeeper.connect替换成具体的地址
zookeeper.connect=master:2181,slave0:2181,slave1:2181
2.将kafka scp到slave0跟slave1 的/opt/kafka目录下
$scp kafka copy-master@slave0:/opt
$scp kafka copy-master@slave1:/opt
3.进入slave0跟slave1修改config/server.properties配置中的broker.id跟host.name
slave0: borker.id=1
host.name=slave0
slave1: borker.id=2
host.name=slave1
3.启动集群
分别在master,slave0,slave1启动集群
前台启动:
$bin/kafka-server-start.sh config/server.properties
后台静默启动:
$bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
4.基本使用
创建主题
$bin/kafka-topics.sh --create --zookeeper master:2181 --replication-factor 1 --partitions 1 --topic test
查看有哪些主题
$bin/kafka-topics.sh --list --zookeeper master:2181
创建生产者 (发出消息来源 入口)
$bin/kafka-console-producer.sh --broker-list master:9092 --topic test
创建消费者(接受消息的)
$bin/kafka-console-consumer.sh --zookeeper master:2181 --topic test --from-beginning
查看主题中的信息
$bin/kafka-topics.sh --describe --zookeeper master:2181 --topic test
延伸
同步数据可以使用工具采集数据 -》传到kafka-》通过kafka到收集处-》对数据进行操作
例如
1日志的处理
将日志存储到hdfs
Hadoop实战:使用Maxwell把MySQL数据实时同步到HDFS
测试MySQL->Maxwell->Kafka->Flume->HDFS
2.可以使用kafka作为mysql数据同步