三:Hadoop僞分佈式配置

一:Hadoop僞分佈式配置:
node

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文件中增長:apache

            export JAVA_HOME=/mysoftware/jdk1.7.0_80  (這是個人JDk的安裝路徑)分佈式

  2.  在core-site.xml文件中增長以下內容:oop

       <!--  fs.default.name - 這是一個描述集羣中NameNode結點的URI(包括協議、主機名稱、端口號),集羣裏面的每一臺機器都須要知道NameNode的地址。DataNode結點會先在NameNode上註冊,這樣它們的數據才能夠被使用。獨立的客戶端程序經過這個URI跟DataNode交互,以取得文件的塊列表。-->測試

    <property> spa

        <name>fs.defaultFS</name> 插件

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

    </property> orm

    【這裏的值指的是默認的HDFS路徑。當有多個HDFS集羣同時工做時,用戶若是不寫集羣名稱,那麼默認使用哪一個哪?在這裏指定!該值來自於hdfs-site.xml中的配置】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節點列表,每行一個節點名稱 ]

相關文章
相關標籤/搜索