三:Hadoop伪分布式配置

本文详细介绍了如何配置Hadoop伪分布式环境,包括core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml等关键配置文件的具体设置方法,并解释了各项配置的意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:Hadoop伪分布式配置:

1.core-site.xml

 <configuration>
    <property> 
        <name>fs.defaultFS</name> 
        <value>hdfs://master:9000</value> 
    </property> 
    <property> 
        <name>hadoop.tmp.dir</name> 
        <value>file:/mysoftware/hadoop-2.6.4/tmp</value>
    </property>
    <property>
        <name>hadoop.native.lib</name>
        <value>false</value>
    </property>
 </configuration>

 
2.hdfs-site.xml

<configuration>
    <property> 
        <name>dfs.replication</name> 
        <value>1</value> 
    </property> 
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/mysoftware/hadoop-2.6.4/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/mysoftware/hadoop-2.6.4/dfs/data</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
 </configuration>

 3.mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>


4.yarn-site.xml

<configuration>
    <property>
        <description>The hostname of the RM.</description> 
        <name>yarn.resourcemanager.hostname</name> 
        <value>master</value> 
    </property> 
    <property> 
        <name>yarn.nodemanager.aux-services</name> 
        <value>mapreduce.shuffle</value> 
    </property>
</configuration>

  1. 在conf/hadoop-env.sh文件中增加:

            export JAVA_HOME=/mysoftware/jdk1.7.0_80  (这是我的JDk的安装路径)

  2.  在core-site.xml文件中增加如下内容:

       <!--  fs.default.name - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。-->

    <property> 

        <name>fs.defaultFS</name> 

        <value>hdfs://master:9000</value> 

    </property> 

    【这里的值指的是默认的HDFS路径。当有多个HDFS集群同时工作时,用户如果不写集群名称,那么默认使用哪个哪?在这里指定!该值来自于hdfs-site.xml中的配置】

           

    <!—hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中-->

    <property> 

        <name>hadoop.tmp.dir</name> 

        <value>file:/mysoftware/hadoop-2.6.4/tmp</value>

    </property>


 3.  在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.namenode.name.dir</name>

        <value>file:/mysoftware/hadoop-2.6.4/dfs/name</value>

    </property>

    <property>

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

        <value>file:/mysoftware/hadoop-2.6.4/dfs/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>

           </property>

 

   4.  mapred-site.xml中增加如下内容:

        <configuration>

            <property>

                <name>mapreduce.framework.name</name>

                <value>yarn</value>

            </property>

        </configuration>

 [  指定运行mapreduce的环境是yarn  ]


  5.yarn-site.xml

        <configuration>

            <property>

                <description>The hostname of the RM.</description> 

                <name>yarn.resourcemanager.hostname</name> 

                <value>master</value> 

            </property> 

            <property> 

                <name>yarn.nodemanager.aux-services</name> 

                <value>mapreduce.shuffle</value> 

            </property>

        </configuration>

    【指定定ResourceManager的地址,还是单点】

       

    6.文件slaves:

        master

        [ 指定所有的DataNode节点列表,每行一个节点名称 ]


转载于:https://my.oschina.net/gently/blog/668227

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值