zoukankan      html  css  js  c++  java
  • [kafka] 004_kafka_安装运行

    1、下载和安装

    目前kafka的稳定版本为0.10.0.0

    下载地址:http://kafka.apache.org/downloads.html

    下载后解压缩安装包到系统即可完成安装

    > tar -xzf kafka_2.11-0.10.0.0.tgz
    > cd kafka_2.11-0.10.0.0

    2、运行kafka服务

    kafka依赖于zookeeper服务提供调度。因此在启动kafka之前,需要启动zookeeper。

    如果你本地之前没有安装过zookeeper服务,kafka已提供一个内置zookeeper服务供您使用。

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

    启动zookeeper完成后,再来启动kafka服务:

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

    如果在启动过程中,报错信息为: replication factor: 1 larger than available brokers: 0 

    这是因为brokers和replication不匹配造成的

    解决方法:在server.properties中 配置 offsets.topic.replication.factor=1

    3、创建Topic

    创建一个只包含一个patition和一个replication的名为'test'的Topic

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

    查看Topic列表:

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

    查看创建的topic的详细信息:

    >bin/kafka-topics.sh 
        --describe
        --zookeeper localhost:2181 
        --topic test 

    4、使用producer向kafka中推送一个消息

    Run the producer and then type a few messages into the console to send to the server.

    > bin/kafka-console-producer.sh 
        --broker-list  localhost:9092 
        --topic test
    
    This is a message
    This is another message

    通常这一步是由程序来执行,具体API参考官网。

    5、查看推送到kafka的消息

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

    番外:设置一个多broker的集群kafka服务

    上述的安装和启动是基于单个broker。现在我们需要拓展下我们的集群,在一台server上安装一个包含3个broker的伪集群kafka服务。

    首先,拷贝配置文件server.properties并改名:

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

    其次,修改配置文件中的如下属性:

    config/server-1.properties:
        broker.id=1
        listeners=PLAINTEXT://:9093
        log.dir=/tmp/kafka-logs-1
    
    config/server-2.properties:
        broker.id=2
        listeners=PLAINTEXT://:9094
        log.dir=/tmp/kafka-logs-2

    最后,启动新创建的这两个kafka服务:

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

    现在我们可以创建一个备份为3的topic了

    > bin/kafka-topics.sh 
      --create
      --zookeeper localhost:2181
      --replication-factor 3
      --partitions 1
      --topic my-replicated-topic

    查看topic详细:

    > bin/kafka-topics.sh 
        --describe 
        --zookeeper localhost:2181 
        --topic my-replicated-topic
    
    Topic:my-replicated-topic    
    PartitionCount:1
    ReplicationFactor:3
    Configs: Topic: my
    -replicated-topic
      Partition: 0
      Leader: 1
      Replicas: 1,2,0
      Isr: 1,2,0
  • 相关阅读:
    命名空间“Aspose”中不存在类型或命名空间名称“Slides”。
    项目平台不同修改方法
    手机端自动跳转
    KindEditor得不到textarea值的解决方法
    正则表达式常用
    Log4Net不生成日志文件
    python笔记03-----文件操作
    python笔记04-----字典、元组、集合操作
    python笔记02-----字符串操作
    python笔记01-----列表操作
  • 原文地址:https://www.cnblogs.com/avivaye/p/5707949.html
Copyright © 2011-2022 走看看