- 博客(100)
- 收藏
- 关注
原创 yarn物理内存虚拟内存问题
问题描述: xxx is running beyond physical memory limits. Current usage: 5.8 GB of 5 GB physical memory used; 5.7 GB of 10.5 GB virtual memory used. Killing container5G为yarn.scheduler.minimum-allocation-mb的值或者它的整数倍,当yarn.scheduler.minimum-allocation-mb大于ma
2020-08-25 15:09:34
4928
2
原创 Kylin3.0.1整合CDH6.0.0
一、安装过程本次使用的安装环境:apache-kylin-3.0.1-bin-cdh60、CDH 6.0.1kylin各版本地址:https://archive.apache.org/dist/kylin/kylin自2.6.1后有CDH6.0使用的版本,本次先后尝试了将近Kylin五六个版本进行安装,Kylin2.x与CDH6.0均有jar包缺少和jar包冲突问题,亲测Kylin3.x整合CDH6.0没有问题1、由于Kylin执行任务依赖Hadoop、Hbase、Spark,所以需要在Kylin
2020-05-19 16:09:24
814
原创 Phoenix 映射已存在 HBase 表,查询不到数据
问题描述:phoenix 映射已存在的 hbase 表 demo 时,表映射正常,但是使用 phoenix 查询时,一直查询不到数据。1、hbase shell 插入数据create 'test1','i'put 'test1','1','i:name','zhangsan'put 'test1','2','i:name','lisi'put 'test1','1','i:age','...
2020-03-16 20:49:40
2847
1
原创 Phoenix报错:Inconsistent namespace mapping properties,Cannot initiate connection as SYSTEM:CATALOG
Spark API读取Phoenix数据报错:nconsistent namespace mapping properties. Cannot initiate connection as SYSTEM:CATALOG is found but client does not have在hbase shell修改如下解决:1)disable 'SYSTEM:CATALOG'2)snap...
2020-03-10 10:24:32
2688
5
原创 mongo-scala某字段有则更新无则插入
问题:SparkStreaming处理实时数据将统计结果写入mongo,用mongo-java的api需要做一层判断即对某个维度进行查找如果存在则把指标更新,如果不存在则插入维度与指标字段,这种方式耗时效率低下换用mongo-scala的api使用其upsert方式实现插入与跟新,需要query的字段需在mongo中建立索引/** * Performs an update operat...
2019-12-27 20:56:31
891
原创 CDH6.0整合apache phoenix
一、安装整合phoenix没有与CDH高版本(cdh6.x)的整合,这里phoenix为apache原生版本组件:CDH6.0、Hbase2.0、Phoenix5.0相关文档:https://blog.youkuaiyun.com/zimiao552147572/article/details/87286352二、Spark+Phoenix连接读写测试1、本地环境依赖:<dependen...
2019-12-13 17:59:17
1391
原创 shell request failed on channel 0
ssh远程连接目标主机报错:shell request failed on channel 0原因:目标主机的系统进程数太小,导致不能连接解决:需要修改/etc/security/limits.d/20-nproc.conf文件中的值,把4096改大一点,如 65535然后重启ssh服务...
2019-10-30 18:57:00
7574
转载 Spark中的Shuffle详解
Shuffle简介Shuffle描述着数据从map task输出到reduce task输入的这段过程。shuffle是连接Map和Reduce之间的桥梁,Map的输出要用到Reduce中必须经过shuffle这个环节,shuffle的性能高低直接影响了整个程序的性能和吞吐量。因为在分布式情况下,reduce task需要跨节点去拉取其它节点上的map task结果。这一过程将会产生网络资源消耗...
2019-09-03 17:20:49
613
原创 通过ADB Client高效写入数据到ADS
使用spark自带的写入MySQL的api,如下dataframe.write.mode(SaveMode.Append).jdbc(url, table_name, prop)我设置的是10s一个批次,一个批次的数据量大概有16000条,已经做好全部优化,但是还是有几十秒的延迟,造成kafka数据堆积,导致ads实时性并不太好。后来使用ADB Client写入ads,速度贼快,效果很好!...
2019-06-28 17:40:52
983
原创 Linux下磁盘挂载
一、查看是否已分配可以看到有两个磁盘分别为:/dev/vda 和 /dev/vdb。注:图中/dev/vdb磁盘是已经分过区的,如果没有分区的话是没有 /dev/vdb1的2、发现有磁盘,路径为/dev/vdb,然后使用fdisk命令进行建立分区输入:fdisk /dev/vdb建立分区如果是只建立一个分区和无其他特殊要求依次选择n(进行分区),p(选择主分区)以下回车选择默认命令...
2019-06-26 18:50:55
595
3
原创 java.io.IOException: Cannot obtain block length for LocatedBlock{BP
问题描述:出现这个错误 java.io.IOException: Cannot obtain block length for LocatedBlock{BP-1331原因:文件异常关闭,导致读写任务失败使用命令查看文件块的状态:hdfs fsck /data/115/apkinfo/0-11-20180410170000.log使用命令恢复:hdfs debug recoverL...
2019-05-21 15:31:36
1067
原创 使用spark的api读取mongo版本不兼容问题
spark版本2.1.1mongo版本3.4.6话不多说了,搞了一天,结论这样的:如果使用spark的api读取mongo有NotFoundClass或者NoSuchMethod等此类错误,一般着手两个方面去考虑:1、集群环境没有完整的jar包。2、jar包冲突或jar包与集群的版本不兼容解决方案:SparkConf文件中在conf文件指向的extlib目录下添加如下jar包:...
2019-05-21 09:26:47
852
原创 spark streaming 消费 kafka 数据时报 Java .lang.IllegalStateException: No current assignment for partition
消费 kafka 数据时刚开始可以稳定跑一会,但是过不了几分钟就跑出此异常程序中断,java.lang.IllegalStateException: No current assignment for partition解决:是因为我在集群上跑着消费程序,本地也在用相同的消费代码测试,结果就出现了同一个 groupID 在同一时刻多次消费同一个 topic,引发 offset 记录问题。...
2019-05-16 20:57:46
9007
转载 logstash gsub替换
{ "message" => "192.168.11.186,192.168.11.187\t48391,3306\tDec 7, 2016 13:26:25.134545378\t\tSELECT \\x0a r.trx_id waiting_trx_id,\\x0a r.trx_mysql_thread_id waiting_thread,\\x0a ...
2019-05-06 19:34:48
1687
原创 logstash urldecode filter 插件
先查看下logstash是否有urldecode的插件在logstash的安装目录的bin下执行下面命令:./logstash-plugin list可以看到有logstash-filter-urldecode插件如果没有的话 可以执行如下命令进行安装:./bin/logstash-plugin install logstash-filter-urldecode然后配置conf文...
2019-04-30 14:14:53
1100
原创 使用python将oss文件下载本地
将oss文件下载到本地方法如下: def download(self, remote_file, local_file): # if_access_bucket = oss2.Bucket(self.auth, config['OSS_CONFIG']['endpoint'],'if-access') local_path = os.path.dirname...
2019-04-29 17:55:00
3741
原创 Spark history-server详解
history-server的部分重要参数:spark.history.fs.update.interval 默认值10秒这个参数指定刷新日志的时间,更短的时间可以更快检测到新的任务以及任务执行情况,但过快会加重服务器负载spark.history.ui.maxApplication 默认值intMaxValue这个参数指定UI上最多显示的作业的数目spark.history.ui.po...
2019-04-11 15:28:20
914
原创 spark.sql.shuffle.partitions 和 spark.default.parallelism 的区别
spark.default.parallelism只有在处理RDD时才会起作用,对Spark SQL的无效。spark.sql.shuffle.partitions则是对sparks SQL专用的设置方案实现思路:在对RDD执行shuffle算子时,给shuffle算子传入一个参数,比如reduceByKey(1000),该参数就设置了这个shuffle算子执行时shuffle read t...
2019-04-10 13:43:51
4701
原创 Cloudera Manager Agent 的 Parcel 目录位于可用空间小于 5.0 吉字节 的文件系统上。 /opt/cloudera/parcels(可用:5.0 吉字节 (12.74%)
当/opt/cloudera/parcels位于小于5G的系统盘上时,集群就会告警解决办法:观察/dev/vdal空间不足5G(上图是清理后的磁盘空间)观察log日志文件中大于100M的日志文件只删除log日志的文件 不要删除其他文件删除后可用目录大于5G CDH就不再告警...
2019-03-15 11:45:42
4488
4
原创 报错:io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric
运行异常:Exception in thread “main” java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.metric()Lio/netty/buffer/PooledByteBufAllocatorMetric;at org.apache.spark.network.util.NettyMemory...
2019-03-14 13:55:39
3919
1
原创 spark on yarn模式下的executor与container
ava8内存模型:http://www.cnblogs.com/paddix/p/5309550.htmlhttp://www.cnblogs.com/dingyingsi/p/3760447.html帖子里提到5、方法区:方法区也是所有线程共享。主要用于存储类的信息、常量池、方法数据、方法代码等。方法区逻辑上属于堆的一部分,但是为了与堆进行区分,通常又叫“非堆”。1.7和1.8后这...
2019-03-13 15:43:37
9450
3
原创 HBase之过滤器
filter ==> SQL 中的Wherefilter的执行流程:过滤器在客户端创建,然后通过RPC发送到服务器上,由服务器执行RowFilter 行键过滤器:import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import org.apac...
2019-02-21 20:32:31
531
3
原创 spark作业中常见的数据倾斜解决方案总结
有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的性能。数据倾斜是多么痛?!!!如果数据倾斜没有解决,完全没有可能进行性能调优,其他所有的调优手段都是一个笑话。数据倾斜是最能体现一个spark大数据工程师水平的性能调优问题。数据倾斜如果能够解决的话,代表...
2019-01-29 21:52:42
259
原创 线程安全的使用HashMap
为什么hashMap不是线程安全的?主要有两点原因:一是HashMap使用的数据结构。基于哈希表(数组+链表+红黑树)。注意一下在JDK1.8之后,当链表的长度大于8时,链表将转换为红黑树的结构存储。所有根据 hash 值计算的 bucket 一样的 key 会存储到同一个链表里(即产生了冲突)如果多个线程同时使用put方法添加元素,而且假设正好存在两个 put 的 key 发生了碰撞(根...
2019-01-26 22:47:50
310
原创 分类算法之朴素贝叶斯
1、朴素贝叶斯分类算法朴素贝叶斯(Naive Bayes ,NB)算法是基于贝叶斯定理与特征条件独立假设的分类方法,该算法是有监督的学习算法,解决的是分类问题,是将一个未知样本分到几个预先已知类别的过程。朴素贝叶斯的思想就是根据某些个先验概率计算Y变量属于某个类别的后验概率,也就是根据先前事件的有关数据估计未来某个事件发生的概率。2、理解朴素贝叶斯假设现在有一堆邮件,正常邮件的比例饿是80...
2019-01-25 13:40:35
1309
原创 Spark2.x任务调度源码再析之大白话系列
在一个提交的一个Application中,如果遇见Shuffle算子的时候,那么就会发生任务的调度,当我们初始化SparkContext的时候,就会为我们创建两个对象,一个是DAGScheduler,一个是TaskSchedulerDAGScheduler中的实现在DAGScheduler中的doOnReceive()方法中,通过case 进行匹配事件类型 ,当匹配到JobSubmitted...
2019-01-24 15:45:36
246
原创 Kafka的Log存储原理再析
1、Partition中的分段存储Segment一个partition被切割成多个相同大小的segment(这个是由log.segment.bytes 决定,控制每个segment的大小)2、Partition中的Segment文件的数据结构接下来看下segment的存储结构segment file组成:由2大部分组成,分别为index file和data file,此2个文件一一对应,成...
2019-01-24 10:28:07
2810
原创 Spark2.x资源调度源码再析之大白话系列
spark采用的粗粒度资源申请方式决定了每一个task在执行前不需要自己去申请资源,而是使用Application执行前都已经申请完毕的资源。那么资源调度的底层是如何实现的呢?当start-all.sh 的时候启动了两个脚本一个是start-master.sh 脚本中调用了org.apache.spark.deploy.master.Master这个类一个是start-slaves.sh...
2019-01-23 22:35:07
277
原创 分类算法之随机森林
随机森林也是非线性有监督的分类模型随机森林是由多个决策树组成。是用随机的方式建立一个森林,里面由很多决策树组成。随机森林中每一棵决策树之间都是没有关联的。得到随机森林之后,对于一个样本输入时,森林中的每一棵决策树都进行判断,看看这个样本属于哪一类,最终哪一类得到的结果最多,该输入的预测值就是哪一类。随机森林中的决策树生成过程是对样本数据进行行采样和列采样,可以指定随机森林中的树的个数和属性个...
2019-01-19 16:27:55
4436
原创 分类算法之决策树
决策树是非线性有监督的分类模型。决策树是一种树形结构,树内部每个节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一个分类类别。通过训练数据构建决策树,可以对未知数据进行分类。1.认识决策树术语:根节点:最顶层的分类条件叶节点:代表每一个类别号中间节点:中间分类条件分支:代表每一个条件的输出二叉树:每一个节点上有两个分支多叉树:每一个节点上至少有两个分支2....
2019-01-19 13:24:00
1685
原创 Spark的底层通信之Actor
Actor 能够实现并行编程的强大功能,它是基于事件模型的并发机制,Scala是运用消息的发送、接收来实现高并发的,Actor 可以看作是一个个独立的实体,他们之间是毫无关联的。但是,他们可以通过消息来通信。一个 Actor 收到其他 Actor 的信息后,它可以根据需要作出各种相应。消息的类型可以是任意的,消息的内容也可以是任意的(Scala Actor 是 scala 2.10.x 版本及以前...
2019-01-18 22:15:11
730
原创 关于hbase、spark、hive使用时的优化问题
一、Hbase的优化1、JVM优化:1)如:HBase RegionServer 的 Java 配置选项-XX:+UseParNewGC (设置年轻代为并行收集)-XX:+UseConcMarkSweepGC(使用CMS内存收集) -XX:CMSInitiatingOccupancyFraction=70(使用cms作为垃圾回收使用70%后开始CMS收集)...
2019-01-18 17:36:00
201
原创 快速理解Hive的数据存储格式及mapreduce底层原理
在大数据工程师面试时,下面这个题可谓是面试官的最爱,他考察了对于mapreduce框架以及hive的原理的理解,阅读完这篇文章,在面试这一类的问题时,就会胸有撑住了!在创建hive表时,会有这样一句:STORED AS TEXTFILE,这一句的作用,其实是STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'O...
2019-01-18 17:31:00
2633
原创 分类算法之SVM
SVM算法与之前介绍的逻辑回归三方有点类似。。支持向量机(support vector machine)是一种分类算法,通过寻求结构化风险最小来提高学习机泛化能力,实现经验风险和置信范围的最小化,从而达到在统计样本量较少的情况下,亦能获得良好统计规律的目的。通俗来讲,它是一种二类分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化,最终可转化为一个凸二...
2019-01-16 22:14:27
2078
原创 聚类算法之K-means
K-means过程原理假设有一批关于计算机科学和数学统计相关的人才,这批人才中计算机人才、机器学习人才、数学人才三类,那么该如何将这批数据进行聚类?我们可以直观的感觉到应该如下分类:但问题是计算机不会直观的去观察数据,首先将这批数据向量化,K-means聚类会随机在这些点中找到三个点,然后计算所有的样本到当前三个点的距离大小,判断样本点与当前三个点哪个距离比较近,当前样本就属于那个类。...
2019-01-15 22:51:59
348
原创 回归算法之逻辑回归
线性回归与逻辑回归的区别:比如要分析年龄,性别,身高,饮食习惯对于体重的影响,如果体重是实际的重量,那么就要使用线性回归。如果将体重分类,分成了高,中,低三类,就要使用逻辑回归进行分类。import org.apache.spark.mllib.classification.{LogisticRegressionWithLBFGS}import org.apache.spark.mllib...
2019-01-15 19:03:23
700
2
原创 回归算法之线性回归
import org.apache.log4j.{Level, Logger}import org.apache.spark.mllib.linalg.Vectorsimport org.apache.spark.mllib.regression.{LabeledPoint, LinearRegressionWithSGD}import org.apache.spark.{SparkConf...
2019-01-15 16:33:37
229
原创 使用spark程序将表数据写入es
引入依赖<dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch-spark-20_2.11</artifactId> <version>5.0.0-alpha...
2019-01-14 17:37:41
1342
原创 kafka不丢失数据与不重复消费数据
一、不丢失数据1.生产者数据不丢失同步模式:配置=1(只有Leader收到,-1所有副本成功,0不等待)。leader partition挂了,数据就会丢失。解决:设置为-1保证produce写入所有副本算成功 producer.type=sync request.required.acks=-1异步模式,当缓冲区满了,如果配置为0(没有收到确认,一...
2019-01-12 20:31:10
13569
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人