自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 spark HiveThriftServer2

1、HiveThriftServer2对于spark来说,就是一个任务。对客户端来说,是一个JDBC服务,和hive中hiveServer2服务类似。因此客户端可以通过JDBC连接访问HiveThriftServer2,执行sql语句。将hive-site.xml拷贝到spark配置文件目录下,修改hive-site.xml中hive.server2.thrift.port的值,即是HiveThr...

2019-07-25 12:06:20 1763

原创 linux 每个进程/proc/pid的详细信息

/proc/pid/cmdline 进程启动命令/proc/pid/cwd 链接到进程当前工作目录/proc/pid/environ 进程环境变量列表/proc/pid/exe 链接到进程的执行命令文件/proc/pid/fd 包含进程相关的所有的文件描述符/proc/pid/maps 与进程相关的内存映射信息/proc/pid/mem 指代进程持有的内存,不可读/proc/pid/...

2019-07-23 15:38:51 3985

原创 linux 调整ulimit数值

1、vim /etc/security/limits.conf 添加以下内容:# *表示所有用户# soft即是软限制,hard是硬限制。用户可以超过soft设置的值,但一定不能超过hard 的值。一般soft比hard小# noproc表示最大进程数,nofile 表示最大文件打开数* soft noproc 65536* hard noproc 65536* soft nofile...

2019-07-23 15:38:21 1359

原创 NodeManager健康检测机制

每个NodeManager都有健康检测机制,将检测结果通过心跳机制汇报给ResourceManager,ResourceManager会更新NodeManager状态。如果NodeManager处于Unhealthy状态,则ResourceManager不会给这个NodeManager分配任务,直到NodeManager恢复正常一、检测机制1、脚本检测2、本地目录检测3、磁盘使用率检测...

2019-07-06 14:17:11 991

原创 获取hadoop集群资源信息

根据hadoop提供的restful接口获取http://hadoop.apache.org/docs/stable/ --> YARN REST APIs --> Resource Manager1、获取每个node的信息import urllib2import jsondef check_unhealth_nodes() : url = 'http://i...

2019-07-04 22:56:26 2313

原创 hive建表插入元数据表过程

#table_name:表名#column:列名->类型#location:数据存储位置#partitionColumn:分区名->类型#field_delimit:列分隔符#is_parquet_type:是否parquetdef createTable(table_name, column, location, partitionColumn, field_delim...

2019-06-30 16:52:54 654

原创 Hive中的InputFormat、OutputFormat与SerDe

1、SerDe is a short name for “Serializer and Deserializer.”Hive uses SerDe (and !FileFormat) to read and write table rows.HDFS files –> InputFileFormat –> <key, value> –> Deserializer ...

2019-06-30 16:01:53 1477

原创 hadoop配置参数

一、各个组件jvm参数1、在hadoop-env.sh中的HADOOP_HEAPSIZE和HADOOP_CLIENT_OPTS是公共参数,不仅影响namenode/datanode,还会覆盖hive的hive-env.sh中的jvm的设置,因此建议将这两个参数注释2、设置NameNode的jvm参数,在hadoop-env.sh中设定HADOOP_NAMENODE_OPTS3、设置DataN...

2019-06-29 23:39:02 1476

原创 hive 常见问题汇总

1、hive的HiveMetaStore或者HiveServer2服务进程正常,但却不能提供相应服务原因:堆内存不足解决方案:在hive-env.sh中调整堆内存大小

2019-06-29 23:21:11 1418

原创 hive hive-env.sh配置

hive 启动metastore、hiveserver2服务等等所有服务,都是通过hadoop jar命令加上自己的hive相关的jar包名执行的。1、调整hive相关服务的-Xmx堆内存大小在hive-env.sh中export HADOOP_HEAPSIZE=2048 #单位是MB,等同于-Xmx2048m,注意要注释掉hadoop-env.sh中的HADOOP_HEAPSIZE和HA...

2019-06-29 23:17:32 4423

原创 spark异常错误总结

1、java.lang.OutOfMemoryError: GC overhead limit exceeded原因:数据量太大,内存不够解决方案:(1)增大spark.executor.memory的值,减小spark.executor.cores (2)减少输入数据量,将原来的数据量分几次任务完成,每次读取其中一部分2、ERROR An error occurred...

2019-06-21 19:38:20 5429

原创 java获取某个类属于哪个jar

import java.security.CodeSource;import java.security.ProtectionDomain;//获取StringUtils类从哪个jar加载ProtectionDomain pd = StringUtils.class.getProtectionDomain(); CodeSource cs = pd.getCodeSource();S...

2019-06-20 16:05:41 1239

原创 hadoop中Configruration

1、构造函数 Configuration():实际调用Configuration(true) Configuration(boolean loadDefaults):loadDefaults为true时,表示会加载默认的配置文件(xxx.xml)2、addDefaultResource(String name):添加默认的配置文件,在类路径下要存在该配置文件。 addRes...

2019-06-18 17:00:53 265

原创 spark sql随记

1、spark sql访问hive将hive-site.xml放入到${SPARK_HOME}/conf下如果是spark on yarn的cluster模式,由于driver是运行于哪个executor未知,因此在spark-defaults.conf中指定参数spark.yarn.dist.files xxx/hive-site.xml...

2019-06-16 20:34:17 119

原创 spark参数详解

spark的配置参数可以在多个地方配置,以executor的memory为例,有三个地方可以配置(1)spark-submit的--executor-memory选项(2)spark-defaults.conf的spark.executor.memory配置(3)spark-env.sh的SPARK_EXECUTOR_MEMORY配置优先级:spark-submit --选项 > ...

2019-06-15 14:31:31 1591

原创 java设计模式之单例模式

//饿汉式public class Singleton { private static final Singleton singleton = new Singleton(); private Singleton(){ System.out.println("Created Singleton!!!"); } public static ...

2019-06-02 11:19:49 68

原创 spark on yarn提高提交任务速度

对于spark on yarn模式,yarn上的container需要运行spark所需的jar包。在spark-defaults.conf中指定spark.yarn.archive或者spark.yarn.jars1、spark.yarn.archive 将spark主目录下jars文件夹下的jar包打包,比如spark_lib.zip 将spark_lib.zip上传到hd...

2019-05-30 19:43:38 520

原创 python logging用法

import loggingimport logging.handlers import oslogger = logging.getLogger("mylog")logfile = os.path.abspath("./log/debug.log")#日志按天保存,一天保存一个日志文件,日志文件20个fh = logging.handlers.TimedRotatingFileH...

2019-05-29 14:23:12 274

原创 /bin/bash和/bin/sh的区别

1、/bin/sh是/bin/bash的软连接,在一般的linux系统当中,使用sh调用执行脚本相当于打开了bash的POSIX标准模式,也就是说 /bin/sh 相当于 /bin/bash --posix2、/bin/sh执行过程中,若出现命令执行失败,则会停止执行;/bin/bash执行过程中,若命令执行失败,仍然会继续执行3、假设test.sh#!/bin/bashecho he...

2019-05-27 20:10:24 20763 1

原创 在shell中直接运行成功,在crontab中运行失败

/var/log/cron可以查看crontab执行了哪些定时任务解决方案:初始化定时任务所要使用的环境变量,比如source /etc/profile#!/bin/bashsource /etc/profile#定时任务...

2019-05-27 19:59:17 336

原创 Unsupported major.minor version 52.0解决方案

问题原因:jdk高版本编译的程序,在低版本的环境中运行解决方案:1、用低版本的jdk编译程序 2、升级jdk到相应版本注意:若程序的jdk版本和环境的jdk版本一致,仍然出现上述问题,则说明环境同时存在高版本和低版本的jdk,程序的运行环境仍然是指向低版本的jdkJ2SE 8 = 52,J2SE 7 = 51,J2SE 6.0 = 50,J2SE ...

2019-05-27 19:51:46 447

原创 log4j2 RollingFile用法

一、按天记录日志,日志保留7天 <RollingFile name="rollingFile" fileName="log/main.log" filePattern="log/$${date:yyyy-MM}/main-%d{yyyy-MM-dd}.log.gz"> <PatternLayout pattern="[%d{yyyy-M...

2019-05-25 18:07:10 17408 1

原创 java程序启动、停止、重启脚本

一、启动脚本start.sh#!/bin/shisExist=`ps -ef | grep MonitorAndImprove | grep -v grep | awk '{print $2}'`if [ ! -z "$isExist" ]; then echo "process already running!!! pid is "$isExist exit -1fi...

2019-05-22 17:06:51 2221

原创 Java根据cpu空闲率提高cpu利用率

import org.slf4j.Logger;import org.slf4j.LoggerFactory;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;import java.util.concurre...

2019-05-22 15:54:20 2920

原创 java加载配置文件,并读取配置参数

import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.net.URL;import java.util.Properties;public class Configuration { private static Properties propertie...

2019-05-22 15:49:31 1676

原创 python 编码处理

一、python有两种字符串类型:str和unicode1、str:常用的字符集如:gb2312、gb18030/gbk、utf-8、ascii,这些都是字符的二进制(字节)编码形式2、unicode:Python 认为 16 位的 unicode 才是字符的唯一内码3、encode:从unicode转换成二进制编码,即从unicode转换成str4、decode:从二进制编码转换成uni...

2019-05-19 10:05:11 338

原创 netty入门使用

public class HttpServer { public void start(int port) throws Exception { EventLoopGroup bossGroup = new NioEventLoopGroup(1); int availProcessors = Runtime.getRuntime().availa...

2019-04-27 14:47:56 215

原创 Spark History Server配置

1、spark-defaults.conf:spark.eventLog开头的配置spark.eventLog.enabled truespark.eventLog.compress truespark.eventLog.dir hdfs://ip:port/log/或者file:///tmp/spark-events2、spar...

2019-04-15 12:20:41 143

原创 linux编辑定时任务

1、crontab -l 显示当前用户定时任务2、crontab -e 编辑当前用户定时任务3、crontab服务每分钟不仅要读一次/var/spool/cron内的所有文件,还需要读一次 /etc/crontab利用sed添加定时任务sed "\$a\\#presto health check\\n*/1 * * * * cd /data/presto-server-0.213/...

2019-04-11 18:36:55 3390

原创 linux查看java进程是否被kill掉

dmesg | grep -i kill | grep pid

2019-04-11 16:57:48 1220

原创 linux设置动态库或者静态库搜索路径

方式一、将路径添加到/etc/ld.so.conf中,执行/sbin/ldconfig命令以更新/etc/ld.so.cache文件方式二、设置环境变量:在/etc/profile中添加export LD_LIBRARY_PATH=xxx:$LD_LIBRARY_PATH ,然后执行source /etc/profile...

2019-04-11 15:12:57 447

原创 makefile详解

一、参数$@:代表目标文件(target)$^:代表所有的依赖文件(components)$<:代表第一个依赖文件(components中最左边的那个)。= 是最基本的赋值:= 是覆盖之前的值?= 是如果没有被赋值过就赋予等号后面的值+= 是添加等号后面的值二、"="与":="区别1、"="make会将整个makefile展开后,再决定变量的值。也就是说,变...

2019-04-05 12:44:22 179

原创 g++ 生成静态库和动态库

一、参数-I (大写i)编译程序按照-I指定的路进去搜索头文件。-I/home/include/表示将-I/home/include/目录作为第一个寻找头文件的目录,寻找的顺序是:/home/include/ -->/usr/include-->/usr/local/include-L(大写l)后跟路径,表示链接库的路径-L/lib/表示到/lib/目录下找库文件...

2019-04-05 12:42:12 3334

原创 log4j2与slf4j配合使用

一、在pom.xml文件中添加依赖<!--log4j2依赖包--><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.6.2&lt...

2019-03-25 20:27:29 1186

原创 log4j和slf4j配合使用

一、在pom.xml文件中添加依赖<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.2</version> </depende...

2019-03-25 20:12:03 301

原创 java JVM详解

一、栈存放临时变量、参数和中间结果二、方法区要加载的类信息、静态变量、常量等等,使用permanent generation存放方法区三、堆有三部分组成:(1)young generation (2)old generation (3)permanent generation1、young generation有三部分组成:eden space 、from space 、to spa...

2019-03-22 17:04:14 371

原创 Java异常处理

一、异常处理准则1、需要处理异常时才去捕获异常,否则在方法签名处声明抛出该异常即可2、不要打印异常日志同时将其抛出,因为会导致异常信息重复打印3、将原异常封装成新异常时,不要丢弃原异常的信息,构成异常链4、对可恢复异常使用编译时异常,对编程错误使用运行时异常5、避免不必要的编译时异常,如果调用者即使合理的使用API也不能避免异常的发生,并且调用者可以对捕获的异常做出有意义的处理,才使用编...

2019-03-21 19:49:04 156

原创 java HttpClient和HttpResponse

HttpClient调用execute方法,实际是InternalHttpClient调用其父类CloseableHttpClient的execute方法,进而调用InternalHttpClient的doExecute方法。 返回的HttpResponse实际是HttpResponseProxy,通过getEntity方法返回的是HttpEntity,实际是ResponseEn...

2019-03-17 16:06:41 2655

原创 log4j加载配置文件原理

public class LogManager { static public final String DEFAULT_CONFIGURATION_FILE = "log4j.properties"; static final String DEFAULT_XML_CONFIGURATION_FILE = "log4j.xml"; stati...

2019-03-17 12:43:40 2332

原创 Java线程池异常处理原理

ExecutorService exec = Executors.newFixedThreadPool(8);以上述代码为例,得到ExecutorService实例后,我们可以通过两种方式提交任务(Runnable):exec.execute(runnable) 和 exec.submit(runnable)exec.submit(runnable) 实际是调用AbstractExe...

2019-02-20 15:34:00 720

空空如也

空空如也

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

TA关注的人

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