KM

计算机网络基础(1)

1、速率:主机在数字信道上传输数据位数的速率 2、带宽:数字信道所能传送的最高速率 3、吞吐量:单位时间内通过某个网络的数据量 4、时延:时延分为四部分,分别是发送时延,传播时延,处理时延和排队时延 发送时延 = $ \frac {数据块长度(比特)}{信道带宽(比特/秒)}​$(数据块从刚出网卡到完整到达信道),传播时延指的是数据块从源主机,到目标主机整个...

nginx+flume+hdfs+MR+HBase日志分析

nginx+flume+hdfs收集日志这一篇接着,开始对数据进行处理,通过Mapreduce对数据进行清洗和转换,然后把清洗后的结果写入到HBase 首先数据的获取方面,这边自己写了一个jssdk,用于产生日志数据并发送至nginx,nginx通过前面那篇博客的方法发往hdfs,这里主要讲运行时的一些错误处理。 由于这里不需要什么聚合操作,所以这里没有reduce程序,只有map程序 ...

《大数据日知录:架构与算法》读书笔记1

第一章 数据分片和路由 面对大数据,首先应该处理的是数据的存储问题,单台机器无法存储海量的数据,传统数据库系统是通过纵向扩展,即通过改善机器的性能来提升,但是对于目前的大数据存储和处理,一般是采用横向扩展,即增加机器的数量来存储数据。如何把数据存储到不同的机器上,又如何迅速找到某条记录,这两个问题的解决方法就是数据分片和路由。第一章主要讲述了就是这两个问题的解决方案。 上图就是数据分...

Sqoop使用

Sqoop是个工具,方便让关系型数据库,HDFS和hive之间的数据进行轻松的转换。 Sqoop的安装比较简单,这里就不展示了,这里主要展示Sqoop的使用 Sqoop使用的参数有下面14个,使用Sqoop help可以查看 # list-tables参数是查看选中数据库中的所有表 bin/sqoop list-tables --connect jdbc:mysql://local...

nginx+flume+hdfs收集日志

nginx的基本配置 nginx的下载安装这里就不介绍了,这里主要介绍下nginx的配置文件如何进行配置。 如果是使用yum安装的话,nginx的配置文件所在位置是 /usr/local/nginx/conf/nginx.conf 因为主要是为了处理nginx和flume进行对接,因此配置文件只配置了http部分 首先需要在http内部设置日志格式 $remote_addr与$...

Spark 数据倾斜解决方法

1、可以先从数据的根源进行数据倾斜的解决。Spark读取的数据一般来源于HDFS,而HDFS上的数据大部分来源于Hive的数据清洗,可以通过hive的数据清洗过程,在源头就把数据进行聚合,这样Spark程序直接获取聚合后的数据,就无需进行shuffle操作,不存在shuffle过程,也就不存在数据倾斜的问题。 2、过滤掉导致倾斜的key。根据业务需求,如果导致倾斜的key不是很重要的话,可...

Spark Shuffle调优

shuflle过程 上图是shuffle的基本过程,在map端,每个task会输出和下个stage相同task数量的文件,然后reduce端每个task会从map端拉取属于自己task的文件。 看似没有问题,但是设想在真正在生产环境中,假设现在有100个节点(每个节点只有一个executor),每个节点2个core,map端和reduce均是1k个task,平均每个executor一...

《Hadoop权威指南》读书笔记2

第四章 关于YARN yarn是在hadoop2.x后才出现的,yarn出现把Mapreduce的计算和调度分开。以前MR1把计算和调度一起给实现了,JobTracker负责TaskTracker任务的调度,心跳响应,资源调度,但是在当集群的结点数较多,JotTracker将会成为系统的瓶颈。yarn的出现让MR只需要负责计算部分,减轻也MR的压力。 不仅如此,YARN具有足够的通用性,...

《Hadoop权威指南》读书笔记1

第二章 关于MapReduce Mapreduce中,输入端的数据会被划分成等长的数据块,称之为”分片”,一个map程序处理一个分片。由于每个map程序并行处理一个大文件分割后的文件,可以极大地提高运行速度。 分片大小默认为HDFS的Block块的大小,之所以这么设置的原因是:如果分片的大小比较小,虽然可以提高集群的负载均衡,但是同样也会增加集群管理分片的时间。如果分片的大小比block...

Spark常规性能调优

资源分配调优 性能调优最重要的途径是增加更加的资源,在一定范围之内,增加资源与性能的提升是成正比的。 问:那么应该多分配什么资源? 答:executor、每个executor可以使用的CPU和内存、driver内存 问:在哪里分配这些资源? 答:在生产环境中,提交spark作业时,用的spark-submit shell脚本,里面调整对应的参数 /usr/local/spark/...