zoukankan      html  css  js  c++  java
  • 第一天

    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.创建

  • 相关阅读:
    一个简单XQuery查询的例子
    《Microsoft Sql server 2008 Internals》读书笔记第七章Special Storage(1)
    《Microsoft Sql server 2008 Internals》读书笔记第八章The Query Optimizer(4)
    《Microsoft Sql server 2008 Internal》读书笔记第七章Special Storage(4)
    SQL Server中SMO备份数据库进度条不显示?
    《Microsoft Sql server 2008 Internal》读书笔记第七章Special Storage(5)
    《Microsoft Sql server 2008 Internal》读书笔记第七章Special Storage(3)
    《Microsoft Sql server 2008 Internal》读书笔记第八章The Query Optimizer(2)
    省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery/ExtJs)示例
    FireFox意外崩溃时的手工恢复命令
  • 原文地址:https://www.cnblogs.com/bigdata-stone/p/9656052.html
Copyright © 2011-2022 走看看