Hadoop
文章平均质量分 61
zyj8170
在搜狐软件科技负责软件开发工作,主要研究方向:分布式和高并发以及大数据生态开发
展开
-
十个海量数据处理方法大总结
一、Bloom filter适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集基本原理及要点:对于原理来说很简单,位数组+k个独立hash函数。将 hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存在,很明显这个过程并不保证查找的结果是100%正确的。同时也不 支持删除一个已经插入的关键字,因为该关键字对应的位会牵动到其他的关键字。所以一个简转载 2016-06-29 16:12:04 · 1370 阅读 · 0 评论 -
nginx按小时切割日志
有的日志比较大,一天的日志就有200g一台机器,如果按天切割日志,文件太大了,需要按小时切割日志。下面讲述一个按小时切割日志的方法,通过apache的cronolog来完成日志的切割。1、首先安装日志切割 yum install httpd2、配置nginx的日志落地文件名,比如/opt/log/accesslog。3、再启动nginx之前,先用mkfifo原创 2016-06-06 17:25:52 · 3582 阅读 · 0 评论 -
利用QJM实现HDFS的HA策略部署与验证工作记录分享
1、概述 Hadoop2.X中的HDFS(Vsersion2.0)相比于Hadoop1.X增加了两个重要功能,HA和Federation。HA解决了Hadoop1.X Namenode中一直存在的单点故障问题,HA策略通过热备的方式为主NameNode提供一个备用者,并且这个备用者的状态一直和主Namenode的元数据保持一致,一旦主NameNode挂了,备用NameNode转载 2015-03-04 15:08:38 · 820 阅读 · 0 评论 -
hadoop常见错误整理
版本信息: hadoop 2.3.0 hive 0.11.01. Application Master 无法访问点击application mater 链接,出现 http 500 错误,java.lang.Connect.exception: 问题是由于设定web ui时,50030 端口对应的ip地址为0.0.0.0,导致application master 链接无法定位。解决办法转载 2015-11-27 13:45:05 · 1951 阅读 · 0 评论 -
配置Snappy压缩
1. 功能说明使用snappy压缩来提升mapreduce和hbase的性能。其实就是用CPU换IO吞吐量和磁盘空间。配置并使用snappy有如下几点要求:首先需要hadoop集群的native库已经收到编译好,并且添加了对snappy的支持。编译hadoop源码之前安装了snappy并且编译时指定-Drequire.snappy参数。(我使用的版本是hadoop-2.5.转载 2015-10-14 18:00:33 · 2334 阅读 · 0 评论 -
hue编译
执行:make desktop 期间如果报错则需要安装:/opt/hue-3.6.0-cdh5.1.0/Makefile.vars:42: *** "Error: must have python development packages for 2.6 or 2.7. Could not find Python.h. Please install python2.6-devel原创 2016-10-21 09:43:10 · 2867 阅读 · 0 评论 -
tez0.8在hadoop2.7.1上的应用
一、配置1、tez的编译在我的另外一篇文章中,在这里不再叙述2、将生成的war包拷贝到hadoop的/apps/tez目录,这个目录自己定义3、在hadoop的conf目录新建一个tez-site.xml 配置文件,内容如下: tez.lib.uris ${fs.defaultFS}/apps/tez/tez-0.8.4.tar.gz原创 2016-11-14 17:41:08 · 1350 阅读 · 0 评论 -
编译安装Ambari2.5.0
1.需要安装的工具1.1 安装JDK 推荐1.81.2 安装Apache Maven 3.3.9设置环境变量# vi /etc/profileexport MAVEN_HOME="/opt/maven"export path=$path: $MAVEN_HOME/bin1.3 安装rpmbuild1)检测rpm-原创 2017-05-23 18:25:58 · 2988 阅读 · 2 评论 -
pentaho7.0将数据库移植成mysql
Pentaho 内置数据是 hsql. 数据库。那我们如何换掉移植成 mysql ?思想:移植的条件:1. 首先要有一个 mysql 数据。2. 将 pentaho 的启动配置连接到 mysql 上。我现在做一个将 pentaho7.0 数据库移植的例子。1. 首先在 pentaho-server/data/mysql5 文件夹下将里面原创 2017-05-12 16:09:39 · 1538 阅读 · 0 评论 -
2.0拷贝1.0集群数据
hadoop distcp -Ddfs.checksum.type=CRC32 -Dmapred.speculative.execution=false -overwrite hftp://namenode:50070/user/log/20151009/2015100913/ /user/log/20151009/2015100913/注意:2.0集群中一定要配置1.0所有datan原创 2015-10-09 15:56:33 · 420 阅读 · 0 评论 -
Spark on YARN配置日志Web UI
Spark部署在YARN之后,从Standalone模式下的Spark Web UI直接无法看到执行过的application日志,不利于性能分析。得益于实验室师弟的帮忙,本文记录如何配置history UI。修改spark-defaults.confspark.eventLog.enabled=truespark.eventLog.compress=truespark.e原创 2017-02-27 17:42:26 · 5447 阅读 · 0 评论 -
MapReduce:详解Shuffle过程
Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方。要想理解MapReduce, Shuffle是必须要了解的。我看过很多相关的资料,但每次看完都云里雾里的绕着,很难理清大致的逻辑,反而越搅越混。前段时间在做MapReduce job 性能调优的工作,需要深入代码研究MapReduce的运行机制,这才对Shuffle探了个究竟。考虑到之前我在看相关资料而看不懂时很恼火,所以在这里转载 2016-12-22 17:10:02 · 326 阅读 · 0 评论 -
Cloudera Manager 5和CDH5离线安装
一、相关软件准备及规划1、相关软件及下载地址:Cloudera Manager:http://archive-primary.cloudera.com/cm5/cm/5/CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/latest/JAVA官方下载(需登陆):http://www.oracle.com/techne原创 2016-11-23 18:25:21 · 2303 阅读 · 0 评论 -
hadoop2.7.1下httpfs命令整理
支持httfs前提,增加配置 hadoop.proxyuser.yarn.hosts * hadoop.proxyuser.yarn.groups * 修改httpfs-env.sh 主要修改日志路径# export HTTPFS_LOG=${HTTPFS_HOME}/logs expo原创 2016-12-13 18:36:26 · 1445 阅读 · 0 评论 -
使用flume1.6.0直接向hadoop2.5收集数据
1、搭建环境要安装jdk,hadoop2.5客户端,剩下的就直接是配置了,配置下就能搞定。2、配置a1.sources = r1a1.channels = c2a1.sinks = k2a1.sources.r1.type = execa1.sources.r1.command = tail -n +0 -F /opt/nginx/logs/link_pt.loga1.so原创 2015-07-23 11:58:24 · 2123 阅读 · 0 评论 -
推荐系统在视频网站中的应用
随着互联网特别是社会化网络的快速发展,我们正处于信息过载的时代。用户面对过量的信息很难找到自己真正感兴趣的内容,而内容提供商也很难把优质的内容准确推送给感兴趣的用户。推荐系统被认为是解决这些问题的有效方法,它对用户的历史行为进行挖掘,对用户兴趣进行建模,并对用户未来的行为进行预测,从而建立了用户和内容的关系。视频网站同样也面临着信息过载的问题,比如YouTube目前有数十亿视频条目,而且每分钟转载 2011-12-13 10:30:06 · 1400 阅读 · 0 评论 -
namenode 内部关键数据结构简介
1 概述 本文档目的在于对namenode中各种关键的数据结构进行剖析和解释,以方便更好的对namenode的各种处理逻辑和代码结构进行理解。其中包 括对namenode中Namenode和FSNameSystem的程序代码结构,FSDirectory,BlocksMap, CorruptReplicationMap,excessReplicateMap, UnderReplicatedBlo转载 2011-12-01 10:27:36 · 1319 阅读 · 0 评论 -
海量存储计算
技术领域—海量存储计算 PB时代的来临Petabyte,2的50次方个字节。这个对很多人还是很陌生的计量单位,已经变得越来越普遍和触手可及。2004年8月,GOOGLE日常任务输入的数据已经达到了3PB ;2005年Mark Hurd从Teradata来到HP出任CEO,开始建设基于Neo View的8PB的HP EDW。2006年,YAHOO构建了世界上第一个基于ORACLE RAC转载 2011-11-29 16:43:34 · 874 阅读 · 0 评论 -
hive的编译模块设计
解析器(Parser)解析器 由antlr生成, 文法定义在Hive.g文件中。它的功能是将查询字符串翻译成抽象语法树(Abstract Syntax Tree, 简称AST).语法分析器(Semantic Analyzer)语法分析器将AST转换成内部查询形式,此形式为查询块(Query Block), 而不是一棵操作符树(Opertator Tree).它还验证查询语句中的列名,原创 2011-11-23 15:06:24 · 1522 阅读 · 0 评论 -
hive之explain命令
EXPLAIN FROM src119 SELECT key , count(distinct value) group by key ABSTRACT SYNTAX TREE: (TOK_QUERY (TOK_FROM (TOK_TABREF src119)) (TOK_INSERT (TOK_DESTINATION (TOK_DIR TOK_TMP_FILE)) (TOK_SE原创 2011-11-22 11:46:59 · 4219 阅读 · 0 评论 -
hive执行源码分析
大体看了一下 Hive 源码,主要包括 客户 / 服务器通信 ,语法解析器,语义分析器,逻辑计划生成器,计划优化器,物理计划生成器,物理计划执行器等部分。分别由包 parse,plan, optimizer, Exec 中的代码来实现的。 Hive 是将 SQL 语句转换成 hadoop 的 MapReduce 程序,通常在客户端执行 hive 命令,然后输入 SQL 语句后,原创 2011-11-22 11:35:03 · 2849 阅读 · 0 评论 -
hadoop集群
我总好奇其他公司是如何安装Hadoop集群的。他们是如何使用微系统的。由于Hadoop仍然是新技术,还没有最佳实践。每个公司都是按照他们的想法实施Hadoop集群的最佳架构。 Hadoop NYC2010会议上,ebay展示了他们的生产环境中Hadoop集群的实施情况。下面是ebay实施Hadoop的要点。 1) JobTracker, Namenode, Zookeeper, HBase M原创 2011-11-21 11:46:25 · 815 阅读 · 0 评论 -
hadoop性能调优
hadoop集群调优分两个方面,map和reduce map调优: map 任务执行会产生中间数据,但这些中间结果并没有直接IO到磁盘上,而是先存储在缓存(buffer)中,并在缓存中进行一些预排序来优化整个map的性能,该存储map中间数据的缓存默认大小为100M,由io.sort.mb 参数指定.这个大小可以根据需要调整。当map任务产生了非常大的中间数据时可以适当调原创 2011-11-18 10:35:28 · 1977 阅读 · 0 评论 -
chukwa在数据收集处理方面的应用
Chukwa 简介什么是 Chukwa,简单的说它是一个数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。Chukwa 本身也提供了很多内置的功能,帮助我们进行数据的收集和整理。Chukwa 应用场景介绍为了更加简单直观的展示 Chukwa,我们先来看一个假设的场景。假设我们有一个规模很原创 2011-12-21 10:45:39 · 2790 阅读 · 0 评论 -
从源代码安装perl 5.12.3+DBI/DBD
一,安装perl1、下载5.12.3.tar.gz2、解压3、进入解压目录执行./Configure -des -Dprefix=/usr/localmakemake testmake install二,安装数据库模块1、下载DBI2、进入到解压目录执行perl Makefile.PLmakemake testmake install原创 2011-12-14 10:06:44 · 984 阅读 · 0 评论 -
开源日志系统比较
1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(3) 具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。本文从设转载 2012-01-17 11:15:43 · 625 阅读 · 0 评论 -
Hadoop YARN如何调度内存和CPU
Hadoop YARN同时支持内存和CPU两种资源的调度(默认只支持内存,如果想进一步调度CPU,需要自己进行一些配置),本文将介绍YARN是如何对这些资源进行调度和隔离的。在YARN中,资源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的调度器负责资源的分配,而NodeManager则负责资源的供给和隔离。Resource转载 2015-09-16 11:48:42 · 963 阅读 · 0 评论 -
redis3.0.3集群安装详细步骤
Redis集群部署文档(redhat5系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)127.0.0.1:7000127.0.0.1:7001127.0.0.1:7002127.0.0.1:7003127.0.0.1:7004127.0.原创 2015-07-31 18:32:17 · 1176 阅读 · 0 评论 -
lzo的安装及在hadoop中的配置
一、前提1、gcc的安装:yum install lib* glibc* gcc* 如果lzo编译出错时可能需要安装2、ant的安装:安装略,最好1.8.2及以上版本,并设置好环境变量 在第三步需要用到ant二、lzo的安装wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz原创 2011-07-11 17:02:34 · 11917 阅读 · 0 评论 -
让mahout0.7在hadoop2.0环境下运行
由于官方打的jar包是用1.0环境下的,所以要想在2.0下运行,必须重新打包,重新打包前修改几个pom文件就可以,现已经测试通过:1、根pom文件修改如下:2.5.0 org.apache.hadoop hadoop-core ${hadoop.version} net.原创 2015-07-27 15:47:01 · 569 阅读 · 0 评论 -
spark编译及运行常见错误
### spark 下载 http://spark.apache.org/downloads.html### 前提准备 # 安装 JDK,mvn 和 scale,并设置对应的JAVA_HOME,MVN_HOME 和 SCALA_HOME### Spark 编译 (参考 http://spark.apache.org/docs/latest/bui原创 2015-03-27 15:49:42 · 3131 阅读 · 0 评论 -
安装本地库
1、http://ftp.gnu.org/gnu/glibc/ 从这里下载下载glibcwget http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.bz2下载glibc-linuxthreadswget http://ftp.gnu.org/gnu/glibc/glibc-linuxthreads-2.5.tar.bz2原创 2015-02-11 14:32:17 · 677 阅读 · 0 评论 -
ganglia的安装
安装过程1.安装依赖包:yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel \rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel \python-dev原创 2012-02-17 14:35:48 · 4200 阅读 · 0 评论 -
python解决mysql乱码问题
# encoding=utf-8'''Created on 2012-4-6@author: yajunzhang'''import MySQLdb import sysprint sys.getdefaultencoding()conn = MySQLdb.connect(host='*.*.*.*', user='zhang', passwd='8',db='db',c原创 2012-04-10 16:07:04 · 572 阅读 · 0 评论 -
Hadoop常见问题及解决办法
Hadoop常见问题及解决办法原创 2010-11-26 17:26:00 · 5418 阅读 · 0 评论