自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浅汐

大数据技术交流与分享,内有大量大数据干货 1群:126181630 2群:663052251 3群:671914634 4群:707635769 5群:545916944

  • 博客(96)
  • 收藏
  • 关注

原创 hbase各个组件的作用以及hbase的读写流程

2017-10-30 11:28:18 1211

原创 hbase和RDBMS的区别

一 Hbase是个什么东西? 首先我们来看看两个概念,面向行存储和面向列存储。面向行存储,我相信大伙儿应该都清楚,我们熟悉的RDBMS就是此种类型的,面向行存储的数据库主要适合于事务性要求严格场合,或者说面向行存储的存储系统适合OLTP,但是根据CAP理论,传统的RDBMS,为了实现强一致性,通过严格的ACID事务来进行同步,这就造成了系统的可用性和伸缩性方面大大折扣,而目前的很多NoSQL产

2017-10-30 08:56:23 1463

原创 Region拆分策略

Region 概念Region是表获取和分布的基本元素,由每个列族的一个Store组成。对象层级图如下: Table      (HBase table)   Region       (Regions for thetable)        Store          (Store perColumnFamily for each Region for the table

2017-10-30 08:52:07 1312

原创 Hbase的架构和实现原理

一、架构思路   Hbase是基于Hadoop的项目,所以一般情况下我们使用的直接就是HDFS文件系统,这里我们不深谈HDFS如何构造其分布式的文件系统,只需要知道虽然Hbase中有多个RegionServer的概念,并不意味着数据是持久化在RegionServer上的,事实上,RegionServer是调度者,管理Regions,但是数据是持久化在HDFS上的。明确这一点,在后面的讨论中,我

2017-10-30 08:48:05 262

原创 解决hbase自带的zookeeper启动报错

执行hbase zkcli后报错信息如下:15/10/02 15:17:55 INFO zookeeper.ZooKeeper: Client environment:java.library.path=/opt/cloudera/parcels/CDH-5.4.5-1.cdh5.4.5.p0.7/lib/hadoop/lib/native15/10/02 15:17:55 INFO zo

2017-10-30 08:25:29 8895

原创 hbase rest api的使用

1.打开hbase的官网:http://hbase.apache.org/2.找到rest api的使用指南后,执行以下命令启动REST Server: bin/hbase rest start -p4444 #端口自己指定即可关闭REST Server的命令: bin/hbase rest stop -p4444启动成功以后使用jps命令查看进程:会发现出现RES

2017-10-29 16:48:34 79557 4

原创 CDH5.11离线安装或者升级spark2.x

简介:在我的CDH5.11集群中,默认安装的spark是1.6版本,这里需要将其升级为spark2.x版本。经查阅官方文档,发现spark1.6和2.x是可以并行安装的,也就是说可以不用删除默认的1.6版本,可以直接安装2.x版本,它们各自用的端口也是不一样的。我尝试了安装spark2.0版本和spark2.1版本,均告成功。这里做一下安装spark2.1版本的步骤记录。

2017-10-27 16:45:28 1145 1

转载 YARN and MapReduce的【内存】优化配置详解

在Hadoop2.x中, YARN负责管理MapReduce中的资源(内存, CPU等)并且将其打包成Container。使之专注于其擅长的数据处理任务, 将无需考虑资源调度. 如下图所示             YARN会管理集群中所有机器的可用计算资源. 基于这些资源YARN会调度应用(比如MapReduce)发来的资源请求, 然后YARN会通过分配Container来给每个应

2017-10-27 16:40:57 228

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

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

2017-10-27 16:38:19 889

转载 CDH集群调优:内存、Vcores和DRF

吐槽最近“闲”来无事,通过CM把vcores使用情况调出来看了一眼,发现不论集群中有多少个任务在跑,已分配的VCores始终不会超过120。而集群的可用Vcores是360(15台机器×24虚拟核)。这就相当于CPU资源只用到了1/3,作为一个半强迫症患者绝对不能容忍这样的事情发生。分析的过程不表,其实很简单就是几个参数的问题。本以为CM能智能的将这些东西配好,现在看来好像不行。以

2017-10-27 16:36:49 354

原创 CDH5.11添加kafka服务及其初始启动OutOfMemoryError失败解决

简介:CDH的parcel包中是没有kafka的,kafka被剥离了出来,需要从新下载parcel包安装。或者在线安装,但是在线安装都很慢,这里使用下载parcel包离线安装的方式。PS:kafka有很多版本,CDH也有很多版本,那也许你会疑问如何知道你的CDH应该安装什么kafka版本。这个官方有介绍,文档地址:https://www.cloudera.com/documenta

2017-10-27 16:29:36 306

原创 搭建hbase伪分布

1.下载http://archive.cloudera.com/cdh5/cdh/5/hbase-1.2.0-cdh5.7.5.tar.gz2.解压tar -zxvf hbase-1.2.0-cdh5.7.5.tar.gz3.修改$HBASE_HOME/conf/hbase-env.shexport JAVA_HOME=/opt/soft/jdk1.8.0_40expo

2017-10-26 08:53:45 419

转载 基于CentOS6.4环境编译Spark-2.1.0源码

1 写在前面的话有些小伙伴可能会问:Spark官网不是已经提供了Spark针对不同版本的安装包了吗,我们为什么还需要对Spark源码进行编译呢?针对这个问题我们到Spark官网: spark.apache.org来看下,如下图所示:Spark官网的确是提供了一些Hadoop版本的Spark安装包,但是提供的这些是否能够满足我们的要求呢?答案肯定是否定的,根据本人近几年做Spar

2017-10-19 16:44:10 208

原创 Set集合

Scala Set是相同类型成对的不同元素的集合。换句话说,一个集合是不包含重复元素的集合。 集合有两种:不可变(immutable)和可变(mutable)。可变对象和不可变对象之间的区别在于,当对象不可变时,对象本身无法更改。默认情况下,Scala使用不可变的集合(Set)。 如果要使用可变集合(Set),则必须明确导入scala.collection.mutable.Set类。

2017-10-19 14:37:06 341

原创 fold,foldLeft和foldRight区别与联系

从本质上说,fold函数将一种格式的输入数据转化成另外一种格式返回。fold, foldLeft和foldRight这三个函数除了有一点点不同外,做的事情差不多。我将在下文解释它们的共同点并解释它们的不同点。  我将从一个简单的例子开始,用fold计算一系列整型的和。valnumbers =List(5,4,8,6,2)

2017-10-19 14:12:49 657 1

原创 Scala Trait

Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。与接口不同的是,它还可以定义属性和方法的实现。一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。Trait(特征) 定义的方式与类类似,但它使用的关键字是 trait,如下所示:trait Equal {  def is

2017-10-19 13:54:05 210

原创 Scala处理XML文件(二)

要在Scala程序中加载已存在的XML文件,可以使用scala.xml.XML类中的load()方法。假设有如下XML文件,名为“books.xml”。bookshelf>     book id="001">         name>Scalaname>         author>Johnauthor>     book>          book id="002">        

2017-10-18 02:11:35 976

原创 Scala处理XML文件(一)

Scala中处理XML文件的功能是比较强大的,因此不管怎样至少也得接触一下。XML也是Scala中的“第一类公民”,直接将一个XML格式的字符串赋值给一个val值变量就可以开始处理了。最基本的有scala.xml.Elem类中的 \ 方法和 \\ 方法,它们可用于直接对XML文件进行解析和提取。 假如有如下的XML文件:symbols>     symbol ticker="AAPL"

2017-10-18 02:09:35 2119

转载 Github上传代码菜鸟超详细教程

最近需要将课设代码上传到Github上,之前只是用来fork别人的代码。这篇文章写得是windows下的使用方法。第一步:创建Github新账户第二步:新建仓库第三部:填写名称,简介(可选),勾选Initialize this repository with a README选项,这是自动创建REAMDE.md文件,省的你再创建。第四步:安装

2017-10-18 01:43:42 351

原创 scala-mysql数据库资源池

package connectimport java.sql.{Connection, DriverManager}import java.util/*** mysql数据库连接池*/object MySqlPool {private val max = 8 //连接池连接总数private val connectionNum = 10 //每次产生连接数

2017-10-18 01:14:46 1074

转载 MySQL双主高可用架构之MMM实战

MMM简介:MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器),是关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能基于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的服务器启动虚拟ip,除此之外,它还有实现数据

2017-10-14 22:45:15 342

原创 mysql5.6多实例配置

多实例简述在一台物理服务器上安装一套Mysql软件程序,创建多个Mysql实例,每个Mysql实例拥有各自独立的数据库、配置文件和启动脚本,多个Mysql实例共享服务器硬件资源(CPU,MEM,磁盘,网络)。可以将多实例形像的理解成一个房子里的多个房间,在房子里的浴室、厨房和客厅是公用资源。 多实例优劣优点:    1、  充分利用服务器富余硬件资源,节约了硬件成本;   

2017-10-14 22:36:02 1253

转载 Spark性能优化指南——高级篇

前言继基础篇讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为《Spark性能优化指南》的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题。数据倾斜调优调优概述有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多。数据倾斜调优,就是使用各种技术方案解决不同类型的数据

2017-10-14 22:11:34 196

转载 Spark性能优化指南——基础篇

前言在大数据计算领域,Spark已经成为了越来越流行、越来越受欢迎的计算平台之一。Spark的功能涵盖了大数据领域的离线批处理、SQL类处理、流式/实时计算、机器学习、图计算等各种不同类型的计算操作,应用范围与前景非常广泛。在美团•大众点评,已经有很多同学在各种项目中尝试使用Spark。大多数同学(包括笔者在内),最初开始尝试使用Spark的原因很简单,主要就是为了让大数据计算作业的执行速

2017-10-14 22:10:30 171

原创 MapReduce2和MapReduce1的架构设计对比

MapReduce2  架构设计:1:用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。2:ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用程序的ApplicationMaster。3:Applic

2017-10-14 22:00:07 1026

原创 hadoop文件的读写流程

1.副本放置策略第一副本:放置在上传文件的DataNode上;如果是集群外提交,则随机挑选一台磁盘不太慢、CPU不太忙的节点上;第二副本:放置在于第一个副本不同的机架的节点上;第三副本:与第二个副本相同机架的不同节点上;如果还有更多的副本:随机放在节点中;2.文件的写流程1.客户端会调用DistributedFileSystem对象的create(filePath)

2017-10-14 21:47:05 2404

原创 Hive概述及入门

MapReduce编程的不便性以及Hive的产生背景 1)MapReduce繁琐MapperReducerDriverpackage2)大量数据都存放在HDFS,如何快速的对HDFS上的文件进行统计分析操作?学Java、学MapReduceDBA: SQLHDFS: 仅仅只是一个纯的文本文件而已,并没有schema的概念没有schema,那么就办法使用s

2017-10-14 21:43:01 383

原创 MySQL SQL语法

零、用户管理:  1、新建用户:    >CREATE USER name IDENTIFIED BY 'ssapdrow';  2、更改密码:    >SET PASSWORD FOR name=PASSWORD('fdddfd');  3、权限管理    >SHOW GRANTS FOR name;    //查看name

2017-10-13 15:26:30 1652

原创 MySQL查看所有存储过程,函数,视图,触发器

1.查询数据库中的存储过程和函数方法一:select `name` from mysql.proc where db = 'your_db_name' and `type` = 'PROCEDURE'   //存储过程select `name` from mysql.proc where db = 'your_db_name' and `type` = 'FUNCTION'   //函

2017-10-13 15:25:55 2827

原创 MySQL的编译安装

1.Download and CheckMD5[root@hadoopcm-01~]# cd /usr/local[root@hadoopcm-01local]# wget http://mirror.lug.udel.edu/pub/mysql/MySQL-5.6/mysql-5.6.22-linux-glibc2.5-x86_64.tar.gz  [root@hadoopcm-01 l

2017-10-13 15:22:45 369

原创 Spark-Sql版本升级对应的新特性汇总

SparkSQL的前身是Shark。由于Shark自身的不完善,2014年6月1日Reynold Xin宣布:停止对Shark的开发。SparkSQL抛弃原有Shark的代码,汲取了Shark的一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等,重新开发SparkSQL。Spark-1.1 :2014年9月11日,发布Spark1.1.0。Sp

2017-10-12 12:58:54 343

原创 从RDD转换得到DataFrame

Spark官网提供了两种方法来实现从RDD转换得到DataFrame,第一种方法是,利用反射来推断包含特定类型对象的RDD的schema,适用对已知数据结构的RDD转换;第二种方法是,使用编程接口,构造一个schema并将其应用在已知的RDD上。在利用反射机制推断RDD模式时,需要首先定义一个case class,因为,只有caseclass才能被Spark隐式地转换为DataFrame。(有

2017-10-12 12:55:21 496

原创 列式存储的 parquet文件底层格式

列式存储是以什么基本格式来存储数据的?1.数据本身,2.数据的元数据,3.引擎Parquet表现上是树状数据结构,内部有元数据的Table,在具体的Parquet文件存储的时候有三个核心组成部分:A)Storage Format:Parquet定义了具体的数据内部的类型和存储格式B)对象模型转换器(object modelconverters):在Parquet中负责计算框架中

2017-10-12 12:53:36 1193

原创 RDD创建

RDD可以通过两种方式创建:* 第一种:读取一个外部数据集。比如,从本地文件加载数据集,或者从HDFS文件系统、HBase、Cassandra、Amazon S3等外部数据源中加载数据集。Spark可以支持文本文件、SequenceFile文件(Hadoop提供的 SequenceFile是一个由二进制序列化过的key/value的字节流组成的文本存储文件)和其他符合Hadoop InputF

2017-10-12 12:52:57 1091

原创 共享变量的使用

在默认情况下,当Spark在集群的多个不同节点的多个任务上并行运行一个函数时,它会把函数中涉及到的每个变量,在每个任务上都生成一个副本。但是,有时候,需要在多个任务之间共享变量,或者在任务(Task)和任务控制节点(Driver Program)之间共享变量。为了满足这种需求,Spark提供了两种类型的变量:广播变量(broadcast variables)和累加器(accumulators)。广

2017-10-12 12:51:57 1782

原创 DataFrame与RDD的区别

DataFrame的推出,让Spark具备了处理大规模结构化数据的能力,不仅比原有的RDD转化方式更加简单易用,而且获得了更高的计算性能。Spark能够轻松实现从MySQL到DataFrame的转化,并且支持SQL查询。图 DataFrame与RDD的区别从上面的图中可以看出DataFrame和RDD的区别。RDD是分布式的 Java对象的集合,比如,RDD[Perso

2017-10-12 12:47:28 4817 1

原创 Hadoop命令大全

1、列出所有Hadoop Shell支持的命令  $ bin/hadoop fs -help2、显示关于某个命令的详细信息  $ bin/hadoop fs -help command-name3、用户可使用以下命令在指定路径下查看历史日志汇总  $ bin/hadoop job -history output-dir这条命令会显示作业的细节信息,失败和终止的任务细节。

2017-10-11 20:17:20 363

转载 HDFS NameNode重启优化

一、背景在Hadoop集群整个生命周期里,由于调整参数、Patch、升级等多种场景需要频繁操作NameNode重启,不论采用何种架构,重启期间集群整体存在可用性和可靠性的风险,所以优化NameNode重启非常关键。本文基于Hadoop-2.x和HA with QJM社区架构和系统设计(如图1所示),通过梳理NameNode重启流程,并在此基础上,阐述对NameNode重启优化实

2017-10-10 23:14:21 286

转载 Hive SQL的编译过程

Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用。美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析。Hive的稳定性和性能对我们的数据分析非常关键。在几次升级Hive的过程中,我们遇到了一些大大小小的问题。通过向社区的咨询和自己的努力,在解决这些问题的同时我们对Hive将SQL编译为MapReduce的过程有

2017-10-10 23:12:47 534

转载 十步完全理解 SQL

我们每天都在写 SQL 并且应用在开源软件 jOOQ 中。于是我想把 SQL 之美介绍给那些仍然对它头疼不已的朋友,所以本文是为了以下读者而特地编写的:1、 在工作中会用到 SQL 但是对它并不完全了解的人。2、 能够熟练使用 SQL 但是并不了解其语法逻辑的人。3、 想要教别人 SQL 的人。本文着重介绍 SELECT 句式,其他的 DML (Data Manipulatio

2017-10-10 23:02:27 75119

空空如也

空空如也

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

TA关注的人

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