自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Docker中镜像和容器的区别

一、Docker镜像要理解Docker镜像和Docker容器之间的区别,确实不容易。假设Linux内核是第0层,那么无论怎么运行Docker,他都是运行于内核层之上的。这个Docker镜像,是一个只读的镜像,位于第一层,他不能被修改或不能保存状态。一个Docker镜像可以构建于另一个Docker镜像之上,这种层叠关系可以使多层的。第一层的镜像我们称之为基础镜像(Base Image),...

2018-04-25 13:59:16 8058

转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解

现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(Lock Contention)Java进程消耗CPU过高 这些问题在日常开中可能被很多人忽视(比如有的人遇到上面的问题只是重启服务器或者调大内存,而不会深究问题根源),但能够理解并解决这些问题是Java程序员进阶的必备要求。jpsjps主要是用来输出JVM中运行的

2018-04-25 11:48:29 474

转载 Docker基础及使用总结

什么是Docker基本介绍Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。为什么用Docker...

2018-04-24 15:49:04 577

原创 Docker1.7.1基本使用

查找镜像$>docker search ${imagename}拉取镜像$>docker pull <镜像名:tag>//例如$>docker pull asdc/centos6.7查看所有镜像$>docker images删除镜像//删除单个镜像$>docker rmi <镜像名称>//删除所有...

2018-04-24 15:11:58 1847

原创 块存储、文件存储、对象存储区别

块存储典型设备:磁盘阵列,硬盘 块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块磁盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘1

2018-04-23 20:41:51 1284 2

原创 Centos6.7安装Docker1.7.1

Docker安装1. 更新yum源1.1备份yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup1.2下载国内源(这里使用阿里云的yum源) CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base.repo http...

2018-03-29 09:53:33 1603

原创 Spark2.2.0源码编译打包

下载Spark2.2.0源码在Spark官网下载源码,选着Source Code下载即可(也可以git clone spark源码),下载之后的tar包传入机器对应位置解压即可。 安装Maven并配置在环境变量里设置maven内存大小 开始编译由于Hadoop版本使用的是2.7.3,并且需要hive支持,所以编译时需要指定版本不需要打安装包编译命令./build...

2018-03-22 17:55:59 925

转载 Spark为何使用Netty通信框架替代Akka

解决方案一直以来,基于Akka实现的RPC通信框架是Spark引以为豪的主要特性,也是与Hadoop等分布式计算框架对比过程中一大亮点,但是时代和技术都在演化,从Spark1.3.1版本开始,为了解决大数据块(如shuffle)的传输问题,Spark引入了Netty通信框架,到了1.6.0版本,Netty居然完全取代了Akka,承担Spark内部所有的RPC通信以及数据流传输。网络IO扫盲

2018-02-01 18:06:33 8114 1

转载 Ceph对象存储网关中的索引工作原理

Ceph对象存储网关允许你通过Swift及S3 API访问Ceph。他将这些API请求转化为librados请求。Librados是一个非常出色的对象存储(库)但是它无法高效的列举对象。对象存储网关维护自有索引来提升列举对象的响应性能并维护了其他的一些元信息。 我们先来看看一个已存在的bucket 这个bucket的对象列表存储在一个单独的rados对象中。这个对象的名字是.dir.加上bu

2017-12-20 09:39:45 2908

转载 网关及网关作用

什么是网关网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域互连,也可以用于局域网互连。网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网

2017-12-19 17:40:57 2526 1

转载 Ceph安装对象网关

1.概述 安装3个网关节点分别是:controller-03,controller-04,controller-05,使用ceph gw自带的Civetweb,前端使用nginx作为前端代理。2.分别在三个节点安装ceph gw 分别在每个gw节点执行:yum install ceph-radosgw然后再执行:ceph-deploy --overwrite rgw create control

2017-12-19 16:35:01 1469

转载 RADOS分布式对象存储原理简介

Ceph是一个开源的PB级文件系统,最早是加州大学Santa Cruz分校的一个研究项目,项目创始人sage weil是该校的一名博士。ceph包括一个兼容POSIX的分布式文件CephFS,一个分布式对象存储系统RADOS(Reliable Autonomic Distributed Object Storage),并基于RADOS实现了一个且兼容Swift和S3的存储系统radosgw,以及一个

2017-12-19 11:57:51 2109

转载 Ceph常用命令

集群1.启动一个ceph进程启动mon进程service ceph start mon.node1启动msd进程service ceph start mds.node1启动osd进程 service ceph start osd.02.查看机器的监控状态ceph health3.查看ceph的实时运行状态ceph -w4.检查状态信息ceph -s5.查看ceph存储空间ceph df6

2017-12-19 09:13:37 5320

转载 RADOS:一种可扩展高可用的PB级存储集群(Ceph)

摘要 基于对象的存储架构已经作为一种新的方法改进存储集群(Storage Clusters)的扩展性而出现。尽管存储节点已经表现的足够只能和自主,但现有的系统仍然将存储节点作为一种被动的设备(passive devices)。我们目前的设计和实现的RADOS,是一个可靠的对象存储服务,它通过利用多个独立的存储节点能够扩展到成千上万的设备集群。RADOS能够保持一致的数据访问和强大的语义安全,同

2017-12-18 17:04:03 867

转载 Linux编译安装GCC 5.1.0

下载GCC源码wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.1.0/gcc-5.1.0.tar.gz2解压并下载依赖tar -zxvf gcc-5.1.0.tar.gz3cd gcc-5.1.0./contrib/download_prerequisites生成makefile文件cd ..mkdir gcc-build-5.1.0cd gcc-bu

2017-12-15 16:43:30 1733

转载 Java四种线程池的用法分析

1、new Thread的弊端new Thread(new Runnable() { @Override public void run() { // TODO Auto-generated method stub } }).start();1.每次new Thread新建对象性能差。 2.线程缺乏统一管理,可能无限制新建线程,相互之间竞争,

2017-12-15 16:33:44 197

转载 Spark Streaming——Checkpoint

转载:源文连接 一个Streaming Application往往需要7*24不间断的跑,所以需要有抵御意外的能力(比如机器或系统挂掉,JVM crash等)。为了让这成为可能,Spark Streaming需要checkpoint足够多信息至一个具有容错设计的存储系统才能让Application从失败中恢复。Spark Streaming会checkpoint两种类型的数据。Metadata(

2017-12-04 16:16:24 410

转载 HDFS超租约异常总结(org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException)

异常信息:13/09/11 12:12:06 INFO hdfs.DFSClient: SMALL_BUFFER_SIZE is 512org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on /tmp/put_dir/20130

2017-12-01 11:09:20 915

转载 Spark将大量分区写入HDFS报错

对大量的数据进行一系列的数据处理后DataFrame此时有2W个分区(170W条数据,因此每个分区数量只有几百条),此时使用parquet命令,将会往一个hdfs文件中同时写入了大量的碎文件。 提示(省略无用信息):WARN TaskSetManager: Lost task: org.apache.spark.SparkException: Task failed while writing r

2017-12-01 10:59:32 1623

转载 Spark RDD coalesce()方法和repartition()方法

在Spark的RDD中,RDD是分区的。有时候需要重新设置RDD的分区数量,比如RDD的分区中,RDD分区比较多,但是每个RDD的数量比较小,需要设置一个比较合理的分区。或者需要把RDD的分区数量调大。还有就是通过设置一个RDD的分区来达到设置生成的文件的数量。 有这两种方法是可以重设RDD分区:分别是coalesce()方法和repartition()。 这两个方法有什么区别,看看源码就知道了

2017-12-01 10:48:35 5409

转载 GitLab关闭用户注册功能

去掉 Sign-up enabled 的对勾 Admin–>settings –> Sign-in Restrictions Sign-up enbaled 关闭注册功能 Sign-in enbaled 关闭注册登录功能

2017-11-27 19:25:39 3898

转载 GitLab的安装及使用教程

GitLab基本介绍GitLab是利用Ruby on Rails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。与Github类似,GitLab能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现

2017-11-27 19:22:45 1482

转载 java.sql.SQLException: ResultSet is closed解决方法

这个小问题弄了半天才恍然大悟…… 之前的数据库连接和rs.next()都没问题,在关闭rs前用了三次rs.next(),跟了两次断点没发现那里有问题,而在改关闭连接等的时候用了:pst.close(); //PreparedStatement pst rs.close(); //ResultSet rs conn.close();问题就出在这儿,PreparedStatment关闭后就把

2017-11-17 17:43:10 8147

转载 Spark相关问题的故障排除

Spark的执行模型我们遇到的大多数必须处理的问题需要先理解代码的执行环境。Spark作业是在分布式数据集上执行并行操作的驱动程序。为了解决问题需要理解代码的不同部分在哪里运行。 下面是官网的WordCount例子:file = spark.textFile("hdfs://...")file.flatMap(line => line.split(" ")) .map(word => (w

2017-11-03 16:47:42 536

转载 SparkSQL操作Hive Table(enableHiveSupport())

Spark SQL支持对Hive的读写操作。然而因为Hive有很多依赖包,所以这些依赖包没有包含在默认的Spark包里面。如果Hive依赖的包能在classpath找到,Spark将会自动加载它们。需要注意的是,这些Hive依赖包必须复制到所有的工作节点上,因为它们为了能够访问存储在Hive的数据,会调用Hive的序列化和反序列化(SerDes)包。Hive的配置文件hive-site.xml、co

2017-11-03 14:23:25 29892

转载 HAProxy安装使用和配置

入坑系列之HAProxy负载均衡在大型系统设计中用代理在负载均衡是最常见的一种方式,而相对靠谱的解决方案中Nginx、HAProxy、LVS、F5在各大场中用得比较普遍,各有各的优势和使用场景,由于本次要使用到TCP,因此Nginx只能在HTTP层负载,因此用HAProxy来负载,为什么不用LVS?因为配置太麻烦。HAProxy是免费、极速且可靠的用于为TCP和基于HTTP应用程序提供高可用、负载均

2017-11-03 14:11:43 386

转载 HAProxy介绍

HAProxy简介(1)HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于哪些负载特别大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同事可以

2017-11-02 10:46:37 222

转载 hive分区(partition)简介

一、背景1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。2、分区表指的是在创建表时指定的partition的分区空间。3、如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构。二、技术细节1、一个表可以拥有一个或者多个分区,

2017-10-27 09:45:56 494

转载 Spark写入Parquet,暴露JDBC引擎,实现准实时SQL查询

有一个设想当有持续不断的结构化或非结构化大数据集以流(streaming)的方式进入分布式计算平台, 能够保存在大规模分布式存储上,并且能够提供准实时SQL查询,这个系统多少人求之不得。今天,咱们就来介绍一下这个计算框架和过程。问题分解一下数据哪里来?假设,你已经有一个数据收集的引擎或工具(不在本博客讨论范围内,请出门左转Google右转百度),怎么都行, 反正数据能以流的方式给出来,塞进Kaf

2017-10-27 09:34:46 464

转载 Spark SQL简单操作演示(含导出表)

Spark SQL前身 是Shark,由于Shark对于Hive的太多依赖制约了Spark的发展,Spark SQL由此产生。 Spark SQL只要在编译的时候引入Hive支持,就可以支持Hive表访问,UDF,SerDe,以及HiveQL/HQL 启动spark-sql$>spark-sql 16/05/15 21:20:55 WARN NativeCodeLoader: Unable

2017-10-27 09:26:54 1100

转载 Hive用户自定义聚合函数(UDAF)

用户自定义聚合函数,用户提供的多个入参通过聚合计算(求和、求最大值、求最小值)得到一个聚合计算结果的函数。 问题:UDF也可以提供输入多个参数然后输出一个结果的运算,比如加法运算add(3,5),add这个UDF需要实现UDF的evaluate方法,那么UDF和UDAF的实质分别究竟是什么?Double evaluate(Double a, Double b)1.什么是UDAFUDF只能实现一进一

2017-10-26 16:32:59 772

转载 SparkSQL相关语句总结

1.in 不支持子查询eg. select * from src where key in(select key from test);支持查询个数 eg. select * from src where key in(1,2,3,4,5);in 40000个 耗时25.766秒in 80000个 耗时78.827秒2.union all/union不支持顶层的union all eg. s

2017-10-26 15:07:30 10055

转载 Yarn的Memory和CPU调优配置详解

PPHadoop Yarn同事支持内存和CPU两种资源的调度,本文介绍如何配置YARN对内存和CPU的使用。 Yarn作为一个资源调度器,应该考虑到集群里面每一台机子的计算资源,然后根据application申请的资源进行分配Container。Container是Yarn里面资源分配的基本单位,具有一定的内存以及CPU资源。 在Yarn集群中,平衡内存、CPU、磁盘的资源很重要,根据经验,每两

2017-10-26 14:01:54 3194 2

转载 Hive Parquet配置

parquet的配置主要包括: parquet.compression parquet.block.size parquet.page.size 等,详见: https://github.com/Parquet/parquet-mr/blob/master/parquet-hadoop/src/main/java/parquet/hadoop/ParquetOutputFormat.jav

2017-10-26 10:26:52 2840

转载 Spark+Parquet分片规则

之前提到parquet.block.size所控制的parquet row group大小是一个需要调优的spark参数。其中重要一点,就是控制任务的并发度。 在Hadoop里,任务的并发默认是以hdfs block为单位的,而Spark里多了一种选择,即以RowGroup为基本单位。 在调用HiveContext.read.parquet(path)时,会触发ParquetRelation2对

2017-10-26 10:02:03 4785

转载 Hive中数组的使用

基本操作创建文本$>cat test.txt输入文本数据12,23,23,34 what,are,this34,45,34,23,12 who,am,i,are打开Hive,创建表hive> create table t_afan_test > ( > info1 array<int>, > info2 array<string> > )

2017-10-25 22:59:35 40707

转载 解决value toDF is not a member of org.apache.spark.rdd.RDD[People]

编译如下代码时val rdd : RDD[People]= sparkSession.sparkContext.textFile(hdfsFile,2).map(line => line.split(",")).map(arr => People(arr(0),arr(1).trim.toInt))rdd.toDF出现错误:value toDF is not a member of org.apa

2017-10-19 14:19:19 17617 5

转载 怎么解决java.lang.NoClassDefFoundError错误

前言在日常Java开发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,需要花费很多时间去找错误的原因,具体是哪个类不见了?类明明还在,为什么找不到?而且我们很容易把java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误搞混,事实上这两个错误是完成不同的。我们往往花费时间去不断尝试

2017-10-19 14:09:51 2847

转载 spark解决org.apache.spark.SparkException: Kryo serialization failed: Buffer overflow

使用spark sql的thrift jdbc接口查询数据时报这个错误Exception in thread "main" java.sql.SQLException: org.apache.spark.SparkException: Job aborted due to stage failure: Task 3107 in stage 308.0 failed 4 times, most rec

2017-10-19 11:26:09 9864

转载 Hive自定义UDF函数

1 编写UDF类编写自定义函数需要继承'org.apache.hadoop.hive.ql.exec.UDF'类,可以通过Maven添加,pom文件中加入(版本号和当前Hive一致即可):<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>0.13.1</

2017-10-11 09:15:11 890

空空如也

空空如也

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

TA关注的人

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