参考网络众多资料,结合自己的练习,记录了hadoop hdfs应用的一些内容,希望对初学hadoop的同学有所帮助。
所需软件:
Jdk 1.6.*
Hadoop: hadoop-1.0.3.tar.gz
环境配置
<!--[if !supportLists]-->1.
<!--[endif]-->安装linux centos 5.X系统
<!--[if !supportLists]-->a. <!--[endif]-->添加用户组:groupadd ghadoop
<!--[if !supportLists]-->b. <!--[endif]-->添加用户 useradd –g ghadoop hduser
本文未加说明都是以hduser用户进行操作
2. 安装开启ssh服务(root用户)。
系统默认安装带ssh服务的,未安装请自行安装,方法略。
启动服务:service sshd start
3. 建立ssh 无密码登录(root用户)
$ ssh-keygen -t dsa
直接回车三次,完成后会在~/.ssh/生成两个文件:id_dsa 和id_dsa.pub。
这两个是成对出现,类似钥匙和锁。再把id_dsa.pub 追加到授权key 里面(当前并没有authorized_keys文件):
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys。
完成后可以实现无密码登录本机:$ ssh localhost。
4.关闭防火墙 (root用户)
service iptables
stop
5. 安装jdk 1.6 (root用户)
6. 安装后,添加如下语句到/etc/profile 中(root用户):
export JAVA_HOME=/user/java/jdk1.6
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
7安装hadoop
hadoop-1.0.3.tar.gz
解压到/home/hduser下
一、 Hadoop伪分布配置
1. 在conf/hadoop-env.sh文件中增加:export JAVA_HOME=/user/java/jdk1.6
2. 在conf/core-site.xml文件中增加如下内容:
<!-- fs.default.name - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。-->
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<!—hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配
置namenode和datanode的存放位置,默认就放在这个路径中-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/tmp</value>
</property>
3. 在conf/hdfs-site.xml中增加如下内容:
<!-- dfs.replication -它决定着
系统里面的文件块的数据备份个数。对于一个实际的应用,它 应该被设为3(这个 数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的 可靠性(系统故障时,也许会造成数据丢失)-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- dfs.data.dir - 这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上 的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这 个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值hadoop.tmp.dir, 这
个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆 盖。
dfs.name.dir - 这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。-->
<property>
<name>dfs.name.dir</name>
<value>/home/hduser/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hduser/data</value>
</property>
<!—解决:org.apache.hadoop.security.AccessControlException:Permission
denied:user=XXXX,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x
。
因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/home/hduser , 由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。解决方法为:放开 hadoop 目录的权限, 命令如下 :$ hadoop fs -chmod
777 /home/hduser -->
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>
If "true", enable permission checking in HDFS.
If "false", permission checking is turned
off, but all other behavior is
unchanged. Switching from one parameter value to
the other does not change the mode, owner or group of
files or directories
</description>
</property>
4. 在conf/mapred-site.xml中增加如下内容:
<!-- mapred.job.tracker -JobTracker的主机(或者IP)和端口。-->
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
二、操作命令
1. 格式化工作空间
进入bin目录,运行 ./hadoop namenode
–format
2. 启动hdfs
进入hadoop目录,在bin/下面有很多启动脚本,可以根据自己的需要来启动。
*
start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack
* stop-all.sh 停止所有的Hadoop
* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack
* stop-mapred.sh 停止Map/Reduce守护
* start-dfs.sh 启动Hadoop DFS守护Namenode和Datanode
* stop-dfs.sh 停止DFS守护
三、HDFS文件操作
Hadoop使用的是HDFS,能够实现的功能和我们使用的磁盘系统类似。并且支持通配符,如*。
1. 查看文件列表
查看hdfs中/user/admin/hdfs目录下的文件。
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop
fs -ls /user/admin/hdfs
查看hdfs中/user/admin/hdfs目录下的所有文件(包括子目录下的文件)。
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop
fs -lsr /user/admin/hdfs
2. 创建文件目录
查看hdfs中/user/admin/hdfs目录下再新建一个叫做newDir的新目录。
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop
fs -mkdir /user/admin/hdfs/newDir
3. 删除文件
删除hdfs中/user/admin/hdfs目录下一个名叫needDelete的文件
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop
fs -rm /user/admin/hdfs/needDelete
删除hdfs中/user/admin/hdfs目录以及该目录下的所有文件
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop
fs -rmr /user/admin/hdfs
4. 上传文件
上传一个本机/home/admin/newFile的文件到hdfs中/user/admin/hdfs目录下
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop
fs –put /home/admin/newFile /user/admin/hdfs/
5. 下载文件
下载hdfs中/user/admin/hdfs目录下的newFile文件到本机/home/admin/newFile中
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop fs –get /user/admin/hdfs/newFile
/home/admin/newFile
6. 查看文件内容
查看hdfs中/user/admin/hdfs目录下的newFile文件
a. 进入HADOOP_HOME目录。
b. 执行sh bin/hadoop
fs –cat /home/admin/newFile
分享到:
相关推荐
练习搭建伪分布Hadoop3.X集群,只用于刚刚开始学习搭建hadoo伪分布式集群的人群,帮助大家快速搭建Hadoop3.X伪分布式集群,快速入门大数据为日后的学习打下坚实的基础
**Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...
《Hadoop学习笔记详解》 Hadoop,作为大数据处理领域中的核心框架,是Apache软件基金会下的一个开源项目,主要用于分布式存储和并行计算。本文将根据提供的Hadoop学习笔记,深入解析Hadoop的关键概念和实战技巧,...
此外,Hadoop也提供了对大数据进行分布式处理的能力,这包括了对数据的分布式存储、分布式计算以及集群资源的管理。通过使用Hadoop,企业和组织可以在不牺牲数据完整性和可靠性的前提下,处理和分析海量的数据集。
【HADOOP学习笔记】 Hadoop是Apache基金会开发的一个开源分布式计算框架,是云计算领域的重要组成部分,尤其在大数据处理方面有着广泛的应用。本学习笔记将深入探讨Hadoop的核心组件、架构以及如何搭建云计算平台。...
Hadoop是一种开源的分布式存储和计算系统,它由Apache软件基金会开发。在初学者的角度,理解Hadoop的组成部分以及其架构设计是学习Hadoop的基础。 首先,Hadoop的分布式文件系统(HDFS)是其核心组件之一,它具有高...
在本篇"Hadoop学习笔记(三)"中,我们将探讨如何使用Hadoop的MapReduce框架来解决一个常见的问题——从大量数据中找出最大值。这个问题与SQL中的`SELECT MAX(NUMBER) FROM TABLE`查询相似,但在这里我们通过编程...
这个“Hadoop学习笔记”涵盖了Hadoop生态系统中的核心组件,包括HDFS(Hadoop分布式文件系统)、HBase(一个分布式、列式存储的数据库)、Hive(数据仓库工具)以及Spark(一个快速、通用且可扩展的数据处理引擎)。...
"Hadoop学习笔记整理" 本篇笔记对Hadoop进行了系统的介绍和总结,从大数据的基本流程到Hadoop的发展史、特性、集群整体概述、配置文件、HDFS分布式文件系统等方面都进行了详细的讲解。 一、大数据分析的基本流程 ...
《Hadoop学习笔记》 Hadoop,作为大数据处理的核心框架,是开源社区的杰作,由Apache软件基金会维护。这份文档旨在深入解析Hadoop的基本概念、架构及其在大数据处理中的应用,帮助读者全面掌握这一重要技术。 一、...
6. "hadoop2.2.0伪分布式搭建.txt" - 这可能是一个文本指南,指导如何在单机环境下设置Hadoop的伪分布式模式,这是学习Hadoop的常见起点。 7. "分布式文件系统.txt" - 可能详细阐述了Hadoop分布式文件系统(HDFS)...
在单节点上搭建Hadoop的伪分布式环境,用于测试和学习。这通常是在没有多台物理机的情况下进行的,所有Hadoop进程都在同一台机器上运行。步骤包括下载和安装JDK,配置Hadoop环境变量,解压和格式化HDFS,启动Hadoop...
《深入理解Hadoop分布式系统》 ...Hadoop的学习是一个逐步深入的过程,涵盖分布式存储、计算模型、资源调度等多个方面,理解其工作原理和最佳实践,对于在大数据环境中构建高效稳定的系统至关重要。
【大数据与Hadoop简介】 大数据是指在传统数据处理技术无法有效处理的海量、高增长率和...学习Hadoop不仅可以帮助理解大数据处理的基本原理,也是进入大数据领域的基础,对于开发和优化大数据解决方案具有重要意义。
本学习笔记涵盖了Hadoop 1.0和2.0两个主要版本,旨在帮助读者全面理解Hadoop的核心概念、架构以及实际操作。 在Hadoop 1.0中,核心组件主要包括HDFS(Hadoop Distributed File System)和MapReduce。HDFS是一种...