这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战
Apache Kafka 简介
Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。
Linux 环境安装单机Kafka
2.1 检查Jdk是否安装
java -version 命令, 我的linux环境已经安装了JDK,直接跳到下一步
2.2 检查zk是否安装
因为Kafka的运行需要依赖zookeeper,所以安装前要检查zookeeper是不已经安装了。 直接去官网下载,然后上传到服务器上.
zk官网: downloads.apache.org/zookeeper/s…
选择Binary downloads,选择版本进行下载
-
解压 [root@VM_0_14_centos local]# tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz
-
配置文件
## 1. 复制配置文件
[root@VM_0_14_centos ~]# cd /usr/local/
[root@VM_0_14_centos local]# tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz
[root@VM_0_14_centos local]# cd apache-zookeeper/
[root@VM_0_14_centos apache-zookeeper]# cd conf/
[root@VM_0_14_centos conf]# cp zoo_sample.cfg zoo.cfg
[root@VM_0_14_centos conf]# vi zoo.cfg
## 2. zoo.cfg文件末尾添加
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
## 3. 在tmp目录创建目录
[root@VM_0_14_centos conf]# mkdir /tmp/zookeeper
[root@VM_0_14_centos conf]# mkdir /tmp/zookeeper/data
[root@VM_0_14_centos conf]# mkdir /tmp/zookeeper/log
## 4. 配置环境变量
[root@VM_0_14_centos conf]# export ZK_PATH=/usr/local/apache-zookeeper/
[root@VM_0_14_centos conf]# export PATH=$PATH:$ZK_PATH/bin
## 5. 启动zk
[root@VM_0_14_centos bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.6.3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
## 6. 验证zk
[root@VM-16-2-centos bin]# ./zkServer.sh status
2.3 安装单节点Kafaka
进入Apache官网 http://kafka.apache.org/downloads.html
选择Binary downloads,选择版本进行下载。一般建议安装1.1 版本之前的,安装的问题比较少。
2.3.1 上传并解压
- tar -xzvf kafka_2.11-1.0.2.tgz
- mv kafka_2.11-1.0.2 kafka
- mkdir -p /tmp/kafka-logs
2.3.2 修改配置文件
修改kafka的config目录下,server.properties文件,主要修改的地方如下:
broker的全局唯一编号,不能重复
broker.id=1
监听
listeners=PLAINTEXT://VM-16-2-centos:9092 advertised.listeners=PLAINTEXT://VM-16-2-centos:9092 日志目录
log.dirs=/tmp/kafka-logs
配置zookeeper的连接(如果不是本机,需要该为ip或主机名)
zookeeper.connect=localhost:2181
注意:这边hostname我直接取的虚拟机配置的名字, linux 系统可以直接用hostname直接查看。
2.3.3 启动kafka
nohup $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties 2>&1 &
好了启动了一下报错,内存不足了, 这台虚拟机安装了太多东西,已经不堪重负了。
没办法只能重新买一台云服务器了,趁着双11活动搞了一台2C4G的服务器重新安装一下。
- 新服务器从JDK开始安装起
- 查看系统是否已经安装JDK yum list installed |grep java
- 在线安装, yum -y install java-1.8.0-openjdk
- 安装zk
- 安装kafka 配置完,这样基本上就是启动OK了
2.4 测试验证
- 创建topic
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
- 查看topic
./kafka-topics.sh -list -zookeeper localhost:2181
- 启动生产者
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
- 启动消费者
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning