大数据技术栈

大数据处理流程:
数据采集 -> 清洗标注 -> 存储聚合 -> 分析挖掘 -> 数据应用

平台架构示例:
在这里插入图片描述
数据集成技术栈:

  • shell脚本
    定制shell脚本将数据导入到HDFS

    • hadoop fs -put
    • 适用场景:
      • 离线处理,实时性要求不高
      • 简单的数据源
        • Webserver Log
        • RDMS
        • Application Log
  • flume
    在这里插入图片描述
    作为一个数据管道将数据导入各种应用,起到数据集成的作用。还可用于做HA

  • sqoop
    主要用于在hadoop和关系型数据库中传递数据。可以方便的将数据从关系型数据库导入到HDFS,或将数据从HDFS导出到关系型数据库
    在这里插入图片描述

  • kafka
    scala编写,做为java组件使用。
    用于数据的聚合,不同的数据源作为生产者写入到kafka集群,各个数据服务作为消费者读取集群中数据,这样数据就流动起来。
    kafka可以降低系统耦合度。所有应用接入到kafka集群即可。kafka可进行横向扩展,可着增强分布式处理能力,降低数据丢失的几率。
    在这里插入图片描述
    数据存储技术栈:

  • HDFS
    是hadoop的核心组件,解决大数据的存储问题。只适合离线批量的计算,不适合随机读取
    在这里插入图片描述

  • HBASE
    是一个分布式的,面向列的开源数据库。属于KV结构数据,原生不支持标准sql。可满足随机读写的需求,弥补HDFS的不足。
    在这里插入图片描述
    数据计算技术栈

  • YARN/MapReduce
    YARN是Hadoop的核心组件,解决大数据的资源调度问题;MapReduce解决大数据计算问题
    在这里插入图片描述

  • Spark
    用于构建大型的,低延迟的数据分析应用程序。hadoop适用于离线计算
    在这里插入图片描述
    一个软件栈满足不同的应用场景的理念

  • Storm
    是一个类似于hadoop的实时数据处理框架。使用Clojure语言实现,该语言也是运行于java虚拟机之上。
    流式计算:先计算,后存储。也可以不存储,按照时间窗口去使用数据,像实时搜索,高频交易,社交网络,都在使用流式计算解决问题。
    在这里插入图片描述
    在这里插入图片描述
    Nimbus:控制节点,Supervisor:工作节点

SQL on Hadoop技术栈:

  • hive
    一个基于hadoop的数据仓库,可将结构化的数据文件映射为一张数据表。并提供完整的SQL查询功能,可以将sql转换为MapReduce任务并进行运行。
    在这里插入图片描述
    hive2.0:
    不再只是将SQL转化为MapReduce,Tez:旨在解决MapReduce的效率问题。
    优化了hive的性能问题。
    在这里插入图片描述

  • presto
    是一个分布式的SQL查询引擎,它被设计为用来专门进行高速,实时的数据分析 ,解决hive的效率问题。京东用的较多。
    在这里插入图片描述

  • Impala
    是一个针对hadoop的开源的交互式SQL查询引擎,使用c++开发。
    在这里插入图片描述
    数据可视化技术栈:

  • echarts
    基于Canvas的,纯js的图表库,提供直观,生动,可交互,可个性化的数据可视化图表
    在这里插入图片描述

  • D3.js
    是一个js库,可以用数据来操作文档,D3可以通过使用HTML,SVG和CSS把数据现货形象地展现。定制化程度较高

集群管理技术栈

  • Ambari
    hadoop生态的集群管理,监控,部署的工具,支持大量的hadoop组件
    在这里插入图片描述
  • zookeeper
    分布式的服务框架,用来解决分布式应用中常遇到的数据管理问题;
    如:统一命名服务,状态同步服务,集群管理,分布式应用配置项的管理等。
    典型应用场景:配置文件的管理,集群管理,同步锁,leader选举,队列管理等
    在这里插入图片描述
    zookeeper配置文件管理:
    在这里插入图片描述

网站流量统计:
在这里插入图片描述
先使用淘宝基于nginx的tengine构建web项目
编译项目:

yum install gcc gcc-c++ automake autoconf libtool openssl-devel pcre-devel -y
cd /tengine
//开始编译
./configure
make install

//启动nginx
/sbin/nginx -t

//封装shell死循环,访问web项目
vim curl.sh

i = 0
while [TRUE]
do
	((i=$i+1))
	uid = echo $i | md5sum | cut -d '' -f 1`
	surl -s -o /dev/null -H "User-AgentMozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/69.0" "http://127.0.0.1/?dd=ss&ss=dd"
if [$i -gt 2000]; then
	i = 0
fi

sleep 5

done

//后台启动
nohup sh ./curl.sh &

数据生成到log文件中,然后编写shell脚本上传到hdfs

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值