linux 下安装 zookeeper和kafka

本文详细介绍了如何在Linux环境下安装和配置Zookeeper及Kafka。包括Zookeeper的安装步骤、配置修改、服务设置及启动操作;同时涵盖Kafka的安装流程、依赖启动、Topic创建、Producer和Consumer的启动过程。

一、安装zookeeper

1.下载并解压zookeeper

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
tar -zxvf zookeeper-3.4.14.tar.gz

2.重命名

cp zookeeper-3.4.14 /user/local/zookeeper -r

3.进入到zookeeper的config文件夹下,复制一份zoo_sample.cfg并命名为zoo.cfg
在这里插入图片描述
4.修改配置文件

vi /etc/profile

添加如下内容:

export ZOOKEEPER=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin

使配置生效

source /etc/profile 

进入zookeeper的bin目录,
执行sh zkServer.sh start进行启动zookeeper
查看状态 进入bin目录,执行sh zkServer.sh status
停止 进入bin目录,执行sh zkServer.sh stop

5.把zookeeper设置为系统服务并开机自启

  1. 在/etc/rc.d/init.d目录下创建zookeeper文件
    2.加如以下内容,

#!/bin/bash

export JAVA_HOME=/usr/local/jdk1.8.0_211
export PATH=$JAVA_HOME/bin:$PATH 

#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
case $1 in
          start) 
              /usr/local/zookeeper/bin/zkServer.sh start     写自己的安装路径,/usr/local/zookeeper这是我的安装路径

              ;;
          stop)
              /usr/local/zookeeper/bin/zkServer.sh stop
              ;;
          status)
              /usr/local/zookeeper/bin/zkServer.sh status
              ;;
          restart)
             /usr/local/zookeeper/bin/zkServer.sh restart
              ;;
          *)
              echo "require start|stop|status|restart"
              ;;
esac

然后执行一下命令

 chmod 755 zookeeper     //修改文件权限
 chkconfig  --add  zookeeper    //加入服务
 chkconfig  zookeeper  on   //开机自启

再次操作zookeeper时可以使用以下命令

service zookeeper start     //启动
service zookeeper stop    //停止
service zookeeper status  //查看状态
service zookeeper restart  //重启

二、安装kafka

1.下载kafka并解压

wget  http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz
tar -zxvf kafka_2.12-2.3.0

2.重命名

cp kafka_2.12-2.3.0 /usr/local/kafka

3.启动服务
启动zookeeper
启动zk有两种方式,第一种是使用kafka自己带的一个zk。

bin/zookeeper-server-start.sh  config/zookeeper.properties 

另一种是使用其它的zookeeper,可以位于本机也可以位于其它地址。
这种情况需要修改config下面的sercer.properties里面的zookeeper地址 。例如zookeeper.connect=192.168.213.11:2181

成功启动zookeeper后才可以启动kafka。

启动 kafka

 bin/kafka-server-start.sh config/server.properties

4.创建topic

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

创建一个名为test的topic,只有一个副本,一个分区。
通过list命令查看刚刚创建的topic

bin/kafka-topics.sh -list -zookeeper localhost:2181

5.启动producer并发送消息启动producer

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

启动之后就可以发送消息了

6.然后在另一个终端中,启动consumer

以下是旧版本的命令:

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

如果报错:consumer zookeeper is not a recognized option
发现在启动的时候说使用 --zookeeper是一个过时的方法,最新的版本中命令如下:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

启动consumer之后就可以在console中看到producer发送的消息了
可以开启两个终端,一个发送消息,一个接受消息。

### 安装配置 ZooKeeper Kafka #### 1. **安装 ZooKeeper** ZooKeeper 是 Apache Kafka 的依赖服务,用于协调分布式系统。以下是基于 Debian/Ubuntu 系统的安装步骤: - 更新软件包并安装 Java: ```bash sudo apt update sudo apt install default-jdk ``` - 下载并解压 ZooKeeper: ```bash wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz tar -xzf apache-zookeeper-3.7.0-bin.tar.gz mv apache-zookeeper-3.7.0-bin /opt/zookeeper ``` - 创建配置文件 `/opt/zookeeper/conf/zoo.cfg`: ```properties tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 ``` - 创建数据目录并启动 ZooKeeper: ```bash mkdir -p /var/lib/zookeeper cd /opt/zookeeper bin/zkServer.sh start ``` #### 2. **安装 Kafka** 在 ZooKeeper 成功运行后,继续安装 Apache Kafka。 - 下载并解压 Kafka: ```bash wget https://downloads.apache.org/kafka/3.4.0/kafka_2.13-3.4.0.tgz tar -xzf kafka_2.13-3.4.0.tgz mv kafka_2.13-3.4.0 /opt/kafka ``` - 修改 Kafka 配置文件 `/opt/kafka/config/server.properties`: ```properties broker.id=0 listeners=PLAINTEXT://:9092 log.dirs=/var/log/kafka zookeeper.connect=localhost:2181 ``` - 创建日志目录并启动 Kafka: ```bash mkdir -p /var/log/kafka cd /opt/kafka bin/kafka-server-start.sh config/server.properties ``` #### 3. **配置 KafkaT(可选)** KafkaT 是一个命令行工具,用于简化 Kafka 的管理调试工作。它使用 `.kafkatcfg` 文件进行配置[^1]。 - 创建 `.kafkatcfg` 文件: ```yaml :kafka: :install_dir: /opt/kafka :log_dir: /var/log/kafka :zookeeper: :host: localhost:2181 ``` #### 4. **监控 Kafka(可选)** 可以使用 Zabbix 提供的官方 Kafka 监控插件来实现对 Kafka 集群的高级监控功能[^2]。 - 安装并配置 Zabbix Agent。 - 导入 Kafka 监控模板并启用相关监控项。 - 配置告警规则以应对集群异常。 #### 5. **安全加固(可选)** 为了提高 Kafka 的安全性,可以启用 SSL、Kerberos 认证静态数据加密等功能[^3]。 - **SSL 加密**:配置 `server.properties` 启用 SSL 监听器。 - **Kerberos 认证**:在 Kafka 配置中添加 SASL 支持,并集成 Kerberos。 - **静态数据加密**:确保 Kafka 日志目录位于加密文件系统上。 #### 6. **验证安装** 可以通过以下方式确认 Kafka 是否正常运行: - 创建测试主题: ```bash bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 ``` - 启动生产者消费者进行测试: ```bash # 生产者 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic # 消费者 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning ``` 如果能够成功发送接收消息,则表示 Kafka 已正确安装并运行。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值