hadoop配置文件详解、安装及相关操作

一、      Hadoop伪分布配置

           1. 在conf/hadoop-env.sh文件中增加:export JAVA_HOME=/home/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/hdfs/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/hdfs/name</value>

        </property>

       <property>

        <name>dfs.data.dir</name>

        <value>/home/hdfs/data</value>

   </property>

           <!—解决:org.apache.hadoop.security.AccessControlException:Permission                                                 denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x 。

因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是HDFS 上的/user/hadoop ,  由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。解决方法为:放开 hadoop 目录的权限, 命令如下 :$ hadoop fs -chmod 777 /user/hadoop -->

              <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守护  

三、Hadoop hdfs 整合

 可按如下步骤删除和更改hdfs不需要的文件:

         1.将hadoop-core-1.0.0.jar 移动到lib目录下。

         2. 将ibexec目录下的文件移动到bin目录下。

         3. 删除除bin、lib、conf、logs之外的所有目录和文件。

         4. 如果需要修改日志存储路径,则需要在conf/hadoop-env.sh文件中增加:

            export    HADOOP_LOG_DIR=/home/xxxx/xxxx即可。

四、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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ml

生成命令行接口--google开源的fire使用体验【python-fire】

在python中,命令行接口常用的argparse 和click,但是相对于python-fire 来说灵活度太缺了,fire可以直接将python中的函数,以...

25520
来自专栏乐沙弥的世界

Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)

单击”管理”菜单,选择”添加角色和功能” 单击”下一步”,选择”基于角色或基于功能的安装”,单击”下一步” 选择本地服务器,单击”下一步”,直到功能模块...

15720
来自专栏CSDN技术头条

Hadoop大数据平台运维工程师须掌握的基本命令集分享

本博文收集和整理了在日常维护hadoop集群时运维工程师需要掌握的最基本的hadoop管理与维护的相关命令,在此分享出来供大家参考学习~博主也是刚刚接触hado...

29590
来自专栏菩提树下的杨过

hadoop1.2.1伪分布模式配置

1、修改core-site.xml,配置hdfs 1 <configuration> 2 <property> 3 <name>fs.default...

22150
来自专栏Ken的杂谈

Hadoop高可用集群部署指南

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

22230
来自专栏about云

Hadoop HTTP web-consoles认证机制

问题导读 1.如何配置 Hadoop HTTP web-consoles 所需要的用户身份验证? 2.哪个配置文件可以配置 Hadoop HTTP认证? 3....

36460
来自专栏Hadoop实操

CDSW1.4的新功能

20730
来自专栏Hadoop实操

Navigator的使用

在前面Fayson介绍了《Cloudera Navigator介绍与安装》,本篇文章主要介绍Navigator的四大核心功能,元数据搜索、数据溯源、审计以及数据...

48470
来自专栏Hadoop实操

如何在CDH集群外配置Kerberos环境的Gateway节点

48740
来自专栏奇点大数据

提高hadoop的可靠性(下)

在Hadoop集群中,Namenode的可用性直接影响了Hadoop整个集群的可用性,目前有很多可选方案,基本上以NFS+zookeeper实现,...

29870

扫码关注云+社区

领取腾讯云代金券