• 第一天


    1.大数据可视化:通过报表

    -------------------------------------------------

      

    2.项目来源:电信运营商通过电话交换机来记录每一组通话,用exe tail-flume来进行数据的收集,利用kafka来消费数据。

          数据在hbase中要避免热点问题,由于大量数据拥塞在Hbase集群的一个或者几个节点上,造成热点问题的主要问题就是rowKew设计不当。避免热点问题的盐析方式:(1)随机盐析;(2)哈希;分区是目录,桶表示

    3.生成jar包,部署到centos执行

    ---------------------------------------------------------

      (1)使用maven生成jar文件

      (2)部署到centos

      (3)执行

    执行jar包的命令:java -cp xxx.jar  com.it18zhang.callloggen.App /home/centos/calllog/calllog.log

            java -cp xxx.jar com.it18zhang.callloggen.App E:calllogcalllog.log

      (4)编写脚本

        [calllog.sh]

        #!bin/bash

        java -cp Calllog.jar com.it18zhang.callloggen.App /home/centos/callog/calllog.log

      (5)修改权限

        $>chmod a+x calllog.sh 

        $>./calllog.sh

    4.启动zk集群

    ----------------------------

      s202

      s203

      s204

    5.启动kafka集群[s202 + s203 + s204]

    --------------------------------------

      $>cd /soft/kafka    $>bin/kafka-server-start.sh -daemon config/server.properties

    6.创建kafka主题

    ---------------------------------------

      1).$>bin/kafka-topics.sh --zookeeper s202:2181 --topic calllog --create  --replication-factor 3  --partitions 4  //创建主题

      2).$>bin/kafka-topics.sh  --zookeeper s202:2181  --list  //查看主题

      3).启动控制台消费者,消费calllog主题,用于测试flume程序有没有收集程序过来

        $>kafka-console-consumer.sh --zookeeper s201:2181 --topic calllog

    7.在s201上编写flume配置文件,实时收集calllog.log文件,实时收集calllog.log日志文件

    ---------------------------------------------------------------------------------------------------------------

      [/soft/flume/conf/calllo.conf]

    a1.sources=r1
    a1.sinks=k1
    a1.channels=c1
    
    a1.sources.r1.type=exec
    a1.sources.r1.command=tail -F -c +0 /home/centos/test.txt
    a1.channels.c1.type=memory
    a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink a1.sinks.k1.kafka.topic = calllog a1.sinks.k1.kafka.bootstrap.servers = s202:9092,s203:9092,s204:9092 a1.sinks.k1.kafka.flumeBatchSize = 20 a1.sinks.k1.kafka.producer.acks = 1 a1.sinks.k1.brokerList =s202:9092,s203:9092,s204:9092 a1.sources.r1.channels = c1 a1.sinks.k1.channel = c1

    8.(1)在s202主机上安装flume软件包

      

       (2)启动flume收集程序

      $>flume-ng agent -f /soft/flume/conf/calllog.conf -n a1 &

    9.编写kafka,从kafka提取消息,存放到hbase中去

      (1).启动hadoop(完全分布式+HA,s201+s206作为主备名称节点)

        在s201上启动dfs集群。$>start-dfs.sh

        容灾演示:hdfs haadmin -failover nn1 nn2   //从nn1 到nn2实现容灾

      (2)webui:

        http://s201:50070/  //来查看有没有成功

      (3)查看节点状态:

        hdfs haadmin -getServiceState nn1

      (4)容灾切换:

         hdfs haadmin -failover nn1 nn2   //从nn1 到nn2实现容灾

     9.角色划分

    -----------------------------------------------

      NameNode    //s201,s206

      DateNode    //s202,s203,s204,s205

      JournalNode   //s202,s203,s204

      ZK        //s202,s203,s204

    10.启动hbase集群

    ------------------------------------------------------

      1.角色划分:

      maste    //s201,s204做高可用

      regionServer  //s202,s203,s204

      2.启动hbase集群

        //s201

        $>start-hbase.sh

      3.查看进程和webui

        http://s201:16010

      4.启动备份master节点

         //s204

         $>hbase-daemon.sh start master

    11.创建hbase名字空间+表

    ----------------------------------------------------------------

      0.$hbase>list_namespace    //列出名字空间

      1.$hbase>list_namespace_tables                 //列出名字空间里的表

      2.$hbase>truncate  'ns1:calllogs'                //先禁表,然后再删表,,直接重建表的操作

      3.$hbase>scan 'ns1:calllogs'                  //扫描表

      

      4.$hbase>hbase shell                     //进入Hbase shell 

      5.$hbase>create_namespace 'ns1'              //创建名称空间

      6.$hbase>create 'ns1:calllogs','f1'               //创建表

    12.创建kafka消费之,订阅calllog主题

    -----------------------------------------------------------------

      1.设计rowkey

         业务数据: caller ,callee,date,duration 

                分区号   号码    时间  标记   对方号码   时长

                regionNo ,caller,date,flag,callee,duration

      2.使用mvn命令下载工件所有依赖的软件包  

    mvn -DoutputDirectory=./lib  -DgroupId=com.it18zhang  -DartifactId=CallLogConsumerModule  -Dversion=1.0-SNAPSHOT  dependency:copy-dependencies

    13.导入kafka消费者,放置到以上的lib下面,使用命令行的方式运行

    -------------------------------------------------------------------------------------------------

      java -cp io-2.4.jar ./lib/commons-lang-2.6.jar ./lib/commons-logging-1.2.jar ./lib/commons-math3-3.1.1.jar ./lib/commons-net-3.1.jar ./lib/curator-client-2.7.1.jar ./lib/curator-

    14.编写web程序,从hbase中提取数据进行展示

    ----------------------------------------------------------------------

      1.进入ssm项目下,创建calllog

      2.创建

  • 相关阅读:
    简单理解Socket
    TCP/IP、Http、Socket的区别
    iOS,一行代码进行RSA、DES 、AES、MD5加密、解密
    iOS开发
    我的问题
    Windows 摄像头数据
    学习记录
    编码转换
    QString 编码转换
    参考网页
  • 原文地址:https://www.cnblogs.com/bigdata-stone/p/9656052.html
Copyright © 2020-2023  润新知