• centos7安装kafka 转


    CentOS7安装和使用kafka

    环境准备

    安装kafka之前我们需要做一些环境的准备
    1、centOS7系统环境
    2、jdk环境
    3、可用的zookeeper集群服务

    安装jdk

    参考文章
    linux软件(一)—CentOS安装jdk

    安装Kafka

    官网下载Kafka 安装包,解压安装:

    tar zxvf kafka_2.11-2.0.0.tgz 
    mv kafka_2.11-2.0.0.tgz 
    cd kafka
     

     

    解压好既安装完成。

    安装zookeeper服务

    方案一使用kafka自带的kafka

    适用于测试等小型场景或者单点kafka
    使用kafka安装包中的脚本启动单节点Zookeeper 实例:

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

     

    方案二独立安装zookeeper服务

    最灵活的方式,适用于单点和多节点kafka

    下载ZooKeeper

    要在您的计算机上安装ZooKeeper框架,请访问以下链接并下载最新版本的ZooKeeper。
    http://zookeeper.apache.org/releases.html
    现在,最新版本的ZooKeeper是3.4.6(ZooKeeper-3.4.6.tar.gz)。

    提取tar文件

    使用以下命令提取tar文件

    $ cd opt/
    $ tar -zxf zookeeper-3.4.6.tar.gz
    $ cd zookeeper-3.4.6
    $ mkdir data
     

     

    创建配置文件

    使用命令vi conf/zoo.cfg 打开名为 conf/zoo.cfg 的配置文件,并将所有以下参数设置为起点。

    $ vi conf/zoo.cfg
    tickTime=2000
    dataDir=/path/to/zookeeper/data
    clientPort=2181
    initLimit=5
    syncLimit=2
     

    一旦配置文件成功保存并再次返回终端,您可以启动zookeeper服务器。

    启动ZooKeeper服务器

    $ bin/zkServer.sh start
     

    执行此命令后,您将得到如下所示的响应 -

    $ JMX enabled by default
    $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
    $ Starting zookeeper ... STARTED
     

    启动CLI进入操作命令界面

    $ bin/zkCli.sh
     

    输入上面的命令后,您将被连接到zookeeper服务器,并将获得以下响应。

    Connecting to localhost:2181
    ................
    ................
    ................
    Welcome to ZooKeeper!
    ................
    ................
    WATCHER::
    WatchedEvent state:SyncConnected type: None path:null
    [zk: localhost:2181(CONNECTED) 0]
     

     

    停止Zookeeper服务器

    连接服务器并执行所有操作后,可以使用以下命令停止zookeeper服务器 -

    $ bin/zkServer.sh stop
     

    成功安装ZooKeeper。

    ##方案三使用hadoop集群cdh等套件中的zookeeper

    如果已经有hadoop集群,一般都已经有zookeeper集群服务了。
    例如zookeeper集群服务ip如下:

    192.168.11.90:2181
    192.168.11.91:2181
    192.168.11.92:2181
     

    kafka可以直接配置使用。
    如下:
    配置zookeeper
    config/server.properties是kafka安装目录中的配置文件

    vim config/server.properties
     

    里面的 zookeeper.connect
    修改为:

    zookeeper.connect=192.168.11.90:2181,192.168.11.91:2181,192.168.11.92:2181
     

    使用kafka

    启动服务器

    通过以下命令来启动服务器

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

    服务器启动后,您会在屏幕上看到以下响应:

    $ bin/kafka-server-start.sh config/server.properties
    INFO KafkaConfig values:
    request.timeout.ms = 30000
    log.roll.hours = 168
    inter.broker.protocol.version = 0.9.0.X
    log.preallocate = false
    security.inter.broker.protocol = PLAINTEXT
    ....
     

    创建topic

    使用kafka-topics.sh 创建单分区单副本的topic test:

    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
    查看topic:
    bin/kafka-topics.sh --list --zookeeper localhost:2181
    test
    或者 使用ip创建
    bin/kafka-topics.sh --create --zookeeper 192.168.11.90:2181/kafka100 --topic topic-test3 --replication-factor 2 --partitions 4 --config key=value

    生产消息

    使用kafka-console-producer.sh 发送消息:

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

    然后输入想要发送的消息例如

    >Hello world!
    >Hello Kafka!
     

     

    消费消息

    使用kafka-console-consumer.sh 接收消息并在终端打印:
    老版本的kafka使用如下命令消费

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

    新版本kafka使用如下消费(注意端口)

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

    输出如下:

    可能遇到的问题–zookeeper is not a recognized option
    原因
    对于消费者,kafka中有两个设置的地方:对于老版本的消费者,由–zookeeper参数设置;对于新版本的消费者,由–bootstrap-server参数设置
    如果使用了–zookeeper参数,那么consumer的信息将会存放在zk之中
    查看的方法是使用bin/zookeeper-client,然后

    ls /consumers/[group_id]/offsets/[topic]/[broker_id-part_id]
     

    这个是查看某个group_id的某个topic的offset

    如果使用了–bootstrap-server参数,那么consumer的信息将会存放在kafka之中

    《Kafka权威指南》中是这样描述的

    停止服务器

    执行所有操作后,可以使用以下命令停止服务器

    $ bin/kafka-server-stop.sh config/server.properties
     

    集群配置

    单机多broker 集群配置

    利用单节点部署多个broker。 不同的broker 设置不同的id,监听端口及日志目录。 例如:

    cp config/server.properties config/server-1.properties
     

    编辑配置:

    config/server-1.properties:
        broker.id=1
        port=9093
        log.dir=/tmp/kafka-logs-1
     

    启动Kafka服务:

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

     

    启动多个服务,按上文类似方式产生和消费消息。序号1对应增加。

    多机多broker 集群配置

    分别在多个节点按上述方式安装Kafka,配置启动多个Zookeeper 实例。 例如: 在192.168.11.90,192.168.11.91,192.168.11.92三台机器部署,Zookeeper配置如下:

    initLimit=5
    syncLimit=2
    server.1=192.168.11.90:2888:3888
    server.2=192.168.11.91:2888:3888
    server.3=192.168.11.92:2888:3888
     

     

    分别配置多个机器上的Kafka服务 设置不同的broke id,zookeeper.connect设置如下:

    zookeeper.connect=192.168.11.90:2181,192.168.11.91:2181,192.168.11.92:2181
     

     

    转载请注明出处 :CentOS7安装和使用kafka

    参考链接:
    http://kafka.apache.org/quickstart

    https://www.w3cschool.cn/apache_kafka/apache_kafka_installation_steps.html

    https://www.mtyun.com/library/how-to-install-kafka-on-centos7

    https://segmentfault.com/a/1190000012730949

    https://colobu.com/2014/08/06/kafka-quickstart/

     
  • 相关阅读:
    课堂例子验证
    大道至简第三章读后感
    动手动脑例子验证
    各数相加的思路、流程图、源代码及实现截图
    大道至简第二章读后感
    《大道至简》第一章读后感
    个人冲刺08
    个人冲刺07
    构建之法读后感04
    个人冲刺06
  • 原文地址:https://www.cnblogs.com/brady-wang/p/13591957.html
Copyright © 2020-2023  润新知