随笔分类 - Hadoop I
摘要:一、引言 曾经在运维hadoop集群的时候,出过这么一回事:当时集群因为需要维修机器所以进行停机维护,但是当启动集群的时候发现集群怎么也起不了,在没有问别的同事的情况下,自己百度了一下问题,发现format操作能解决问题,当时的我对于format是一知半解,后来执行format以后集群是起来了,但是
阅读全文
摘要:一、引言: 最近发现datanode老是无缘无故的进程挂掉,从程序的日志没有stop迹象,只能从/var/log/messages入手,发现如下信息: 从namenode的页面也可以看到进程消息的时间点: 由此可以看出进程是跟abrt有一定的关系的。 二、解决问题: 这是因为无法创建ccpp文件导致
阅读全文
摘要:一、引言: 快下班的时候我开发同事问能不能将hive中drop掉的数据恢复过来,我记得是有开回收站的,当时我回答说可以恢复的。 二、恢复过程: 在之前我有对hadoop的回收站有过了解,就是将hdfs dfs -rm删除掉的文件进行恢复,只需要hdfs dfs -mv将文件从回收站中搬过来就行,我就
阅读全文
摘要:一、引言: 在一次和同事的讨论中遇到一个这样的问题:有一个hadoop集群,在hbase的put数据出现瓶颈,他们想要把datanode上的磁盘做成RAID 0(比如10块磁盘做成一个RAID 0),我当时就说这样的做法不太好,但是没有给出充足的理由不好反驳,只是说官方建议每块磁盘做成单独的RAID
阅读全文
摘要:1. FS Shell 1.1 简介 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>的形式。 所有的的FS shell命令使用URI路径作为参数。URI格式是scheme://authority/path。对HDFS文件系统,scheme是hdfs,对本地文件系统
阅读全文
摘要:一、回收站简介: 在HDFS里,删除文件时,不会真正的删除,其实是放入回收站/trash,回收站里的文件可以快速恢复。 可以设置一个时间阀值,当回收站里文件的存放时间超过这个阀值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。二、实例: Hadoop的回收站trash功能默认是关闭的,所以需要在core-site.xml中手动开启。1、修改core-site.xml,增加: fs.trash.interval 1440 Number of minutes between trash checkpoints. If zero, the trash feature is disabl
阅读全文
摘要:一、hadoop balance工具的用法: 启动balance: bin/start-balancer.sh -threshold 5 停止balance: bin/stop-balancer.sh二、影响hadoop balance工具的几个参数: -threshold默认设置:10,参数取值范围:0-100,参数含义:判断集群是否平衡的目标参数,每一个datanode存储使用率和集群总存储使用率的差值都应该小于这个阀值,理论上,该参数设置的越小,整个集群就越平衡,但是线上环境中,hadoop集群在进行balance时,还在并发的进行数据的吸入和删除,所以有可能无法到达设定的平衡参数值。
阅读全文
摘要:一、问题:在使用Hive0.11进行select查询的时候报:hive> create table zhifu2 as select distinct uid,substr(time,1,12),site from zhifu;Total MapReduce jobs = 1Launching Job 1 out of 1Number of reduce tasks not specified. Estimated from input data size: 1In order to change the average load for a reducer (in bytes): se
阅读全文
摘要:hive文件存储格式包括以下几类:1、TEXTFILE2、SEQUENCEFILE3、RCFILE4、ORCFILE(0.11以后出现)其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;SEQUENCEFILE,RCFILE,ORCFILE格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中, 然后再从表中用insert导入SequenceFile,RCFile,ORCFile表中。前提创建环境:hive 0.8创建一张testfile_table表,格式为textfile。create table if
阅读全文
摘要:在创建表的时候报出如下错误:hive> create table if not exists testfile_table( > site string, > url string, > pv bigint, > label string) > row format delimited > fields terminated by '\t' > stored as textfile;FAILED: Error in metadata: javax.jdo.JDODataStoreException: Insert of objec
阅读全文
摘要:1、内存 Hadoop为各个守护进程(namenode,secondarynamenode,jobtracker,datanode,tasktracker)统一分配的内存在hadoop-env.sh中设置,参数为HADOOP_HEAPSIZE,默认为1000M。 大部分情况下,这个统一设置的值可能并不适合。例如对于namenode节点,1000M的内存只能存储几百万个文件的数据块的引用。如果我想单独设置namenode的村粗,可以通过HADOOP_NAMENODE_OPTS来设置。 同样的,可以通过HADOOP_SECONDARYNAMENODE_OPTS来设置secondarynamenod
阅读全文
摘要:一、配置文件列表如下:[hadoop@node1 conf]$ pwd/app/hadoop/conf[hadoop@node1 conf]$ echo $HADOOP_HOME/app/hadoop[hadoop@node1 conf]$ ll总计 60-rw-rw-r-- 1 hadoop hadoop 3936 2010-02-19 15:55 capacity-scheduler.xml-rw-rw-r-- 1 hadoop hadoop 535 2010-02-19 15:55 configuration.xsl-rw-rw-r-- 1 hadoop hadoop 435 201..
阅读全文
摘要:方法一、使用namespaceID 1、在namenode节点上,将dfs.name.dir指定的目录中(这里是name目录)的内容情况,以此来模拟故障发生。1 [hadoop@node1 name]$ ls2 current image in_use.lock3 [hadoop@node1 name]$ rm -rf * 2、将集群关闭后,再重启我们看到namenode守护进程消失。 1 [hadoop@node1 name]$ stop-all.sh 2 stopping jobtracker 3 192.168.1.152: stopping tasktracker 4 192.1...
阅读全文
摘要:一、SecondaryNameNode概念: 光从字面上来理解,很容易让一些初学者先入为主:SecondaryNameNode(snn)就是NameNode(nn)的热备进程。其实不是。ssn是HDFS架构中的一个组成部分,但是经常由于名字而被人误解它真正的用途,其实它真正的用途,是用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间。对于hadoop进程中,要配置好并正确的使用snn,还是需要做一些工作的。hadoop的默认配置中让snn进程默认运行在了namenode的那台机器上,但是这样的话,如果这台机器出错,宕机,对恢复HDFS文件系统是
阅读全文
摘要:一、Hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。 Hvie是建立在Hadoop上的数据仓库基础架构。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语句,称为HQL,它允许熟悉SQL的用户查询数据。同时
阅读全文
摘要:使用root用户启动hadoop的时候报错:[root@node1 ~]# su - hadoop -c start-all.shstarting namenode, logging to /app/hadoop/bin/../logs/hadoop-hadoop-namenode-node1.out192.168.1.153: starting datanode, logging to /app/hadoop/bin/../logs/hadoop-hadoop-datanode-node3.out192.168.1.152: starting datanode, logging to /ap
阅读全文
摘要:一、Hive将元数据存储在RDBMS中,有三种模式可以连接到数据:1、single User Mode:此模式连接到一个In-memory的数据库Derby,一般用于Unit Test。2、Multi User Mode:通过网络连接到一个数据库中,是最经常使用到的模式。3、Remote Server Mode:用于非Java客户端访问元数据库,在服务器端启动一个MetaStoreServer,客户端利用Thrift协议通过MetaStoreServer访问元数据库。二、暂略三、暂略四、MySQL做元数据库模式1、解压hive的压缩包2、把mysql-connector-java-5.1.10
阅读全文
摘要:一、集群环境: HostnameIPHadoop版本Hadoop功能系统node1192.168.1.1510.20.0namenodehive+sqooprhel5.4X86node2192.168.1.1520.20.0datanodemysqlrhel5.4X86node3192.168.1.1530.20.0datanoderhel5.4X86二、安装sqoop1、下载sqoop压缩包,并解压压缩包分别是:sqoop-1.2.0-CDH3B4.tar.gz,hadoop-0.20.2-CDH3B4.tar.gz, Mysql JDBC驱动包mysql-connector-jav...
阅读全文
摘要:一、背景 分布式的集群通常包含非常多的机器,由于受到机器槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群。机架内的机器之间的网络速度通常都会高于跨机架之间的网络速度,并且机架之间机器的网络通信常受到上层交换机间网络带宽的限制。 具体到Hadoop集群,由于hadoop的HDFS对数据文件的分布式存放是按照分块block存储,每个block会有多个副本(默认为3),并且为了数据的安全和高效,所以hadoop默认对3个副本的存放策略为: 第一个block副本放在和client所在的node里(如果client不在集群范围内,则这第一个node是
阅读全文
摘要:一、实验说明1、本实验将使用DNS而不是hosts文件解析主机名;2、使用NFS共享密钥文件,而不是逐个手工拷贝添加密钥;3、复制Hadoop时使用批量拷贝脚本而不是逐台复制。 测试环境:HostnameIPHadoop版本Hadoop功能系统hadoop1192.168.1.1610.20.0namenodenfs服务器端rhel5.4x86hadoop2192.168.1.1620.20.0datanodedns+nfs客服端rhel5.4 x86hadoop3192.168.1.1630.20.0datanodenfs客户端rhel5.4 x86二、DNS的安装与配置 1、上传dns目录
阅读全文