大数据6.1 - 实时分析(storm和kafka)

消息队列:

  kafka只有一种模式:topic主题模式

  kafka已经成为大数据业界主流

 

storm简介

  storm是一个分布式的实时数据分析系统,底层基于zeroMQ做数据传输。使用clojure语言开发核心模块

  storm速度非常快,能达到亚秒级(200sm)

   同类产品:

    sparkStreaming:也是做实时分析的,速度是秒级:1s-5s。

  

 

  问题:

    flume连接kafka?

    kafka连接storm?

  storm组件:

    Nimbus:老大,storm的发号施令者。(相当于hadoop中的namenode)

    Supervisor(管理人,检查员):小弟,具体业务执行者。(相当于hadoop中的datanode)

    zookeeper:集群资源管理者,监听整个集群的健康状态。

 

  核心四大要素

   

    

    

 

    topology:拓扑,代表整修同整个数据处理过程

    spout:喷嘴,就是数据源

    tuple:数据载体,内部类似map(key,value),value类型一旦定义,不能存放其他类型的数据。Tuple不太一样,key一般是string类型,value类型不定,数据结构不定。

        Tuple的切割时间不是任意确定的。需要经过多次的尝试。没有最好的时间,只有最合适的时间。

    bolt:(闪电)算子,内部需要我们自己定义一些处理逻辑,而且一个topology中可以有多个bolt。并且一个bolt可以接受多个数据来源,并且有多个出处。

     

 

 

    

 

     jvm?java虚拟机,随着技术的发展,java有很多衍生语言。scala、clojure。同样编译成.class,通过jvm来执行。

 

  1、安装storm

    解压即可

cd /usr/local/src/storm/apache-storm-0.9.3/conf
vi storm.yaml
storm.zookeeper.servers:
- "hadoop01" - "hadoop02" - "hadoop03" # nimbus.host: "hadoop01" storm.local.dir: "/usr/local/src/storm/apache-storm-0.9.3/tmp"

    参数说明:

      strom.zookeeper.servers 配置zk集群

      nimbus.host 配置numbus所在服务器

      storm.local.dir 配置临时文件所在路径

    

  启动storm

      1、启动主服务器,Nimbus

        cd /usr/local/src/storm/apache-storm-0.9.3/bin

        ./storm ui >/dev/null 2>&1 &         #启动UI Web界面,访问端口8080

        ./storm nimbus >/dev/null 2>&1 &       #启动nimbus服务

      

    附:配置从机(supervisor

      1、复制storm到从机

      cd /usr/local/src

        scp -r storm root@hadoop02:/usr/local/src/

        scp -r storm root@hadoop03:/usr/local/src/

      2、复制配置文件到从机

        scp /etc/profile root@hadoop02:/etc/profile

        scp /etc/profile root@hadoop03:/etc/profile

      3、启动supervisor

           ./storm supervisor >/dev/null 2>&1 &

  查看状态:

      http://hadoop01:8080/index.html

      

      

 

 

  kafka的安装

    1、下载kafka

      下载地址:https://www.apache.org/dyn/closer.cgi?path=/kafka/1.0.0/kafka_2.11-1.0.0.tgz

    2、注:kafka需要zookeeper监控,所以需要先行安装zookeeper

      解压kafka

      cd /usr/local/src/kafka/kafka_2.10-0.10.0.1/config

      vi server.properties

broker.id=0                                     #当前server编号
log.dirs=/usr/local/src/kafka/kafka_2.10-0.10.0.1/tmp/kafka-logs       #日志存储目录
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181         #配置zookeeper集群
advertised.host.name=hadoop01                          #配置当前host
advertised.port=9092

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-04-08 10:02  项羽齐  阅读(398)  评论(0编辑  收藏  举报