第一天

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

原文地址:https://www.cnblogs.com/bigdata-stone/p/9656052.html