前期配置参考:
http://blog.csdn.net/wang_zhenwei/article/details/48346327
前期主要内容包括:
使用三台主机,对应的主机名和IP地址是:
192.168.154.158 Slave1
192.168.154.159 Slave2
192.168.154.160 Slave3
文件配置:
下载zookeeper:
安装zookeeper:
配置zookeeper:
# example sakes.
dataDir=/usr/local/zookeeper/zkdata #这个目录是预先创建的
# zookeeper cluster
server.1=Slave1:2888:3888
server.2=Slave2:2888:3888
server.3=Slave3:2888:3888
红色文字原来的内容
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/tmp/zookeeper
上面两行的意思是:
不要使用/tmp/zookeeper作为目录
因此,需要对它做出修改
建立上面需要的文件夹:
mkdir /usr/local/zookeeper/zkdata
红色背景内容为新增内容
下载Kafka:
安装Kafka:
授权:
将zookeeper和Kafka拷贝到Slave2、Slave3上:
在Slave2、Slave3上操作:
修改配置文件:
vim /etc/profile
在文档的最后方加入下面内容:
export KAFKA_HOME=/usr/local/kafka
export ZK_HOME=/usr/local/zookeeper
在每台机器上运行:
source /etc/profile
使配置生效
每台机器上生成myid:
向/usr/local/zookeeper/zkdata目录操作
Slave1:
echo "1" > /usr/local/zookeeper/zkdata/myid
Slave2:
echo "2" >/usr/local/zookeeper/zkdata/myid
Slave3:
echo "3" > /usr/local/zookeeper/zkdata/myid
关闭防火墙:
service iptables stop
启动zookeeper:
cd /usr/local/zookeeper/bin
打开目录
sh zkServer.sh start
启动
sh zkServer.sh status
查看状态
分别显示如下:
[root@Slave1 bin]# sh zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[root@Slave2 bin]# sh zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: leader
[root@Slave3 bin]# sh zkServer.sh status
JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower
继续工作:
vim /usr/local/kafka/config/server.properties
虚拟机Slave1进行如下操作:
对文件: $KAFKA_HOME/config/server.properties进行修改编辑:
broker.id=0
port=9092
host.name=Slave1
advertised.host.name=Slave1
num.partitions=2
zookeeper.connect=Slave1:2181,Slave2:2181,Slave3:2181
虚拟机Slave2进行如下操作:
对文件: $KAFKA_HOME/config/server.properties进行修改编辑:
broker.id=1
port=9092
host.name=Slave2
advertised.host.name=Slave2
num.partitions=2
zookeeper.connect=Slave1:2181,Slave2:2181,Slave3:2181
虚拟机Slave3进行如下操作:
对文件: $KAFKA_HOME/config/server.properties进行修改编辑:
broker.id=2
port=9092
host.name=Slave3
advertised.host.name=Slave3
num.partitions=2
zookeeper.connect=Slave1:2181,Slave2:2181,Slave3:2181
启动kafka服务:
在Slave1,Slave2,Slave3上分别运行:
cd /usr/local/kafka
打开目录
sh bin/kafka-server-start.sh config/server.properties
启动
在Slave1新建立一个TOPIC:
cd /usr/local/kafka/bin
打开目录
sh kafka-topics.sh --create --topic kafkatopic --replication-factor 1 --partitions 1 --zookeeper Slave1:2181
在Slave2把KAFKA的生产者启动起来:
cd /usr/local/kafka/bin/
sh kafka-console-producer.sh --broker-list Slave2:9092 --sync --topic kafkatopic
在Slave3把消费者启动起来:
cd /usr/local/kafka/bin/
sh kafka-console-consumer.sh --zookeeper Slave3:2181 --topic kafkatopic --from-beginning
验证:
在Slave2输入“aaa”,在Slave3上可以显示出来