linux环境安装kafka集群

  linux下安装kafka,首先确保zookeeper已经安装成功,想要安装zookeeper,必须先在linux中安装好jdk。

下面我们依次开始安装jdk,zookeeper,kafka。

一:安装jdk:

  1.检查linux环境是否安装了jdk可以用java -version或者rpm -qa|grep jdk 。

  2.下载jdk-8u221-linux-x64.tar.gz。可以在官网上下载,也可以从百度云盘中下载,百度云盘中有jdk,zookeeper,kafka安装包

    https://pan.baidu.com/s/1JjAS4VXRVzPkwuxylJnk4w 提取码:79i1 。

  3.下载到本地后用rz命令把安装包传到linux服务器的usr/local/java目录下。

  4.然后用解压缩命令解压缩tar -zxvf jdk-8u221-linux-x64.tar.gz。

  5.配置jdk环境变量:编辑/etc/下的profile文件: vi /etc/profile

   在文件末尾添加如下配置:

   export JAVA_HOME=/usr/local/java/jdk1.8.0_162

   export JRE_HOME=${JAVA_HOME}/jre

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

   export PATH=${JAVA_HOME}/bin:$PATH

   标红色路径为jdk解压路径,根据实际情况配置,保存配置文件退出。

  6.使/etc/profile生效  :source /etc/profile

  7.测试jdk安装是否成功: java -version

二:安装zookeeper:

  1.可以wget下载zookeeper-3.4.13.tar.gz,也可以下载到本机安装包,然后用rz命令传到服务器/usr/local/zookeeper路径下。

  2.解压缩,用解压缩命令,tar -zxvf zookeeper-3.4.13.tar.gz解压。

  3.编辑配置文件前看一下本机ip,及端口号占用。netstat -tunlp ,用于显示tcp,udp的端口和进程等相关情况。netstat -tunlp|grep 端口号,用于查看指定端口号的进程情况。

  hostname命令可以看本服务器ip地址。查看/tmp/zookeeper/data,/tmp/zookeeper/log目录,如果没有用mkdir命令创建。
  10.0.66.50服务器:创建myid文件:server ID和myid对应(三个服务器分别写入1,2,3)
  echo 1 >> /tmp/zookeeper/data/myid
  10.0.47.32服务器:创建myid文件:server ID和myid对应(三个服务器分别写入1,2,3)
  echo 2 >> /tmp/zookeeper/data/myid
  10.0.66.65服务器:创建myid文件:server ID和myid对应(三个服务器分别写入1,2,3)
  echo 3 >> /tmp/zookeeper/data/myid

  4.编辑配置文件:进入conf目录:cd zookeeper-3.4.13/conf,
  将zoo_sample.cfg这个文件复制为zoo.cfg (必须是这个文件名):cp zoo_sample.cfg zoo.cfg,
  进入zoo.cfg文件进行编辑:vim zoo.cfg,
  按 i 进入编辑模式,修改以下内容(修改之前看端口号是否被占用):
    tickTime=2000
    initLimit=10
    syncLimit=5
    dataDir=/tmp/zookeeper/data
    dataLogDir=/tmp/zookeeper/log
    clientPort=2181
    server.1=10.0.66.50:2888:3888
    server.2=10.0.47.32:2888:3888
    server.3=10.0.66.65:2888:3888
  参数说明

 

    tickTime:指 zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔。
    initLimit:用来指定zookeeper 集群中leader接受follower初始化连接时最长能忍受的心跳时间间隔数。若超过 指定个心跳的时间间隔leader还没有收到follower的响应,表明follower连接失败。
    syncLimit:指定 leader与follower之间请求和应答时间最长不能超过多少个 tickTime 。
    dataDir:快照日志的存储路径。
    dataLogDir:事物日志的存储路径,如果不配置该路径,当zk吞吐量较大的时,会严重影响zk的性能。
    clientPort:客户端连接 zookeeper 服务器的端口,默认为2181。
    server.1 这个1是服务器的标识也可以是其他的数字,这个标识要写到dataDir目录下面myid文件里。
    server.1=hostname:2888:3888,hostname后面的第一个端口2888主要用于leader和follower之间的通信,第二个端口3888主要用于选主。
  5.配置zookeeper环境变量,首先打开profile文件,vim /etc/profile 按i进入编辑模式,在文件末尾添加zookeeper环境变量
    #set zookeeper environment
    export ZK_HOME=/usr/local/zookeeper/zookeeper-3.4.13/
    export PATH=$ZK_HOME/bin:$PATH
  保存文件后,让该环境变量生效 source /etc/profile
  6.另外两台也一样安装
  7.启动zookeeper
    '/usr/local/zookeeper/zookeeper-3.4.13/bin/zkServer.sh start'
  8.查看zookeeper状态
    '/usr/local/zookeeper/zookeeper-3.4.13/bin/zkServer.sh status'
  9.停止zookeeper
    '/usr/local/zookeeper/zookeeper-3.4.13/bin/zkServer.sh stop'
三.安装kafka:
  1.可以wget下载kafka_2.11-2.1.1.tgz,也可以下载到本机安装包,然后用rz命令传到服务器/usr/local/kafka路径下。
  2.解压缩,用解压缩命令,tar -zxvf kafka_2.11-2.1.1.tgz解压。
  3.配置kafka环境变量,vim /etc/profile,按i进入编辑模式,在文件末尾添加kafka环境变量
    #set kafka environment
    export KAFKA_HOME=/usr/local/kafka/kafka_2.11-2.1.1
    PATH=${KAFKA_HOME}/bin:$PATH
  保存文件后,让该环境变量生效
    source /etc/profile
  4.10.0.66.50服务器,修改配置文件config下面的server.properties
    broker.id=1
    listeners = PLAINTEXT://10.0.66.50:9092
    log.dirs=/tmp/kafka/log
    zookeeper.connect=10.0.66.50:2181,10.0.47.32:2181,10.0.66.65:2181

  10.0.47.32服务器,修改配置文件server.properties
    broker.id=2
    listeners = PLAINTEXT://10.0.47.32:9092
    log.dirs=/tmp/kafka/log
    zookeeper.connect=10.0.66.50:2181,10.0.47.32:2181,10.0.66.65:2181

  10.0.66.65服务器,修改配置文件server.properties
    broker.id=3
    listeners = PLAINTEXT://10.0.66.65:9092
    log.dirs=/tmp/kafka/log
    zookeeper.connect=10.0.66.50:2181,10.0.47.32:2181,10.0.66.65:2181
  主要修改一下四个地方:
    1) broker.id 需要保证每一台kafka都有一个独立的broker
    2) listeners = PLAINTEXT://当前虚拟机ip地址:9092
    3) log.dirs 数据存放的目录
    4) zookeeper.connect zookeeper的连接地址信息
  5.启动kafka(要确保zookeeper已启动),每台主机上分别启动kafka。
    /usr/local/kafka/kafka_2.11-2.1.1/bin/kafka-server-start.sh -daemon /usr/local/kafka/kafka_2.11-2.1.1/config/server.properties
  6.创建一个名称为test-topic-7的Topic,7个分区,并且复制因子为3,执行如下命令:
    /usr/local/kafka/kafka_2.11-2.1.1/bin/kafka-topics.sh --create --zookeeper 10.0.66.50:12181,10.0.47.32:12181,10.0.66.65:12181 --replication-factor 3 --partitions 7 --topic     test-topic-7
  7.查看创建的topic信息,进入kafka的bin目录下,执行如下命令:
    /usr/local/kafka/kafka_2.11-2.1.1/bin/kafka-topics.sh --describe --zookeeper 10.0.66.50:12181,10.0.47.32:12181,10.0.66.65:12181 --topic test-topic-7
  8.在其中一台服务器启动生产者(producer)
    /usr/local/kafka/kafka_2.11-2.1.1/bin/kafka-console-producer.sh --broker-list 10.0.66.50:9092,10.0.47.32:9092,10.0.66.65:9092 --topic test-topic-7
  9.在任意议一台服务器启动消费者(consumer),接受消息
    /usr/local/kafka/kafka_2.11-2.1.1/bin/kafka-console-consumer.sh --bootstrap-server 10.0.66.50:9092,10.0.47.32:9092,10.0.66.65:9092 --topic test-topic-7 --from-beginning

  10.如果consumer服务器接收到producer服务器输入的内容,则启动集群成功。

  执行生产者命令,在生产者命令窗口输入消息。

  执行消费者命令,在消费者命令窗口显示消息。

 

 

 

 

 

 

 

 

 

 

 

  

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 安装Kafka集群的步骤如下: 1. 下载Kafka安装包并解压缩到指定目录。 2. 配置Kafka集群的Zookeeper服务,可以使用已有的Zookeeper集群或者单独安装一个Zookeeper集群。 3. 配置Kafka集群的Broker节点,包括修改配置文件、启动Broker进程等。 4. 配置Kafka集群的Topic,包括创建Topic、修改Topic配置等。 5. 测试Kafka集群的功能,包括发送和接收消息等。 以上是Kafka集群的基本安装步骤,具体操作可以参考Kafka官方文档或者相关教程。 ### 回答2: Kafka是一个分布式的消息队列系统,可以支持大规模的消息处理和存储。在Linux系统中安装Kafka集群一般需要以下步骤: 1. 首先安装Java环境,因为Kafka是用Java语言编写的,需要在Linux系统中安装Java环境,可以通过在终端执行命令sudo apt-get install openjdk-8-jdk安装。 2. 下载Kafka压缩包,可以从Kafka官网下载最新版本的压缩包。 3. 解压Kafka压缩包,可以将下载的Kafka压缩包解压到指定目录下,并设置好环境变量,方便后续的操作。 4. 配置Kafka集群的broker,可以在Kafka的配置文件server.properties中配置Kafka broker的参数和属性,比如端口号、存储路径、日志目录等。 5. 配置Kafka集群的Zookeeper,Zookeeper是Kafka集群中必不可少的一部分,需要在配置文件zookeeper.properties中设置Zookeeper集群的参数和属性,比如端口号、数据目录等。 6. 启动Kafka集群,在终端中输入命令bin/kafka-server-start.sh config/server.properties启动Kafka集群,然后再输入命令bin/kafka-topics.sh等其他命令,可以进行一些测试和操作。 7. 部署Kafka集群的生产环境,需要对Kafka集群进行一些性能调优和安全配置,防止出现安全漏洞和性能问题。 总之,安装Kafka集群需要一定的技术基础和经验,需要注意配置文件的编写和参数的设置,同时需要对Kafka集群进行性能调优和安全配置。 ### 回答3: Kafka是一个高性能、高吞吐量、分布式的消息系统,广泛应用于大数据场景下的数据处理与分析。要想在Linux系统上安装Kafka集群,我们需要按照以下步骤进行操作: 1. 首先,我们需要在所有节点上安装Java环境,并确保Java版本不低于Java8。可以使用以下命令进行安装: sudo apt-get update sudo apt-get install default-jdk 2. 接着,我们需要下载并解压Kafka的二进制安装包。可以从官方网站上下载最新版本的Kafka:https://kafka.apache.org/downloads。下载完成后解压到指定目录,例如: tar -xzf kafka_2.12-2.5.0.tgz cd kafka_2.12-2.5.0 3. 在Kafka集群中,我们需要至少创建两个节点,一个节点充当生产者,另一个节点充当消费者。在每个节点上,我们需要创建一个配置文件来指定Broker的ID、主机名、监听端口等参数。 例如,在节点1上创建配置文件: vi config/server.properties 添加以下内容: broker.id=1 listeners=PLAINTEXT://hostname1:9092 advertised.listeners=PLAINTEXT://<public_hostname>:9092 log.dirs=/tmp/kafka-logs 其中,broker.id代表当前节点的唯一标识,listeners和advertised.listeners分别指定了当前节点的监听地址和对外广告地址,log.dirs指定了日志文件存放路径。 在节点2上创建类似的配置文件,但是broker.id和listeners需要设置成不同的值。 4. 在所有节点上启动Zookeeper服务器。因为Kafka集群使用Zookeeper来管理Broker节点的状态。我们可以在一个节点上启动单独的Zookeeper服务器,也可以在所有节点上启动Zookeeper集群。 在单独一个节点上启动Zookeeper服务器: ./bin/zookeeper-server-start.sh config/zookeeper.properties 在所有节点上启动Zookeeper集群: ./bin/zookeeper-server-start.sh config/zookeeper.properties 5. 在每个节点上启动Kafka Broker。我们可以使用以下命令来启动Kafka Broker: ./bin/kafka-server-start.sh config/server.properties 请注意,在启动Kafka Broker之前,我们需要确保当前节点的Zookeeper服务器已经启动,并且所有Broker的配置文件中都指定了正确的Zookeeper地址。 6. 现在,我们已经成功地在所有节点上启动了Kafka Broker。我们可以使用Kafka提供的命令行工具来创建Topic、发送消息和消费消息等操作。例如,创建一个名为test的Topic: ./bin/kafka-topics.sh --create --zookeeper <zookeeper_host>:<zookeeper_port> --replication-factor 2 --partitions 4 --topic test 其中,--replication-factor参数指定了每个Partition的副本数,使用Even交换策略时,建议将--replication-factor设为节点数的一半,或不小于3。 7. 最后,我们可以在生产者节点上使用以下命令来发送消息: ./bin/kafka-console-producer.sh --broker-list <broker1>:9092,<broker2>:9092 --topic test 在消费者节点上使用以下命令来消费消息: ./bin/kafka-console-consumer.sh --bootstrap-server <broker1>:9092,<broker2>:9092 --topic test --from-beginning 以上是在Linux系统上安装Kafka集群的一般步骤。当然,对于特定的应用场景和业务要求,具体的配置和调整可能会不同。需要根据实际情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值