### Kafka安装与配置详解 #### 一、Kafka简介 Apache Kafka是一种分布式流处理平台,主要功能包括发布和订阅记录流、存储记录流并可靠地处理这些记录流。Kafka适用于离线和在线的消息消费,如常规的消息收集、网站行为追踪、聚合统计指标等。 #### 二、Kafka安装步骤 ##### 1. 准备环境 在安装Kafka之前,确保已具备以下条件: - 操作系统为Linux。 - 已经安装JDK 1.8或更高版本。 - ZooKeeper集群已经搭建完成。 ##### 2. 上传Kafka压缩包 将Kafka压缩包`kafka_2.11-2.1.1.tgz`上传至集群中的一台服务器的`/home/work/_src`目录,并进行解压操作。 ``` [root@c0_src]# tar -zxvf kafka_2.11-2.1.1.tgz ``` 将解压后的Kafka目录移动到`/home/work/_app/`目录下: ``` [root@c0_src]# mv kafka_2.11-2.1.1 /home/work/_app/ ``` ##### 3. 修改配置文件 进入Kafka的配置目录: ``` [root@c0kafka_2.11-2.1.1]# cd /home/work/_app/kafka_2.11-2.1.1/config/ ``` **修改`server.properties`** 打开`server.properties`文件,进行必要的配置修改: ``` [root@c0config]# vim server.properties broker.id=0 listeners=PLAINTEXT://192.168.133.20:9092 zookeeper.connect=192.168.133.20:2181,192.168.133.21:2181,192.168.133.22:2181,192.168.133.23:2181 delete.topic.enable=true ``` 其中: - `broker.id`表示当前Broker的唯一标识符; - `listeners`指定了Kafka监听端口的地址; - `zookeeper.connect`指定了ZooKeeper集群的连接地址; - `delete.topic.enable`设置为`true`表示允许删除主题。 **修改生产者配置文件** 创建或修改`producer.properties`文件: ``` [root@c0config]# vim producer.properties bootstrap.servers=192.168.133.20:9092,192.168.133.21:9092,192.168.133.22:9092,192.168.133.23:9092 ``` 这里指定了生产者连接的所有Broker地址。 **修改消费者配置文件** 创建或修改`consumer.properties`文件: ``` [root@c0config]# vim consumer.properties bootstrap.servers=192.168.133.20:9092,192.168.133.21:9092,192.168.133.22:9092,192.168.133.23:9092 ``` 这里指定了消费者连接的所有Broker地址。 ##### 4. 分发安装包 使用循环命令将Kafka安装包分发到其他机器上: ``` [root@c0config]# for N in $(seq 1 3); do scp -r /home/work/_app/kafka_2.11-2.1.1 c$N:/home/work/_app/; done; ``` 对于其他机器上的Kafka配置文件,同样需要修改`broker.id`为不同的值,例如1、2、3等。 ##### 5. 配置环境变量 为了方便使用Kafka命令,需要在每台机器上配置环境变量: ``` [root@c0~]# vim /etc/bashrc export KAFKA_HOME=/home/work/_app/kafka_2.11-2.1.1 export PATH=$PATH:$KAFKA_HOME/bin ``` 然后,将该文件分发到所有机器上,并刷新环境变量: ``` [root@c0~]# for N in $(seq 1 3); do scp -r /etc/bashrc c$N:/etc/; done; [root@c0~]# for N in $(seq 0 3); do ssh c$N source /etc/bashrc; done; ``` #### 三、Kafka集群测试 **启动ZooKeeper集群** ``` [root@c0~]# for N in $(seq 0 3); do ssh c$N zkServer.sh start; done; ``` **启动Kafka集群** ``` [root@c0~]# for N in $(seq 0 3); do ssh c$N kafka-server-start.sh -daemon /home/work/_app/kafka_2.11-2.1.1/config/server.properties; jps; done; ``` 通过`jps`命令检查各节点上的进程是否正常启动。 **创建Topic** ``` [root@c0~]# kafka-topics.sh --create --zookeeper c0:2181 --replication-factor 1 --partitions 3 --topic test-topic ``` 以上命令创建了一个名为`test-topic`的主题,分区数为3,副本因子为1。 至此,Kafka集群安装与配置的基本流程已经完成,接下来可以进行进一步的功能测试和使用。


































- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 自动驾驶规划控制常用算法c++代码实现
- C++ 实现自动驾驶规划与控制常用算法代码
- Delphi算法与数据结构精要
- 基于树莓派的自动驾驶小车,利用树莓派和tensorflow实现小车在赛道的自动驾驶 (Self-driving car based on raspberry pi(tensorflow))
- 自动驾驶Apollo源码注释.(annotated Apollo 1.0 source code)
- 基于树莓派与 TensorFlow 的赛道自动驾驶小车实现
- Udacity 自动驾驶系列课程第一期学习内容
- 轻量级LMS 2.0:基于博客的在线评估新方法
- 自动驾驶领域各类算法的实现方式及原理深度分析 自动驾驶相关各类算法的具体实现路径与原理解析 自动驾驶领域各类算法实现方法及核心原理分析 自动驾驶相关各类算法的实现流程与原理深度剖析 自动驾驶领域各类算
- Udacity 自动驾驶培训课程首期班
- 基于 carla-ros-bridge 在 carla 实现自动驾驶规划与控制
- Android studio 打包uniapp
- 机器学习(预测模型):犯罪新闻标题二元分类任务的数据集
- 基于 carla-ros-bridge 在 carla 实现自动驾驶规划与控制
- 使用 TensorFlow 与 OpenCV 模拟自动驾驶系统 基于 TensorFlow 和 OpenCV 的自动驾驶模拟实现 借助 TensorFlow 与 OpenCV 进行自动驾驶模拟 采用


