kafka安装可参照官网:http://kafka.apache.org/documentation
一、单节点安装
1. 解压
tar -xzf kafka_2.10-0.8.1.1.tgz -C /usr/cloud/kafka
sudo vim /etc/profile
export JAVA_HOME=/usr/cloud/java/jdk1.6.0_24
export KAFKA_HOME=/usr/cloud/kafka/kafka_2.10-0.8.1.1/
export PATH=$PATH:$JAVA_HOME/bin:$KAFKA_HOME/bin
source /etc/profile
#去掉 kafka-run-class.sh中的 -XX:UseCompressedOops
2. 使用kafka自带zookeeper启动服务
$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties
3. 启动kafka
$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties
4.创建一个topic
$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
5. 检查创建topic是否创建成功
$KAFKA_HOME/bin/kafka-topics.sh --list --zookeeper localhost:2181
6. 发送消息即启动一个producer
$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
hello word
hello liangjya
7. 启动一个consumer,消费producer发送的消息
$KAFKA_HOME/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
hello word
hello liangjya
二、集群安装
三台机器 hadoop4、hadoop5、hadoop6
规划:
主机名 IP安装的软件 运行的进程
hadoop4 192.168.31.40 jdk、zookeeper、kafkaQuorumPeerMain、Kafka
hadoop5 192.168.31.50 jdk、zookeeper、kafkaQuorumPeerMain、Kafka
hadoop6 192.168.31.60 jdk、zookeeper、kafkaQuorumPeerMain、Kafka
zookeeper安装参照:http://blog.csdn.net/liangjianyong007/article/details/52895196
1、解压(hadoop4),配置环境变量
#每台机器配置环境变量
sudo vim /etc/profile
export JAVA_HOME=/usr/cloud/java/jdk1.6.0_24
export KAFKA_HOME=/usr/cloud/kafka/kafka_2.10-0.8.1.1/
export PATH=$PATH:$JAVA_HOME/bin:$KAFKA_HOME/bin
2、修改server.properties
vim $KAFKA_HOME/config/server.properties
broker.id=1
zookeeper.connect=hadoop4:2181,hadoop5:2181,hadoop6:2181
#拷贝到其他机器(hadoop5,、hadoop6)
scp -r $KAFKA_HOME hadoop5:/usr/cloud/kafka
scp -r $KAFKA_HOME hadoop6:/usr/cloud/kafka
3、将zookeeper集群启动
4、在每一台节点上启动broker
$KAFKA_HOME/bin/kafka-server-start.sh config/server.properties
5、在kafka集群中创建一个topic
$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper hadoop5:2181 --replication-factor 3 --partitions 1 --topic order
6、用一个producer向某一个topic中写入消息
$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list weekend:9092 --topic order
7、用一个comsumer从某一个topic中读取信息
$KAFKA_HOME/bin/kafka-console-consumer.sh --zookeeper hadoop5:2181 --from-beginning --topic order
8、查看一个topic的分区及副本状态信息
$KAFKA_HOME/bin/kafka-topics.sh --describe --zookeeper hadoop5:2181 --topic order