自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 impala+hive自定义函数

impala:create function fuzzyMatch(string,string) returns double location '/user/hive/udf/common_project-1.0-SNAPSHOT.jar' symbol='utils.FuzzyMatch';create function getDistance(double,double,double,double) returns double location '/user/hive/udf/common_p

2022-01-13 10:33:51 1143

原创 impala查询优化

Query Hints in Impala SELECT Statements | 5.11.x | Cloudera Documentation使用Impala hint加速SQL查询_skyyws的博客-CSDN博客_impala中强制使用shuffle

2021-12-16 14:43:27 1239

原创 LDAP安装和基础配置

一:服务端安装ldapyum install db4 db4-utils db4-devel cyrus-sasl* krb5-server-ldap -yyum install openldap openldap-servers openldap-clients openldap-devel compat-openldap -ycd /usr/share/openldap-serv...

2020-01-19 16:07:04 2231

原创 centos7增加系统盘

参考博客:https://blog.csdn.net/liyyzz33/article/details/84333230https://blog.csdn.net/liyyzz33/article/details/84333230第一步:使用lvdisplay来获得VG Name。lvdisplay第二步:使用fdisk来生产新的一个空间。fdisk /dev/sda...

2019-11-10 23:17:41 337

原创 OpenLDAP客户端配置

一:在客户端节点上安装 yum install openldap openldap-clients -y(hadoop01,hadoop02,hadoop03) 在 hadoop02 vi /etc/openldap/ldap.confscp -r /etc/openldap/ldap.conf root@hadoop03:/etc/openldap/...

2019-09-08 17:45:35 688

原创 yarn配置kerberos

1:在hadoop01机器上添加其他节点的3个认证t添加对hdfs的认证:kadmin.local -q "addprinc -randkey yarn/hadoop01@HADOOP.COM"kadmin.local -q "addprinc -randkey yarn/hadoop02@HADOOP.COM"kadmin.local -q "addprinc -randk...

2019-08-03 21:22:46 566

原创 vmware虚拟机安装基本软件

1:profileexport JAVA_HOME=/usr/java/jdk1.8.0_181-clouderaexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar2:网络设置TYPE=EthernetPROXY_METHOD=none...

2019-07-19 23:39:03 377

原创 mysql5.7.16的安装

1:mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar下载这个包顺便提醒,安装环境是CentOS6.5,所以应该选用el6的安装包;CentOS7应该选用el7安装包。2:查看MySQLrpm -qa|grep mysqlrpm -qa|grep mariadb3、卸载MySQLrpm -e --nodeps mysql-5.1.73-7...

2019-07-13 04:27:45 336

原创 hive的hplsql安装使用

1:修改hpsql文件#!/bin/bashCDH_HOME=/opt/cloudera/parcels/CDH/libJAVA_HOME=/usr/java/jdk1.8.0_192-amd6export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/libexport "HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$CDH_...

2019-06-25 10:17:36 704

原创 HDFS配置kerberos

1:在hadoop01机器上添加其他节点的3个认证t添加对hdfs的认证:kadmin.local -q "addprinc -randkey hdfs/hadoop01@DYLAN.COM"kadmin.local -q "addprinc -randkey hdfs/hadoop02@DYLAN.COM"kadmin.local -q "addprinc -randkey...

2019-05-11 23:38:20 678

原创 kerberos安装部署

1:服务端安装yum install krb5-server krb5-libs krb5-auth-dialogkrb5-workstationkrb5-devel -y2 在 slave端安装yum installkrb5-devel krb5-workstation -y3:修改配置文件 (1):vi /etc/krb5.conf[loggin...

2019-05-08 21:12:37 1302

原创 airflow安装步骤

1:首先安装mysql组件yum -y install mysql-devel安装GCCC插件:yum install gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64 2:创建软连接ln -s /root/anaconda2/bin/python /usr/bin/pythonln -s/root/ana...

2019-05-06 10:48:05 796

原创 airflow安装问题

CentOS7编译安装MySQL5.7之后安装mysql-devel出错解决方案[root@localhost liuyuantao]# yum -y install mysql-develLoaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors....

2019-05-06 02:30:08 314

原创 java架构师面试题

Redis缓存穿透+缓存雪崩解决方案一.缓存穿透:缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。解决办法:1.布隆过滤对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃。还有最常见的则是采用布隆过滤器,将所...

2019-04-04 11:27:51 557 1

原创 storm事务

ITransactionalSpout<T>普通事务Spout ITransactionalSpout<T>:普通事务Spout -- ITransactionalSpout.Coordinator<X> --initializeTransaction(BigInteger txid, X prevMetadata) : 创建一个新的...

2019-03-26 21:36:00 254

原创 修改文件时间

1. 同时修改文件的修改时间和访问时间touch -d "2010-05-31 08:10:30" install.log2. 只修改文件的修改时间touch -m -d "2010-05-31 08:10:30" install.log3. 只修改文件的访问时间touch -a -d "2010-05-31 08:10:30" install.log...

2019-03-26 15:34:04 784

原创 linux下shell脚本运行jar自动回复重启

#!/bin/bashPROCESS_NUM=`ps -aux|grep xxl-job-executor-sample-springboot.jar|grep -v grep|wc -l`echo $PROCESS_NUMtime=`date "+%Y-%m-%d %H:%M:%S"`source /etc/profileif [ $PROCESS_NUM -eq 1...

2019-03-26 15:09:48 414

原创 HBase 读写流程

在HBase读写时,相同Cell(RowKey/ColumnFamily/Column相同)并不保证在一起,甚至删除一个Cell也只是写入一个新的Cell,它含有Delete标记,而不一定将一个Cell真正删除了,因而这就引起了一个问题,如何实现读的问题?要解决这个问题,我们先来分析一下相同的Cell可能存在的位置:首先对新写入的Cell,它会存在于MemStore中;然后对之前已经F...

2019-03-23 10:46:22 254

原创 数据倾斜解决方案之sample采样倾斜key进行两次join

这个方案的实现思路,跟大家解析一下:其实关键之处在于,将发生数据倾斜的key,单独拉出来,放到一个RDD中去;就用这个原本会倾斜的key RDD跟其他RDD,单独去join一下,这个时候,key对应的数据,可能就会分散到多个task中去进行join操作。 就不至于说是,这个key跟之前其他的key混合在一个RDD中时,肯定是会导致一个key对应的所有数据,都到一个task中去,就会导致数据倾斜...

2019-03-21 00:59:08 548

原创 数据倾斜解决方案之将reduce join转换为map join

reduce join转换为map join,适合在什么样的情况下,可以来使用? 如果两个RDD要进行join,其中一个RDD是比较小的。一个RDD是100万数据,一个RDD是1万数据。(一个RDD是1亿数据,一个RDD是100万数据) 其中一个RDD必须是比较小的,broadcast出去那个小RDD的数据以后,就会在每个executor的block manager中都驻留一份。要确保你的内存...

2019-03-21 00:57:48 468

原创 数据倾斜解决方案之使用随机key实现双重聚合

使用随机key实现双重聚合 1、原理 2、使用场景 (1)groupByKey (2)reduceByKey 比较适合使用这种方式;join,咱们通常不会这样来做,后面会讲三种,针对不同的join造成的数据倾斜的问题的解决方案。 第一轮聚合的时候,对key进行打散,将原先一样的key,变成不一样的key,相当于是将每个key分为多组; 先针对多个组,进行key的局部聚合;接着,再去...

2019-03-21 00:55:58 364

原创 数据倾斜解决方案之提高shuffle操作reduce并行度

第一个和第二个方案,都不适合做。 第三个方案,提高shuffle操作的reduce并行度 将reduce task的数量,变多,就可以让每个reduce task分配到更少的数据量,这样的话,也许就可以缓解,或者甚至是基本解决掉数据倾斜的问题。提升shuffle reduce端并行度,怎么来操作? 很简单,主要给我们所有的shuffle算子,比如groupByKey、countByK...

2019-03-21 00:55:03 438

原创 数据倾斜解决方案之聚合源数据

数据倾斜的解决,跟之前讲解的性能调优,有一点异曲同工之妙。 性能调优,跟大家讲过一个道理,“重剑无锋”。性能调优,调了半天,最有效,最直接,最简单的方式,就是加资源,加并行度,注意RDD架构(复用同一个RDD,加上cache缓存);shuffle、jvm等,次要的。 数据倾斜,解决方案,第一个方案和第二个方案,一起来讲。最朴素、最简谱、最直接、最有效、最简单的,解决数据倾斜问题的方案。 第一个方案...

2019-03-21 00:53:16 288

原创 troubleshooting之解决YARN队列资源不足导致的application直接失败

现象: 如果说,你是基于yarn来提交spark。比如yarn-cluster或者yarn-client。你可以指定提交到某个hadoop队列上的。每个队列都是可以有自己的资源的。 跟大家说一个生产环境中的,给spark用的yarn资源队列的情况:500G内存,200个cpu core。 比如说,某个spark application,在spark-submit里面你自己配了,executor,8...

2019-03-21 00:47:53 450

原创 troubleshooting之解决JVM GC导致的shuffle文件拉取失败

比如,executor的JVM进程,可能内存不是很够用了。那么此时可能就会执行GC。minor GC or full GC。总之一旦发生了JVM之后,就会导致executor内,所有的工作线程全部停止,比如BlockManager,基于netty的网络通信。下一个stage的executor,可能是还没有停止掉的,task想要去上一个stage的task所在的exeuctor,去拉取属于...

2019-03-21 00:46:57 241

原创 troubleshooting之控制shuffle reduce端缓冲大小以避免OOM

map端的task是不断的输出数据的,数据量可能是很大的。 但是,其实reduce端的task,并不是等到map端task将属于自己的那份数据全部写入磁盘文件之后,再去拉取的。map端写一点数据,reduce端task就会拉取一小部分数据,立即进行后面的聚合、算子函数的应用。 每次reduece能够拉取多少数据,就由buffer来决定。因为拉取过来的数据,都是先放在buffer中的。然后才用后面的...

2019-03-21 00:43:39 236

原创 Shuffle调优之HashShuffleManager与SortShuffleManager

SortShuffleManager与HashShuffleManager两点不同: 1、SortShuffleManager会对每个reduce task要处理的数据,进行排序(默认的)。 2、SortShuffleManager会避免像HashShuffleManager那样,默认就去创建多份磁盘文件。一个task,只会写入一个磁盘文件,不同reduce task的数据,用offset来划分界...

2019-03-21 00:39:49 366

原创 Shuffle调优之调节map端内存缓冲与reduce端内存占比

spark.shuffle.file.buffer,默认32k spark.shuffle.memoryFraction,0.2 map端内存缓冲,reduce端内存占比;很多资料、网上视频,都会说,这两个参数,是调节shuffle性能的不二选择,很有效果的样子,实际上,不是这样的。 以实际的生产经验来说,这两个参数没有那么重要,往往来说,shuffle的性能不是因为这方面的原因导致的 但是,有一...

2019-03-21 00:12:54 371

原创 JVM调优之调节executor堆外内存与连接等待时长

/usr/local/spark/bin/spark-submit \ --class com.ibeifeng.sparkstudy.WordCount \ --num-executors 80 \ --driver-memory 6g \ --executor-memory 6g \ --executor-cores 3 \ --master yarn-cluster \ --queue ro...

2019-03-20 23:53:38 373

原创 JVM调优之原理概述以及降低cache操作的内存占比

spark.storage.memoryFraction 0.61、常规性能调优:分配资源、并行度。。。等 2、JVM调优(Java虚拟机):JVM相关的参数,通常情况下,如果你的硬件配置、基础的JVM的配置,都ok的话,JVM通常不会造成太严重的性能问题;反而更多的是,在troubleshooting中,JVM占了很重要的地位;JVM造成线上的spark作业的运行报错,甚至失败(比如OOM)...

2019-03-20 23:49:34 274

原创 性能调优之在实际项目中调节数据本地化等待时长

PROCESS_LOCAL:进程本地化,代码和数据在同一个进程中,也就是在同一个executor中;计算数据的task由executor执行,数据在executor的BlockManager中;性能最好 NODE_LOCAL:节点本地化,代码和数据在同一个节点中;比如说,数据作为一个HDFS block块,就在节点上,而task在节点上某个executor中运行;或者是,数据和task在一个节点上...

2019-03-20 22:42:09 262

原创 性能调优之在实际项目中广播大变量

如果说,task使用大变量(1m~100m),明知道会导致性能出现恶劣的影响。那么我们怎么来解决呢? 广播,Broadcast,将大变量广播出去。而不是直接使用。刚才说的这种随机抽取的map,1M,举例。还算小的。如果你是从哪个表里面读取了一些维度数据,比方说,所有商品品类的信息,在某个算子函数中要使用到。100M。 1000个task。100G的数据,网络传输。集群瞬间因为这...

2019-03-20 22:40:37 1059

原创 性能调优之在实际项目中重构RDD架构以及RDD持久化

第一,RDD架构重构与优化 尽量去复用RDD,差不多的RDD,可以抽取称为一个共同的RDD,供后面的RDD计算时,反复使用。 第二,公共RDD一定要实现持久化 北方吃饺子,现包现煮。你人来了,要点一盘饺子。馅料+饺子皮+水->包好的饺子,对包好的饺子去煮,煮开了以后,才有你需要的熟的,热腾腾的饺子。 现实生活中,饺子现包现煮,当然是最好的了;但是Spark中,RDD要去“现包现煮”,那就是一...

2019-03-20 22:35:59 269

原创 Flink开发中遇到的问题及解法

1. 当Source是Kafka的时候,如何设置Source Operator的并发度?如果没有指定,Source Operator的个数与集群中的TaskManager的个数相等。如果手动设置,建议使用的slot个数=Kafka Partition的个数/TaskManager的个数。此时,Slot的个数需大于等于2.因为其中有一个Source Operator。也不建议在一个Slot中启用...

2019-03-20 22:34:42 714

原创 性能调优之在实际项目中调节并行度

并行度:其实就是指的是,Spark作业中,各个stage的task数量,也就代表了Spark作业的在各个阶段(stage)的并行度。 如果不调节并行度,导致并行度过低,会怎么样? 假设,现在已经在spark-submit脚本里面,给我们的spark作业分配了足够多的资源,比如50个executor,每个executor有10G内存,每个executor有3个cpu core。基本已经达到了集群或者...

2019-03-20 22:34:31 273

原创 性能调优之在实际项目中分配更多资源

分配更多资源:性能调优的王道,就是增加和分配更多的资源,性能和速度上的提升,是显而易见的;基本上,在一定范围之内,增加资源与性能的提升,是成正比的;写完了一个复杂的spark作业之后,进行性能调优的时候,首先第一步,我觉得,就是要来调节最优的资源配置;在这个基础之上,如果说你的spark作业,能够分配的资源达到了你的能力范围的顶端之后,无法再分配更多的资源了,公司资源有限;那么才是考虑去做后面的这...

2019-03-20 22:34:08 279

原创 大数据面试必备

RDD的5大特性1.A list of partitionsRDD是一个由多个partition(某个节点里的某一片连续的数据)组成的的list;将数据加载为RDD时,一般会遵循数据的本地性(一般一个hdfs里的block会加载为一个partition)。2.A function for computing each splitRDD的每个partition上面都会有function,也...

2019-03-17 23:18:53 302

原创 CDH平台搭建过程中主机不受管解决方案

实验室的集群中一直安装的都是原生的hadoop、hbase等生态圈软件,最近由于给出的一个技术方案涉及到hbase-indexer(虽然目前还没用上),而hbase-indexer暂时没找到Apache版本,需要自己编译,而在本机上好像出现了一些错误,因此选择使用cdh版本的hbase-indexer,而在搭建cdh平台的过程中碰到一些问题,其中一个问题就是在集群添加主机时找不到目标主机,通过搜索...

2019-03-13 16:34:54 2222

原创 linux上面运行java代码命令

java -cp  test.jar com.HbaseDaoImpl

2018-07-09 11:28:10 1769

原创 cloudera manager安装遇到的问题

使用mysql作为数据库,提示 JDBC driver cannot be found. Unable to find the JDBC database jar on host     当报驱动找不到,需要手工拷贝 mysql-connector-java-5.1.6-bin.jar  到 mysql主机上的CM5 的目录    如下目录参考:    /opt/cloud

2017-10-15 08:08:24 580

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除