您的位置:首页 > 其它

Kafka安装配置

2017-10-17 16:32 387 查看
Kafka运行依赖 Zookeeper,如未安装Zookeeper请参考(Zookeeper安装使用

Kafka版本问题(这又是一大坑)

如果你的Storm安装的是1.0.X系列或更低的版本,建议你安装0.8.X.X版本的Kafka。

如果你的Storm安装的是1.1.X系列或更高的版本,建议你安装0.10.X.X版本的Kafka。

官方原文:

http://storm.apache.org/releases/1.1.0/storm-kafka-client.html

When selecting a kafka client version, you should ensure - 1. kafka api is compatible. storm-kafka-client module only supports 0.10 or newer kafka client API. For older versions, you can use storm-kafka module (https://github.com/apache/storm/tree/master/external/storm-kafka).


也就是说,1.1.X版的storm引入了新的storm-kafka-client与kafka交互,而1.0.X或更低版本的storm使用旧的storm-kafka与kafka交互。

当然,如果你够牛掰,你也可以自己封装一个spout,直接调用kafka的api与kafka交互(其实也不复杂,只是官方考虑比较全面,也可以简单实现一个)。

下载

wget http://mirror.bit.edu.cn/apache/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz


解压

tar -xzvf kafka_2.11-0.10.2.1.tgz -C /usr/local/


配置环境变量 vi /etc/profile

export KAFKA_HOME=/usr/local/kafka_2.11-0.10.2.1
export PATH=$KAFKA_HOME/bin:$PATH


立即生效环境变量

source /etc/profile


主机名称到IP地址映射配置 (这里我们使用zookeeper一样的配置)

修改/etc/hosts

192.168.1.101  zoo1

#注:调用客户端也需要配置IP映射,否则调用失败,或者可以都直接使用IP调用(要么配置,要么都不配置)
#巨坑:开发过程,外部电脑调用虚拟机,也需要配置IP映射


修改kafka配置

broker.id=1
host.name=zoo1
listeners=PLAINTEXT://zoo1:9092
advertised.listeners=PLAINTEXT://zoo1:9092
log.dirs=/data/kafka-logs
num.partitions=4
zookeeper.connect=zoo1:2181


启动Kafka(记得先启动zookeeper哦)

#注意环境变量是否配置成功
kafka-server-start.sh config/server.properties &
#后台启动
kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
#如没有配置环境变量也可以直接使用绝对路径(或相对路径)启动
/usr/local/kafka_2.11-0.10.2.1/bin/kafka-server-start.sh /usr/local/kafka_2.11-0.10.2.1/config/server.properties &


创建主题

kafka-topics.sh --create --zookeeper zoo1:2181 --replication-factor 1 --partitions 4 --topic  topic1


查看已创建的主题

kafka-topics.sh --list --zookeeper zoo1:2181


删除主题

kafka-topics.sh  --delete --zookeeper zoo1:2181  --topic topic1


彻底删除topic:

1、配置delete.topic.enable=true直接通过命令删除,如果命令删除不掉,直接通过zookeeper-client 删除掉broker下的topic即可。

2、删除kafka存储目录(server.properties文件log.dirs配置)相关topic目录

启动producer发送消息

kafka-console-producer.sh --broker-list zoo1:9092 --topic topic1


启动consumer消费消息

kafka-console-consumer.sh --zookeeper zoo1:2181 --topic topic1 --from-beginning


producer和consumer都启动成功后,在producer命令行输入一行回车,这是consumer马上能看到相同的消息。

producer是提供数据,我们可以使用其他方式,如:

1、使用其他程序调用kafka api

2、使用logstash或flume集成,直接读取日志数据源
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Kafka 安装配置