此主题介绍Kafka的安装、配置及基础使用。github
为某企业作的培训,完整文档见:http://gudaoxuri.github.io/bd-lab/ git
Kafka介绍
http://www.infoq.com/cn/articles/kafka-analysis-part-1apache
官网:http://kafka.apache.org/
# 切换到工做空间 cd /opt/workspaces # 建立Kafka数据目录 mkdir data/kafka # 建立Kafka日志目录 mkdir logs/kafka
wget http://mirrors.cnnic.cn/apache/kafka/0.8.2.2/kafka_2.10-0.8.2.2.tgz tar -zxf kafka_2.10-0.8.2.2.tgz rm -rf kafka_2.10-0.8.2.2.tgz mv kafka_2.10-0.8.2.2 ./frameworks/kafka
# 设置以下参数: broker.id=0 port=9092 # 对外主机名 advertised.host.name=<Docker对外IP> # 数据目录 log.dirs=/opt/workspaces/data/kafka # 链接ZK zookeeper.connect=localhost:2181
当您有多块网卡或使用特殊的网络设置致使Kafka启动时使用的IP与对外暴露的IP不一样时须要指定advertised.host.name 为您指望使用的外网IP |
log.dirs 的解释为A comma seperated list of directories under which to store log files ,这里所谓的日志文件指的是Kafka的消息持久化文件,并非通常意义的运行日志 |
# 设置日志目录 kafka.logs.dir=/opt/workspaces/logs/kafka
nohup ./frameworks/kafka/bin/kafka-server-start.sh ./frameworks/kafka/config/server.properties >/dev/null 2>&1 &
./frameworks/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test ./frameworks/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test > This is a message > This is another message # 在另个窗口输入 ./frameworks/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning > This is a message > This is another message