Tag Archives: Hadoop

[转]大数据分析的分类

原文地址:大数据下的数据分析平台架构 大数据分析的分类 Hadoop平台对业务的针对性较强,为了让你明确它是否符合你的业务,现粗略地从几个角度将大数据分析的业务需求分类,针对不同的具体需求,应采用不同的数据分析架构。 按照数据分析的实时性,分为实时数据分析和离线数据分析两种。 实时数据分析一般用于金融、移动和互联网B2C等产品,往往要求在数秒内返回上亿行数据的分析,从而达到不影响用户体验的目的。要满足这样的需求,可以采用精心设计的传统关系型数据库组成并行处理集群,或者采用一些内存计算平台,或者采用HDD的架构,这些无疑都需要比较高的软硬件成本。目前比较新的海量数据实时分析工具有EMC的Greenplum、SAP的HANA等。 对于大多数反馈时间要求不是那么严苛的应用,比如离线统计分析、机器学习、搜索引擎的反向索引计算、推荐引擎的计算等,应采用离线分析的方式,通过数据采集工具将日志数据导入专用的分析平台。但面对海量数据,传统的ETL工具往往彻底失效,主要原因是数据格式转换的开销太大,在性能上无法满足海量数据的采集需求。互联网企业的海量数据采集工具,有Facebook开源的Scribe、LinkedIn开源的Kafka、淘宝开源的Timetunnel、Hadoop的Chukwa等,均可以满足每秒数百MB的日志数据采集和传输需求,并将这些数据上载到Hadoop中央系统上。 按照大数据的数据量,分为内存级别、BI级别、海量级别三种。 这里的内存级别指的是数据量不超过集群的内存最大值。不要小看今天内存的容量,Facebook缓存在内存的Memcached中的数据高达320TB,而目前的PC服务器,内存也可以超过百GB。因此可以采用一些内存数据库,将热点数据常驻内存之中,从而取得非常快速的分析能力,非常适合实时分析业务。图1是一种实际可行的MongoDB分析架构。   MongoDB大集群目前存在一些稳定性问题,会发生周期性的写堵塞和主从同步失效,但仍不失为一种潜力十足的可以用于高速数据分析的NoSQL。 此外,目前大多数服务厂商都已经推出了带4GB以上SSD的解决方案,利用内存+SSD,也可以轻易达到内存分析的性能。随着SSD的发展,内存数据分析必然能得到更加广泛的应用。 BI级别指的是那些对于内存来说太大的数据量,但一般可以将其放入传统的BI产品和专门设计的BI数据库之中进行分析。目前主流的BI产品都有支持TB级以上的数据分析方案。种类繁多,就不具体列举了。 海量级别指的是对于数据库和BI产品已经完全失效或者成本过高的数据量。海量数据级别的优秀企业级产品也有很多,但基于软硬件的成本原因,目前大多数互联网企业采用Hadoop的HDFS分布式文件系统来存储数据,并使用MapReduce进行分析。本文稍后将主要介绍Hadoop上基于MapReduce的一个多维数据分析平台。 数据分析的算法复杂度 根据不同的业务需求,数据分析的算法也差异巨大,而数据分析的算法复杂度和架构是紧密关联的。举个例子,Redis是一个性能非常高的内存Key-Value NoSQL,它支持List和Set、SortedSet等简单集合,如果你的数据分析需求简单地通过排序,链表就可以解决,同时总的数据量不大于内存(准确地说是内存加上虚拟内存再除以2),那么无疑使用Redis会达到非常惊人的分析性能。 还有很多易并行问题(Embarrassingly Parallel),计算可以分解成完全独立的部分,或者很简单地就能改造出分布式算法,比如大规模脸部识别、图形渲染等,这样的问题自然是使用并行处理集群比较适合。 而大多数统计分析,机器学习问题可以用MapReduce算法改写。MapReduce目前最擅长的计算领域有流量统计、推荐引擎、趋势分析、用户行为分析、数据挖掘分类器、分布式索引等。

hadoop在线删除DataNode

1、配置core-site.xml,增加如下内容 <property> <name>dfs.hosts.exclude</name> <value>/home/adam/hadoop/conf/excludes</value> </property> 2、确定需要删除的节点(测试的时候发现指定主机名会有问题,制定ip地址正常) adam@hnn:~/hadoop/conf$ cat excludes 192.168.0.131 3、刷新DataNode adam@hnn:~/hadoop/conf$ hadoop dfsadmin -refreshNodes 4、查看文件系统状态 adam@hnn:~/hadoop/conf$ hadoop dfsadmin -report 持续观察直至被删除节点出现下面的说明: Decommission Status : Decommissioned 5、停止被删除节点上的TaskTracker进程

Hive 0.9安装记录

 1、下载、解压缩hive 0.9 大家都会,就不多说了,hive放在/home/adam/hive 2、安装mysql 在ubuntu 12.04,安装比较简单,一条命令把服务器端和客户端都装好了 sudo apt-get install mysql-server 按照找到资料,应该新建一个用户来使用hive,如 create user ‘adam@localhost’ identified by ’1234′; grant all on hive.* to hive@localhost; flush previliges; 但使用新创建的用户始终无法登陆mysql,所以偷懒使用了默认的root用户。  3、修改etc/profile 增加一行 export HIVE_HOME=/home/adam/hive PATH变量增加HIVE_HOME(这一步不是必须的,主要是为了方便使用) export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$PIG_HOME/bin:$HIVE_HOME/bin:$PATH  4、修改hive的配置文件 以hive-default.xml作为基本配置,hive-site.xml是需要修改配置 cp hive-default.xml.template hive-default.xml  hive-site.xml文件内容: <?xml version=”1.0″?> <?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?> <configuration>   <property>     <name>javax.jdo.option.ConnectionURL</name>     <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>     <description>JDBC connect string [...]

hbase安装记录

安装环境:hadoop 0.20.2 + hbase 0.90.5 hbase下载,解压缩的过程就不多讲了,大家应该都会,主要是下面一些配置文件的修改。 网上的一些资料说hbase的配置文件中,写服务器ip地址会出错,我没有验证过。因为已经习惯使用主机名称,提前在各个服务器上已经修改了hosts文件。 $ cat /etc/hosts 127.0.0.1       localhost 192.168.0.128   hnn 192.168.0.129 hdn1 192.168.0.130 hdn2 192.168.0.131 centos   一、修改hbase-env.sh # 1. 设置jdk的路径 # The java implementation to use.  Java 1.6 required. # export JAVA_HOME=/usr/java/jdk1.6.0/ export JAVA_HOME=/home/adam/java/jdk # 2. 让hbase通过hadoop的配置文件路径,获取hadoop的信息 # Extra Java CLASSPATH elements.  Optional. # export HBASE_CLASSPATH= export HBASE_CLASSPATH=/home/adam/hadoop/conf # 3. [...]

Hadoop安装记录

安装环境说明: 主机:win7 64位 家庭版 i5 cpu/4G内存 Vmware版本:9.0.0-812388 Ubuntu版本:ubuntu-12.04.1-server-i386 Java版本:jdkk-6u34-linux-i568 Hadoop: 0.20.2 1. 安装虚拟机和操作系统 使用Vmare创建三个虚拟机,一个当NameNode,另外两个是DataNode。虚拟机的网络设置选择桥接模式。 安装好一个可以使用vmware的clone功能复制出另外两个。 2. 修改主机名称 sudo vi /etc/hostname NameNode服务器名称:hnn,两个DataNode的名称分别为:hdn1, hdn2 修改时区: sudo dpkg-reconfigure tzdata 3. 修改三台主机为静态IP地址 因使用路由器共享上网,ip地址网段为192.168.0 这样设置的好处是主机的win7系统和三台linux在同一网段,可以使用主机的ssh客户端直接连接虚拟机 sudo vi /etc/network/interface auto eth0 iface e/th0 inet static address 192.168.0.128 netmask 255.255.255.0 gateway 192.168.116.255 修改DNS服务器 vi /etc/resolvconf/resolv.conf.d/tail nameserver 202.102.224.68 sudo restart resolvconf 4. 修改host名称 [...]

hadoop版本间关系和特性列表

原文地址:An update on Apache Hadoop 1.0 译文地址:hadoop 1.0版本号背后的真实含义 Hadoop 0.20到1.0中间各版本间的关系 Hadoop各版本的特性列表