2017年7月5日

HADOOP基本操作命令

摘要: Hadoop基本操作命令 在这篇文章中,我们默认认为Hadoop环境已经由运维人员配置好直接可以使用。假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop。启动与关闭启动Hadoop 1. 进入HADOOP_HOME目录。2. 执行sh bin/start-all.sh 关闭Hadoop 1. 进入HADOOP_HO... 阅读全文

posted @ 2017-07-05 17:22 Charlist00 阅读(263) 评论(0) 推荐(0)

Ganglia环境搭建并监控Hadoop分布式集群

摘要: 简介Ganglia可以监控分布式集群中硬件资源的使用情况,例如CPU,内存,网络等资源。通过Ganglia可以监控Hadoop集群在运行过程中对集群资源的调度,作为简单地运维参考。 环境搭建流程 1、我们先在主机master01上面搭建好Ganglia环境2、在master01主机上解压JDK和Hadoop到安装目录、修改配置文件3、克隆出两台主机slave01,slave02并修改主机名和IP... 阅读全文

posted @ 2017-07-05 17:21 Charlist00 阅读(519) 评论(0) 推荐(0)

关于分布式系统的数据一致性问题

摘要: 现在先抛出问题,假设有一个主数据中心在北京M,然后有成都A,上海B两个地方数据中心,现在的问题是,假设成都上海各自的数据中心有记录变更,需要先同步到主数据中心,主数据中心更新完成之后,在把最新的数据分发到上海,成都的地方数据中心A,地方数据中心更新数据,保持和主数据中心一致性(数据库结构完全一致)。数据更新的消息是通过一台中心的MQ进行转发。先把问题简单化处理,假设A增加一条记录Message_A... 阅读全文

posted @ 2017-07-05 17:20 Charlist00 阅读(4636) 评论(0) 推荐(0)

hadoop snapshot 备份恢复 .

摘要: 1、允许创建快照首先,在你想要进行备份的文件夹下面 执行命令,允许该文件夹创建快照hdfs dfsadmin -allowSnapshot 例如:hdfs dfsadmin -allowSnapshot /Workspace/linlin出现此命令证明已经允许创建快照成功==============================================================... 阅读全文

posted @ 2017-07-05 17:18 Charlist00 阅读(709) 评论(0) 推荐(0)

hadoop主节点(NameNode)备份策略以及恢复方法

摘要: 一、edits和fsimage 首先要提到两个文件edits和fsimage,下面来说说他们是做什么的。集群中的名称节点(NameNode)会把文件系统的变化以追加保存到日志文件edits中。当名称节点(NameNode)启动时,会从镜像文件 fsimage 中读取HDFS的状态,并且把edits文件中记录的操作应用到fsimage,也就是合并到fsimage中去。合并后更新fsimage的HDF... 阅读全文

posted @ 2017-07-05 17:12 Charlist00 阅读(1375) 评论(0) 推荐(0)

从 secondarynamenode 中恢复 namenode

摘要: 1.修改 conf/core-site.xml,增加Xml代码fs.checkpoint.period3600The number of seconds between two periodic checkpoints. fs.checkpoint.size67108864The size of the current edit log (in bytes) that triggers a per... 阅读全文

posted @ 2017-07-05 17:11 Charlist00 阅读(367) 评论(0) 推荐(0)

HDFS snapshot操作实战

摘要: Hadoop从2.1.0版开始提供了HDFS SnapShot的功能。一个snapshot(快照)是一个全部文件系统、或者某个目录在某一时刻的镜像。快照在下面场景下是非常有用:防止用户的错误操作:管理员可以通过以滚动的方式周期性设置一个只读的快照,这样就可以在文件系统上有若干份只读快照。如果用户意外地删除了一个文件,就可以使用包含该文件的最新只读快照来进行回复。备份:管理员可以根据需求来备份整个文... 阅读全文

posted @ 2017-07-05 17:11 Charlist00 阅读(342) 评论(0) 推荐(0)

Hadoop&Hbase 双机热备--Pacemaker&DRBD部署

摘要: 相关文章 DRBD的介绍请参考http://blog.csdn.net/rzhzhz/article/details/7103772 DRBD的部署请参考http://blog.csdn.net/rzhzhz/article/details/7107115 Pacemaker的介绍请参考http://blog.csdn.net/rzhzhz/article/details/7104135 Pace... 阅读全文

posted @ 2017-07-05 17:10 Charlist00 阅读(496) 评论(0) 推荐(0)

hadoop 通过distcp进行并行复制

摘要: 通过distcp进行并行复制 前面的HDFS访问模型都集中于单线程的访问。例如通过指定文件通配,我们可以对一部分文件进行处理,但是为了高效,对这些文件的并行处理需要新写一个程序。Hadoop有一个叫distcp(分布式复制)的有用程序,能从Hadoop的文件系统并行复制大量数据。 distcp一般用于在两个HDFS集群中传输数据。如果集群在Hadoop的同一版本上运行,就适合使用hdfs方案: %... 阅读全文

posted @ 2017-07-05 17:10 Charlist00 阅读(8521) 评论(0) 推荐(0)

Decommission Datanode

摘要: Decommission Datanode就是把Datanode从HDFS集群中移除掉。那问题来了,HDFS在设计时就把诸如机器故障考虑进去了,能否直接把某台运行Datanode的机器关掉然后拔走呢?我认为理论上可行的,不过在实际的集群中,如果某份数据只有一份拷贝而且它就在这个机器上,那么直接关掉并拔走机器就会造成数据丢失。本文将介绍如何Decommission Datanode以及可能会遇到的一... 阅读全文

posted @ 2017-07-05 17:09 Charlist00 阅读(553) 评论(0) 推荐(0)

分布式集群中节点的动态添加与下架

摘要: 动态添加节点 在实际生产应用中,很多时候因为现有集群的性能问题需要增加服务器节点以提高整体性能(一般是增加从节点,在Hadoop2.x之后解决了主节点的单点问题,可以增加主节点以保持HA高可用性),这就涉及到动态添加节点的问题。还好,Hadoop早就提供了很好的解决方法,我们只需要如下几步就可以轻松地添加一个节点: (1)准备工作:配置新节点的各种环境 主要包括:设置IP地址、主机名、绑定I... 阅读全文

posted @ 2017-07-05 17:01 Charlist00 阅读(875) 评论(0) 推荐(0)

hadoop NameNode HA

摘要: 在 Hadoop 的整个生态系统中,HDFS NameNode 处于核心地位,NameNode 的可用性直接决定了 Hadoop 整个软件体系的可用性。本文尝试从内部实现的角度对 NameNode 的高可用机制进行详细的分析,主要包括 NameNode 的主备切换实现分析和 NameNode 的共享存储实现分析。文章的最后在结合作者自身实践的基础上,列举了一些在高可用运维过程中需要注意的事项。程 ... 阅读全文

posted @ 2017-07-05 16:58 Charlist00 阅读(414) 评论(0) 推荐(0)

Hadoop数据收集与入库系统Flume与Sqoop

摘要: Hadoop提供了一个中央化的存储系统,其有利于进行集中式的数据分析与数据共享。 Hadoop对存储格式没有要求。可以存储用户访问日志、产品信息以及网页数据等数据。 常见的两种数据来源。一种是分散的数据源:机器产生的数据、用户访问日志以及用户购买日志。另一种是传统系统中的数据:传统关系型数据库(MySQL、Oracle)、磁盘阵列以及磁带。 Flume由三部分构成。Mas... 阅读全文

posted @ 2017-07-05 16:58 Charlist00 阅读(676) 评论(0) 推荐(0)

Hadoop学习笔记—20.网站日志分析项目案例

摘要: 1.1 项目来源 本次要实践的数据日志来源于国内某技术学习论坛,该论坛由某培训机构主办,汇聚了众多技术学习者,每天都有人发帖、回帖,如图1所示。图1 项目来源网站-技术学习论坛 本次实践的目的就在于通过对该技术论坛的apache common日志进行分析,计算该论坛的一些关键指标,供运营者进行决策时参考。PS:开发该系统的目的是为了获取一些业务相关的指标,这些指标在第三方工具中无法获得的;1.... 阅读全文

posted @ 2017-07-05 16:57 Charlist00 阅读(478) 评论(0) 推荐(0)

Hadoop常见重要命令行操作及命令作用

摘要: 关于Hadoop[root@master ~]# hadoop --help Usage: hadoop [--config confdir] COMMANDwhere COMMAND is one of: fs run a generic filesystem user client version print the ver... 阅读全文

posted @ 2017-07-05 16:54 Charlist00 阅读(3151) 评论(0) 推荐(0)

HDFS之Qurom Journal Manager(QJM)实现机制分析

摘要: 前言1.1背景 自从hadoop2版本开始,社区引入了NameNode高可用方案。NameNode主从节点间需要同步操作日志来达到主从节点元数据一致。最初业界均通过NFS来实现日志同步,大家之所以选择NFS,一方面因为可以很方便地实现数据共享,另外一方面因为NFS已经发展20多年,已经相对稳定成熟。虽然如此,NFS也有缺点不能满足HDFS的在线存储业务:网络单点及其存储节点单点。业界提供了数... 阅读全文

posted @ 2017-07-05 16:48 Charlist00 阅读(1259) 评论(0) 推荐(0)

hive内部表与外部表区别详细介绍

摘要: 问题导读:1.创建内部表与外部表的区别是什么?2.external关键字的作用是什么?3.外部表与内部表的区别是什么?4.删除表的时候,内部表与外部表有什么区别?5.load data local inpath '/home/wyp/data/wyp.txt' into table wyp;的过程是什么样子的?6.磁盘,hdfs,hive表他们之间的过程是什么样子的?好了,进入正题。今天我们要探讨... 阅读全文

posted @ 2017-07-05 16:44 Charlist00 阅读(3055) 评论(0) 推荐(0)

从MySQL到Hive,数据迁移就这么简单

摘要: 使用Sqoop能够极大简化MySQL数据迁移至Hive之流程,并降低Hadoop处理分析任务时的难度。先决条件:安装并运行有Sqoop与Hive的Hadoop环境。为了加快处理速度,我们还将使用Cloudera Quickstart VM(要求至少4 GB内存),不过大家也可以使用Hortonworks Data Platform(至少要求8 GB内存)。由于我的笔记本电脑只有8 GB内存,因此我... 阅读全文

posted @ 2017-07-05 16:43 Charlist00 阅读(9426) 评论(0) 推荐(0)

Hive 安装配置

摘要: Hive 运行模式与 Hadoop 类似,Hive 也有 3 种运行模式:1. 内嵌模式将元数据保存在本地内嵌的 Derby 数据库中,这是使用 Hive 最简单的方式。但是这种方式缺点也比较明显,因为一个内嵌的 Derby 数据库每次只能访问一个数据文件,这也就意味着它不支持多会话连接。2. 本地模式这种模式是将元数据保存在本地独立的数据库中(一般是 MySQL),这用就可以支持多会话和多用户连... 阅读全文

posted @ 2017-07-05 16:42 Charlist00 阅读(302) 评论(0) 推荐(0)

Hive 基本操作

摘要: 数据定义 - DDL(1)建表(CREATE)的语法如下:CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [... 阅读全文

posted @ 2017-07-05 16:39 Charlist00 阅读(1157) 评论(0) 推荐(0)

Hive数据导入/导出

摘要: 1.1 导入/导出规则EXPORT 命令导出数据表或分区,与元数据一起输出到指定位置。又可以从这个输出位置移动到不同的Hadoop 或Hive 实例中,并且使用IMPORT 命令导入。当导出一个分区表时,原始数据可能位于不同的HDFS位置,同时还支持导出/导入分区的子集。导出的元数据存储在目标目录中,数据文件则存储在子目录中。EXPORT 和IMPORT 命令独立于所用的数据源和目标元数据数据管理... 阅读全文

posted @ 2017-07-05 16:39 Charlist00 阅读(403) 评论(0) 推荐(0)

Hive bucket表

摘要: Hive 桶对于每一个表(table)或者分区, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是 针对某一列进行桶的组织。Hive采用对列值哈希,然后除以桶的个数求余的方式决定该条记录存放在哪个桶当中。把表(或者分区)组织成桶(Bucket)有两个理由:(1)获得更高的查询处理效率。桶为表加上了额外的结构,Hive 在处理有些查询时能利用这个结构。具体而言,连接两个... 阅读全文

posted @ 2017-07-05 16:38 Charlist00 阅读(710) 评论(0) 推荐(0)

hive分区(partition)简介

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

posted @ 2017-07-05 16:38 Charlist00 阅读(885) 评论(0) 推荐(0)

HIve实战分析Hadoop的日志

摘要: 1、日志格式分析首先分析 Hadoop 的日志格式, 日志是一行一条, 日志格式可以依次描述为:日期、时间、级别、相关类和提示信息。如下所示: Java代码 2013-03-06 15:23:48,132 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG: /*************************... 阅读全文

posted @ 2017-07-05 16:35 Charlist00 阅读(338) 评论(0) 推荐(0)

hive 元数据解析

摘要: 在使用Hive进行开发时,我们往往需要获得一个已存在hive表的建表语句(DDL),然而hive本身并没有提供这样一个工具。要想还原建表DDL就必须从元数据入手,我们知道,hive的元数据并不存放在hdfs上,而是存放在传统的RDBMS中,典型的如MySQL,derby等,这里我们以mysql为元数据库,结合0.4.2版本的hive为例进行研究。连接上mysql后可以看到hive元数据对应的表约有... 阅读全文

posted @ 2017-07-05 16:35 Charlist00 阅读(5935) 评论(1) 推荐(0)

hive学习笔记之-数据类型

摘要: 数据类型Hive基本的数据类型: Hive集合数据类型:另外还有一个复合数据类型,可以综合上面的数据类型组合到一起。· union: UNIONTYPE 类型说明时间戳 支持传统的unix时间戳,可选的纳秒级精度。 支持的转换: l 整型数值类型:解读为以秒为单位的UNIX时间戳 l 浮动点数值类型:解读为以秒和小数精度为单位的UNIX时间戳... 阅读全文

posted @ 2017-07-05 16:34 Charlist00 阅读(284) 评论(0) 推荐(0)

hive array、map、struct使用

摘要: hive提供了复合数据类型:Structs: structs内部的数据可以通过DOT(.)来存取,例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域aMaps(K-V对):访问指定域可以通过["指定域名称"]进行,例如,一个Map M包含了一个group-》gid的kv对,gid的值可以通过M['group']来获取Arrays:array中的数据为相同类... 阅读全文

posted @ 2017-07-05 16:34 Charlist00 阅读(1095) 评论(0) 推荐(0)

hive 包含操作(left semi join)(left outer join = in)迪卡尔积

摘要: 目前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含一个字段,uid。 in查询如果要查询当天登陆的注册用户,需要用in查询,hive sql如下:select login.uid from login lef... 阅读全文

posted @ 2017-07-05 16:33 Charlist00 阅读(2005) 评论(0) 推荐(0)

Hive索引

摘要: Hive是支持索引的,但基本没用过,只做了下试验。为什么大家都不用,肯定有它的弊端。Hive索引机制:在指定列上建立索引,会产生一张索引表(Hive的一张物理表),里面的字段包括,索引列的值、该值对应的HDFS文件路径、该值在文件中的偏移量;在执行索引字段查询时候,首先额外生成一个MR job,根据对索引列的过滤条件,从索引表中过滤出索引列的值对应的hdfs文件路径及偏移量,输出到hdfs上的一个... 阅读全文

posted @ 2017-07-05 16:30 Charlist00 阅读(1885) 评论(0) 推荐(0)

Hive函数大全-完整版

摘要: 现在虽然有很多SQL ON Hadoop的解决方案,像Spark SQL、Impala、Presto等等,但就目前来看,在基于Hadoop的大数据分析平台、数据仓库中,Hive仍然是不可替代的角色。尽管它的相应延迟大,尽管它启动MapReduce的时间相当长,但是它太方便、功能太强大了,做离线批量计算、ad-hoc查询甚至是实现数据挖掘算法,而且,和HBase、Spark都能整合使用。如果你是做大... 阅读全文

posted @ 2017-07-05 16:30 Charlist00 阅读(711) 评论(0) 推荐(0)

Hive HBase 整合

摘要: hive hbase整合,要求比较多,1.hive的得是0.6.0(当前最新的版本) 2.hive本身要求hadoop的最高版本是hadoop-0.20.2 3.要求hbase的版本是0.20.3,其他版本需要重新编译hive_hbase-handler 但是新版的hbase(0.90)变动特别大,根本无法从编译。这点比较恶心,hbase目前升级比较快,当前是0.90(从0.20.6直接跳到0.8... 阅读全文

posted @ 2017-07-05 16:30 Charlist00 阅读(192) 评论(0) 推荐(0)

Hive的动态分区

摘要: 关系型数据库(如Oracle)中,对分区表Insert数据时候,数据库自动会根据分区字段的值,将数据插入到相应的分区中,Hive中也提供了类似的机制,即动态分区(Dynamic Partition),只不过,使用Hive的动态分区,需要进行相应的配置。先看一个应用场景,源表t_lxw1234的数据如下:[sql] view plain copySELECT day,url FROM t_lxw12... 阅读全文

posted @ 2017-07-05 16:30 Charlist00 阅读(3845) 评论(0) 推荐(0)

Hive中的数据库(Database)和表(Table)

摘要: 在前面的文章中,介绍了可以把Hive当成一个“数据库”,它也具备传统数据库的数据单元,数据库(Database/Schema)和表(Table)。本文介绍一下Hive中的数据库(Database/Schema)和表(Table)的基础知识,由于篇幅原因,这里只是一些常用的、基础的。二、Hive的数据库和表先看一张草图:Hive结构从图上可以看出,Hive作为一个“数据库”,在结构上积极向传统数据库... 阅读全文

posted @ 2017-07-05 16:29 Charlist00 阅读(27774) 评论(0) 推荐(2)

Hive中数据的加载和导出

摘要: 关于 Hive DML 语法,你可以参考 apache 官方文档的说明:Hive Data Manipulation Language。apache的hive版本现在应该是 0.13.0,而我使用的 hadoop 版本是 CDH5.0.1,其对应的 hive 版本是 0.12.0。故只能参考apache官方文档来看 cdh5.0.1 实现了哪些特性。因为 hive 版本会持续升级,故本篇文章不一定... 阅读全文

posted @ 2017-07-05 16:26 Charlist00 阅读(7588) 评论(0) 推荐(1)

Hive入门--2.分区表 外部分区表 关联查询

摘要: 1.查看mysql中metastore数据存储结构Metastore中只保存了表的描述信息(名字,列,类型,对应目录)使用SQLYog连接itcast05 的mysql数据库 查看hive数据库的表结构: 2.建表(默认是内部表(先建表,后有数据))(建表时必须指定列的分隔符)create table trade_detail( id bigint, account string, inco... 阅读全文

posted @ 2017-07-05 16:16 Charlist00 阅读(1897) 评论(0) 推荐(0)

Hive UDAF开发详解

摘要: 明这篇文章是来自Hadoop Hive UDAF Tutorial - Extending Hive with Aggregation Functions:的不严格翻译,因为翻译的文章示例写得比较通俗易懂,此外,我把自己对于Hive的UDAF理解穿插到文章里面。udfa是hive中用户自定义的聚集函数,hive内置UDAF函数包括有sum()与count(),UDAF实现有简单与通用两种方式,简单... 阅读全文

posted @ 2017-07-05 15:54 Charlist00 阅读(360) 评论(0) 推荐(0)

HBase的表结构

摘要: HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族/列簇(column family)。 如上图所示,key1,key2,key3是三条记录的唯一的row key值,column-family1,column-family2,column-family3是三个列族,每个列族下又包括几列。比如column-family1这个列族下包括两列,名字是column1和column2,t1:... 阅读全文

posted @ 2017-07-05 15:38 Charlist00 阅读(588) 评论(0) 推荐(0)

HABSE表结构理解

摘要: 也分为行列,行是索引,锁定数据,查找数据只能通过行列:建表时必须知道列族,真实列(列簇)在插入数据时候可以指定 查找指定列,必须带列族,列族1:name 阅读全文

posted @ 2017-07-05 15:37 Charlist00 阅读(299) 评论(0) 推荐(0)

hbase shell命令及Java接口介绍

摘要: 一. shell命令1. 进入hbase命令行 ./hbase shell2. 显示hbase中的表 list3. 创建user表,包含info、data两个列族create 'user', 'info', 'data'create 'user', {NAME => 'info', VERSIONS => '3'}4. 向表中插入信息:向user表中插入信息,row key为rk0001,列族... 阅读全文

posted @ 2017-07-05 15:32 Charlist00 阅读(994) 评论(0) 推荐(0)

Hadoop学习笔记之HBase Shell语法练习

摘要: Hadoop学习笔记之HBase Shell语法练习作者:hugengyong下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下:名称命令表达式创建表create '表名称', '列名称1','列名称2','列名称N'添加记录 put '表名称', '行名称', '列名称:', '值'查看记录get '表名称', '行名称'查看表中的记... 阅读全文

posted @ 2017-07-05 15:20 Charlist00 阅读(472) 评论(0) 推荐(0)

HBase 的安装与配置

摘要: 安装之前 - 检查必要条件(1) Java (需要安装1.6.x及其以上版本)在终端输入 java -version 来查看你机子上的 Java 版本;(2) Hadoop需要注意的是伪分布模式下,HBase 的版本需要和 Hadoop版本 匹配 ,不然很可能容易出错。你可以在HBase的lib目录下看到对应的Hadoop的Jar文件版本。在这里,我们使用了Hadoop V2.4.1版本以及HBa... 阅读全文

posted @ 2017-07-05 15:18 Charlist00 阅读(15209) 评论(0) 推荐(0)

HBase 基本操作

摘要: 1.1 连接HBase使用hbase shell命令来连接正在运行的Hbase实例,该命令位于HBase安装包下的bin/目录。HBase Shell提示符以>符号结束。$ ./bin/hbase shell hbase(main):001:0>1.2 显示HBase Shell 帮助文档输入help并按Enter键,可以显示HBase Shell的基本使用信息,和我们接下来会列举的一些命令类似。... 阅读全文

posted @ 2017-07-05 11:28 Charlist00 阅读(17495) 评论(0) 推荐(1)

导航