KAFKA安装和配置
因为KAFKA依赖ZOOKEEPER.因此先需要安装ZOOKEEPER
一、ZOOKEEPER下载地址:
1.下载文件
2.解压文件
tar -zxvf zookeeper-3.5.2-alpha.tar.gz
3.移动文件,这里可以不移动,主要看个人的喜好
mv zookeeper-3.5.2-alpha /usr/local/zookeeper
4.复制配置文件
cd /usr/local/zookeeper/conf/
cp zoo_sample.cfg zoo.cfg
5.打开zoo.cfg(zoo.cfg ),粘贴下面内容
dataDir=/usr/local/zookeeper
dataLogDir=/usr/local/zookeeper/log
server.1=192.168.20.76:2888:3888
server.2=192.168.20.77:2888:3888
server.3=192.168.20.75:2888:3888
#### 修改默认端口8080
admin.serverPort=8888
这里需要特别注意,所有的配置项后不能有空格
6.创建myid。根据上述配置,需要对每个zookeeper创建myid文件,在zookeeper的安装目录下/usr/local/zookeeper
myid 输入server 后的值即可
7.修改环境变量
vi /etc/profile
export ZOOKEEPER_INSTALL=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
source /etc/profile
8.启动.zookeeper集群配置需要单独启动每个服务
cd /usr/local/zookeeper/bin/
./zkServer.sh start
二、KAFKA安装
KAFKA下载地址:
http://mirrors.hust.edu.cn/apache/kafka/0.10.0.1/kafka_2.11-0.10.0.1.tgz
1.解压KAFKA
tar -zxvf kafka_2.11-0.10.0.1.tgz
mv kafka_2.11-0.10.0.1.tgz /usr/local/kafka
cd /usr/local/kafka/config/
2.修改配置文件
vi server.properties
#broker id,每个broker id在集群中必须唯一
broker.id=1
listeners=PLAINTEXT://:9092
prot=9092
host.name=192.168.20.75
# 此处有坑,这个配置一定要写上
advertised.host.name=192.168.20.75
advertised.port=9092
log.dirs=/usr/local/kafka/logs
zookeeper.connect=192.168.20.75:2181,192.168.20.76:2181,192.168.20.77:2181/kafka
3.启动KAFKA,每个服务器都需要执行
./kafka-server-start.sh -daemon ../config/server.properties
4.创建TopIC
./kafka-topics.sh --create --zookeeper 192.168.20.75:2181,192.168.20.76:2181,192.168.20.77:2181/kafka --replication-factor 3 --partitions 6 --topic kafkaTopic
参数说明:
–replication-factor 3 #复制两份
–partitions 6 #创建6个分区
–topic #Topic 的名字 kafkaTopic
5.查看创建的Topic
./kafka-topics.sh --describe --zookeeper 192.168.20.75:2181,192.168.20.76:2181,192.168.20.77:2181/kafka --topic kafkaTopic
参数说明:
– Partition: 分区
– Leader : 负责读写指定分区的节点
– Replicas : 复制该分区log的节点列表
– Isr : “in-sync” replicas,当前活跃的副本列表(是一个子集),并且可能成为Leader
6.创建生产者
./kafka-console-producer.sh --broker-list 192.168.20.75:9092,192.168.20.76:9092,192.168.20.77:9092 --topic kafkaTopic
7.创建消费者
./kafka-console-consumer.sh --zookeeper 192.168.20.75:2181,192.168.20.76:2181,192.168.20.77:2181/kafka --from-beginning --topic kafkaTopic
创建完成后,就可以在生产端输入信息,在消费者端看到