kafka单台单节点安装配置

本文详细介绍在Debian系统上单台服务器部署Kafka的过程,包括JDK、Zookeeper及Kafka的安装与配置,适合初学者快速入门。

kafka单台单节点安装配置

       一台Debian-8_系统(基本安装+SSH)

       JDK环境jdk-8u191-linux-x64

       zookeeper-3.4.10

       kafka_2.11-2.1.0

       https://i-blog.csdnimg.cn/blog_migrate/50d4aae20f2daf53700a011d334895f5.png

  • Debian系统安装(略)
  • JDK环境:
    • 上传JDK包
    • 配置JDK

mkdir -p /usr/java                                                         #创建java存放目录

tar -zxvf jdk-8u191-linux-x64.tar.gz -C /usr/java/          #解压jdk并存放到java目录

vim /etc/profile                                                              #编辑全局环境变量添加以下缩进处

export JAVA_HOME=/usr/java/jdk1.8.0_191    

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$JAVA_HOME/bin:$PATH

source /etc/profile                                                         #刷新环境变量

java -version                                                                #查看java是否成功

  • 安装zookeeper(注:kafka强依赖zk,当然kafka包里有zk,但是不建议使用)
    • 上传zookeeper-3.4.10.tar.gz
    • 安装配置zookeeper

mkdir -p /opt/hadoop/                                          #创建zookeeper存放目录

tar -zxvf zookeeper-3.4.10.tar.gz -C /opt/hadoop   #解压zookeeper

cd /opt/hadoop/zookeeper-3.4.10/conf/                 #进入zookeeper配置存放目录

mv zoo_sample.cfg zoo.cfg                                     #把配置文件改名

vim zoo.cfg                                                            #编辑配置文件(缩进处)

       dataDir=/home/hadoop/zkdata                #数据存放目录(topic/消费偏移信息/kafka集群信息)

       clientPort=2181                                               #端口

mkdir -p /home/hadoop/zkdata                             #创建存储目录

vim /etc/profile                                                       #编辑全局环境变量添加以下缩进处

# Zookeeper Environment Variable

export ZOOKEEPER_HOME=/opt/hadoop/zookeeper-3.4.10

export PATH=$PATH:$ZOOKEEPER_HOME/bin

              source /etc/profile                                                  #刷新环境变量

zkServer.sh start                                                     #启动zookeeper

zkServer.sh stop                                                     #关闭zookeeper

  • 安装kafka
  • 上传kafka_2.11-2.1.0.tgz
  • 安装配置kafka

tar -zxvf kafka_2.11-2.1.0.tgz -C /opt/hadoop/       #解压kafka

cd /opt/hadoop/kafka_2.11-2.1.0/conf                    #进入kafka配置目录

vim server.properties                                                #编辑配置文件

broker.id=0                                                       #broker的全局唯一标识

listeners=PLAINTEXT://9092                                    #监听

log.dirs=/home/hadoop/kafka-logs                 #日志目录

zookeeper.connect=localhost:2181                   #配置zookeeper的连接(IP或主机名)

vim /etc/profile                                                       #添加环境变量

export KAFKA_HOME=/opt/hadoop/kafka_2.11-2.1.0

export PATH=$PATH:$KAFKA_HOME/bin

source /etc/profile                                                  #刷新全局环境变量

zkServer.sh status                                                   #查看zookeeper的状态

kafka-server-start.sh /opt/hadoop/kafka_2.11-2.1.0/config/server.properties

                                                                             #启动kafka

                                                                             #成功的标识信息

但是并不能保证Kafka已经启动成功,输入jps查看进程如果可以看到Kafka进程,表示启动成功

至此kafka单台单节点部署完成

<think>我们参考引用中的信息,特别是引用[3]关于Ubuntu上安装Kafka的步骤,但用户要求的是单节点安装,不限定系统?但根据引用[1][2][4]都是Windows的,而引用[3]是Ubuntu的。由于用户没有指定操作系统,我们将分别提供Windows和Linux(以Ubuntu为例)两种系统的安装步骤。但注意,Kafka通常运行在Linux环境下,生产环境推荐Linux。这里我们提供两种方案,用户可根据需要选择。 由于用户问题中引用的内容包含Windows和Ubuntu,且用户没有明确系统,我们决定分别介绍。 ### 单节点安装Apache Kafka #### 前置条件 1. 安装Java Development Kit (JDK) 8或更高版本,并配置环境变量(`JAVA_HOME`和`PATH`)。 - 验证:在终端运行`java -version`。 #### 在Windows上安装 步骤基于引用[1][2][4]: 1. **下载Kafka**:从[官网](https://kafka.apache.org/downloads)下载二进制包(如`kafka_2.13-3.6.1.tgz`),解压到本地目录(例如`F:\kafka`)。 2. **配置ZooKeeper**(Kafka自带的单节点ZooKeeper): - 修改`config\zookeeper.properties`,设置数据目录(例如`dataDir=F:/kafka/zookeeper-data`)。 3. **配置Kafka**: - 修改`config\server.properties`,设置日志目录(例如`log.dirs=F:/kafka/kafka-logs`)和监听地址(`listeners=PLAINTEXT://localhost:9092`)。 4. **启动服务**: - 打开两个命令提示符窗口: - 启动ZooKeeper:`bin\windows\zookeeper-server-start.bat config\zookeeper.properties` - 启动Kafka:`bin\windows\kafka-server-start.bat config\server.properties` 5. **测试**: - 创建主题:`bin\windows\kafka-topics.bat --bootstrap-server localhost:9092 --topic test --create --partitions 1 --replication-factor 1` - 启动生产者:`bin\windows\kafka-console-producer.bat --bootstrap-server localhost:9092 --topic test` - 启动消费者:`bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning` #### 在Linux(Ubuntu)上安装 步骤基于引用[3]: 1. **下载和解压Kafka**: ```bash wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz tar -xzf kafka_2.13-3.6.1.tgz mv kafka_2.13-3.6.1 kafka cd kafka ``` 2. **配置ZooKeeper**(使用Kafka自带的单节点ZooKeeper): - 修改`config/zookeeper.properties`,设置数据目录(例如`dataDir=/tmp/zookeeper`)。 3. **配置Kafka**: - 修改`config/server.properties`,设置日志目录(例如`log.dirs=/tmp/kafka-logs`)和监听地址(`listeners=PLAINTEXT://:9092`)。 4. **启动服务**: - 启动ZooKeeper(后运行):`bin/zookeeper-server-start.sh -daemon config/zookeeper.properties` - 启动Kafka(后运行):`bin/kafka-server-start.sh -daemon config/server.properties` - 或者前运行(便于调试):去掉`-daemon`参数。 5. **测试**(类似Windows): - 创建主题:`bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic test --create --partitions 1 --replication-factor 1` - 启动生产者:`bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test` - 启动消费者:`bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning` ### 注意事项 - 单节点配置仅适用于开发和测试环境,生产环境需要多节点集群。 - 防火墙设置:确保端口2181(ZooKeeper)和9092(Kafka)开放。 - 数据持久化:配置中的日志目录(`log.dirs`)和数据目录(`dataDir`)应设置在持久化存储位置。 ### 配置为系统服务(Ubuntu) 引用[3]提供了将Kafka配置为系统服务的方法,这里简要说明: 1. 为Kafka创建系统用户(可选):`sudo useradd kafka -m` 2. 创建服务文件`/etc/systemd/system/kafka.service`,内容参考引用[3]。 3. 启用并启动服务: ```bash sudo systemctl daemon-reload sudo systemctl enable kafka sudo systemctl start kafka ``` ### 总结 以上步骤在服务器上完成了Kafka安装配置。用户可以根据自己的操作系统选择相应的安装方式。在Windows上,通过命令行启动;在Linux上,还可以配置为系统服务实现开机自启。 §§相关问题§§ 1. 如何配置Kafka的多节点集群? 2. Kafka的生产者和消费者API如何使用? 3. 如何保证Kafka的数据可靠性? 4. Kafka的监控和性能调优有哪些方法?</think>### 在服务器上安装配置Apache Kafka #### 前置条件 1. **安装JDK** Kafka依赖Java环境(推荐JDK 8+): ```bash sudo apt update sudo apt install openjdk-11-jdk # Ubuntu示例 ``` 验证安装:`java -version`。 2. **下载Kafka** 从[官网](https://kafka.apache.org/downloads)下载最新二进制包(例如3.6.1): ```bash wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz tar -xzf kafka_2.13-3.6.1.tgz mv kafka_2.13-3.6.1 kafka cd kafka ``` --- #### 配置与启动 1. **配置ZooKeeper**(单节点内置) 修改`config/zookeeper.properties`: ```properties dataDir=/tmp/zookeeper # ZooKeeper数据目录 clientPort=2181 # 客户端连接端口 ``` 2. **配置Kafka服务** 修改`config/server.properties`: ```properties listeners=PLAINTEXT://:9092 # 监听地址(设置为服务器IP或0.0.0.0) log.dirs=/tmp/kafka-logs # Kafka日志存储目录 zookeeper.connect=localhost:2181 # ZooKeeper地址 num.partitions=1 # 单节点分区数(按需调整) ``` 3. **启动服务** - 启动ZooKeeper: ```bash bin/zookeeper-server-start.sh -daemon config/zookeeper.properties ``` - 启动Kafka: ```bash bin/kafka-server-start.sh -daemon config/server.properties ``` --- #### 验证安装 1. **创建测试主题**: ```bash bin/kafka-topics.sh --create \ --bootstrap-server localhost:9092 \ --topic test-topic \ --partitions 1 \ --replication-factor 1 ``` 2. **发送/接收消息**: - 启动生产者: ```bash bin/kafka-console-producer.sh \ --bootstrap-server localhost:9092 \ --topic test-topic ``` - 启动消费者(新终端): ```bash bin/kafka-console-consumer.sh \ --bootstrap-server localhost:9092 \ --topic test-topic \ --from-beginning ``` 在生产者终端输入消息,消费者终端应实时显示。 --- #### 配置为系统服务(可选) 1. **创建ZooKeeper服务文件** `/etc/systemd/system/zookeeper.service`: ```ini [Unit] Description=Apache Zookeeper After=network.target [Service] Type=simple User=root ExecStart=/path/to/kafka/bin/zookeeper-server-start.sh /path/to/kafka/config/zookeeper.properties Restart=on-failure [Install] WantedBy=multi-user.target ``` 2. **创建Kafka服务文件** `/etc/systemd/system/kafka.service`: ```ini [Unit] Description=Apache Kafka Requires=zookeeper.service After=zookeeper.service [Service] Type=simple User=root ExecStart=/path/to/kafka/bin/kafka-server-start.sh /path/to/kafka/config/server.properties Restart=on-failure [Install] WantedBy=multi-user.target ``` 3. **启用服务**: ```bash sudo systemctl daemon-reload sudo systemctl start zookeeper sudo systemctl start kafka sudo systemctl enable zookeeper kafka # 开机自启 ``` --- #### 关键注意事项 1. **防火墙**:开放端口`2181`(ZooKeeper)、`9092`(Kafka)。 2. **数据持久化**:将`log.dirs`和`dataDir`指向持久化存储目录(如`/var/lib/kafka`)。 3. **安全配置**(生产环境必做): - 启用SASL认证 - 配置SSL加密通信 - 参考官方文档:[Kafka Security](https://kafka.apache.org/documentation/#security) > 提示:单节点配置仅适用于开发/测试环境,生产环境需部署集群并配置副本机制(Replication)[^3][^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值