Kafka 1

Kafka    A distributed streaming platform.

     使用心得:很多大数据的框架都会使用到kafka,核心是在业务高峰的时候起到了缓冲的作用,避免计算压力过大;其次kafka能做到分布式的、高效的消息系统。

1)Kafka 两种案例说明

    Kafka is generally used for two broad classes of applications:

        -- Building real-time streaming data pipelines that reliably get data between systems or applications

            实时的流式数据管理,应用于系统与应用之间通信(重点)

        -- Building real-time streaming applications that transform or react to the streams of data 

            构建实时的数据应用去转化数据。(用的场景并不多,应倾向于打造Spark为主的框架)

    总结:应用场景:作为消息中间件,一般部署在流式组件前一个,主要为了避免高峰期计算来的压力

    Q:Maxwell--------------------------------->存储平台

          Maxwell-->Kafka-->Spark streaming-->存储平台  的转变?

    A:因为Maxwell是单点的,所以其实也是为了缓冲压力

2)Zookeeper 介绍

    Zookeeper: http://zookeeper.apache.org/ 

    总结:就是分布式的协调服务,一般用于做HA;建议使用3.4.6 / 3.4.10稳定版本(有apache和CDH版本)

3)Zookeeper 部署

    下载:wget    http://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.10.tar.gz

    解压:tar -zxvf zookeeper-3.4.10.tar.gz

    授权:chown -R root:root zookeeper-3.4.10

    软连接:ln -s zookeeper-3.4.10 zookeeper

4)Zookeeper 配置

    cp zoo_simple.cfg zoo.cfg

    --dataDir=/opt/software/zookeeper/data    该目录用于存储快照

    --server.1=hadoop000:2888:3888

    --server.2=hadoop001:2888:3888

    --server.3=hadoop002:2888:3888     

    touch data/myid

    echo 1 > data/myid    把配置的id写入对应机器的myid文件

    配置环境变量

5)Zookeeper 启动

    ./zkServer.sh start

    ./zkServer.sh status    查看状态

6)Zookeeper 场景

    无论是Apache 还是CDH,比如HDFS HA、YARN HA损坏,Kafka、HBase 都在ZK

        a. zkCli.sh 进入当前机器的localhost模式去连接

        b. 假如localhost模式进不去,可使用ZooKeeper -server host:port 

        c. 命令帮助 进人console,输入help

           常用命令:ls /
                           ls /zookeeper

                           rmr path

7)配置java、scala环境

    jdk:  路径:  /usr/java/     因为CDH优先读取这个

    jdbc:路径:  /usr/share/java  

    Scala: 2.11.8 

8)Kafka 部署

    Kafka: 0.8 与 0.10 的对比   https://spark.apache.org/docs/2.2.0/streaming-kafka-integration.html

    解压:tar -zxvf kafa_2.11-0.10.0.1.tgz

    软连接:ln -s kafa_2.11-0.10.0.1 kafa

9)Kafka 配置

    vi server.properties

    --broker.id=1    设置唯一ID

    --port=9092

    --host.name=192.168.96.1     

    --log.dirs=/opt/software/kafka/logs

    --zookeeper.connect=hadoop000:2181,hadoop001:2181,hadoop002:2181

      注意:zookeeper.connect=192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181/kafka 

               就是创建kafka这个文件夹,不然子文件夹会打散出来

    mkdir /opt/software/kafka/logs

    配置环境变量

10)Kafka 启动  

    nohup kafka-server-start.sh config/server.properties &    以后台模式执行

    nohup:ignoring input and appending output to 'nohup.out'

11)Kafka 理解

        Kafka部署完成的进程,broker

        producer(Flume)---》broker cluster(Kafka) --》 consumer(Spark Streaming)

        导航日志 --》Kafka(Topic:DH) --》 计算程序 

        企业预警日志--》Kafka (Topic:AlertLog)

        Q:什么是topic?

        A:能理解为一个文件夹,把指定到该topic的数据写到这个文件夹。根据不同的业务来分组,创建多个topic

12)Kafka 测试案例

    create:{

        bin/kafka-topics.sh --create \

            --zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

            --replication-factor 3 --partitions 3 --topic test

    }

    producer:{

        bin/kafka-producer.sh \

            --broker-list 192.168.137.141:9092,192.168.137.142:9092,192.168.137.143:9092 --topic test

    }

   consumer:{

        bin/kafka-console-consumer.sh \

            --zookeeper 192.168.137.141:2181,192.168.137.142:2181,192.168.137.143:2181 \

            --from-beginning --topic test

    }

13)拓展

    kill -9 $(grep -f zookeeper)    批量杀程序

    zookeeper部署台数公式:生产上少于100台机器,部署7台;大于100台,部署9-11台

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值