前提条件:
1.拥有Ubuntu16.04环境
2.Ubuntu系统下安装好jdk1.8
3.Ubuntu系统下安装好scala2.11
安装步骤:
1.下载kafka安装包,下载地址:http://archive.apache.org/dist/kafka/0.10.2.0/
下载版本:kafka_2.11-0.10.2.0.tgz
其中:2.11为scala对应的版本号 0.10.2.0位kafka版本号,
将安装包通过WinSCP等工具上传至Linux系统的~/soft目录下。
运行kafka依赖于ZooKeeper,可以用kafka自带的ZooKeeper,也可以使用自己安装的ZooKeeper。
2.解压安装包
$ cd soft/
$ tar -zxf kafka_2.11-0.10.2.0.tgz
建立软链接,方便使用
$ ln -s kafka_2.11-0.10.2.0 kafka
3.配置环境变量
$ nano ~/.bashrc
添加如下语句:
export KAFKA_HOME=~/soft/kafka
export PATH=$PATH:$KAFKA_HOME/bin
保存后,让环境变量立即生效
$ source ~/.bashrc
4.kafka几个重要概念
在测试之前,先了解一下kafka的几个重要概念
4.1. Broker(代理)
Kafka集群包含一个或多个服务器,这种服务器被称为broker
4.2. Topic(主题)
每条发布到Kfaka集群的消息都有一个类别,这个类别被称为Topic。
4.3. Partition(分区)
Partition是物理上的概念,每个Topic包含一个或多个Partition。
4.4. Producer(生产者)
负责生产消息。
4.5. Consumer(消费者)
消息的消费者。
4.6. Consumer Group(消费组)
每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)
5.测试
5.1 先启动ZooKeeper服务
可以启动Kafka自带的ZooKeeper服务,也可以器启动自己安装的ZooKeeper(参考:安装ZooKeeper)
这里先用Kafka自带的ZooKeeper服务
$ cd ~/soft/kafka
$ bin/zookeeper-server-start.sh config/zookeeper.properties
此时shell不会返回命令行,不要关闭这个终端。
5.2启动kafka服务
打开另外一个新的终端(重要),输入以下命令
$ cd ~/soft/kafka
$ bin/kafka-server-start.sh config/server.properties
5.3 创建一个名为"test1"的topic
$ cd ~/soft/kafka
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test1
查看所包含的topic
$ bin/kafka-topics.sh --list --zookeeper localhost:2181
5.4 打开Producer(生产者)服务
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test1
输入以上命名后也不会返回命令行,不要关闭这个终端。
5.5 打开Customer(消费者)服务
另起一个新的终端
$ bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test1 --from-beginning
5.6测试:
在打开生产者服务的终端输入一些数据,回车后,在打开消费者服务的终端能看到生产者终端输入的数据,如下图所示:
如果生产者终端输入的数据能被消费者终端正确的接收到,说明kafka安装成功。
完成!enjoy it!