Windows下Hadoop安裝部署

安裝

配置文件修改

常用端口說明

出錯處理

 

Hadoop依賴於Java運行環境,因此需要先安裝Java運行環境,再安裝部署Hadoop。

安裝

以2.9.2爲例進行說明(因winutils最高支持到2.9.2)。

  • 到Hadoop網站http://hadoop.apache.org/releases.html下載二進制版本;解壓到目標路徑(如D:\hadoop);
  • 到github網站https://github.com/cdarlint/winutils下載winutils(編譯好的hadoop的windows版本二進制文件);複製到hadoop安裝目錄下的bin目錄。

啓動

文件複製好後,按照第二節的方式修改配置文件,然後格式化文件系統。在bin目錄下執行:hdfs namenode -format

格式化完成後,到sbin目錄下,啓動hadoop:start-all.cmd
通過執行stop-all.cmd停止Hadoop。

查看

在瀏覽器中訪問http://localhost:50070查看Hadoop狀態。

訪問http://localhost:8088查看集羣狀態。

配置文件修改

配置文件在安裝目錄的etc目錄下,修改以下文件後,格式化完文件系統即可啓動Hadoop了。

core-site.xml

添加

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>    
</configuration>

hdfs-site.xml

replication設置爲1,避免standalone模式時提示文件複製出錯(默認情況下,文件需要存放三份)。

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>    
        <name>dfs.namenode.name.dir</name>    
        <value>file:///D:/hadoop/data/dfs/namenode</value>    
    </property>    
    <property>    
        <name>dfs.datanode.data.dir</name>    
        <value>file:///D:/hadoop/data/dfs/datanode</value>  
    </property>
</configuration>

mapred-site.xml

將mapred-site.xml.template重命名爲mapred-site.xml,然後添加(以使用yarn管理資源爲例)

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

yarn-site.xml

添加

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
</configuration>

常用端口說明

參數 說明 默認值 配置文件 示例
fs.default.name namenode namenode RPC交互端口 8020 core-site.xml hdfs://master:8020/
dfs.http.address NameNode web管理端口 50070 hdfs- site.xml 0.0.0.0:50070
dfs.datanode.address datanode 控制端口 50010 hdfs- site.xml 0.0.0.0:50010
dfs.datanode.ipc.address datanode的RPC服務器地址和端口 50020 hdfs- site.xml 0.0.0.0:50020
dfs.datanode.http.address datanode的HTTP服務器和端口 50075 hdfs- site.xml 0.0.0.0:50075

出錯處理

JAVA_HOME帶空格

Hadoop在處理帶有空格的Java路徑時,會存在問題。若Java安裝在帶空格的目錄下,需修改libexec\hadoop-config.cmd文件:

  • %JAVA_HOME%\bin\java.exe加上雙引號 "%JAVA_HOME%\bin\java.exe"
  • set JAVA=%JAVA_HOME%\bin\java加上雙引號set JAVA="%JAVA_HOME%\bin\java"
  • for循環中增加usebackq選項:for /f "usebackq delims=" %%A in ('%JAVA% -Xmx32m %HADOOP_JAVA_PLATFORM_OPTS% -classpath "%CLASSPATH%" org.apache.hadoop.util.PlatformName') do set JAVA_PLATFORM=%%A

啓動出錯

通過start-all啓動Hadoop時,若報找不到文件:

  • 設置環境變量HADOOP_BIN_PATH爲Hadoop的bin目錄;
  • 修改start-dfs.cmd和start-yarn.cmd兩個批處理文件,在start hadoop **start yarn **前設定當前目錄爲HADOOP_BIN_PATH(即添加cd /d %HADOOP_BIN_PATH%)。

停止出錯

通過Stop-all停止Hadoop時,若提示找不到活動的任務,則說明TaskKill殺進程時未找到對應的運行程序(通過查找窗口標題):

  • 修改stop-dfs.cmd和stop-yarn.cmd中的TaskKill /FI "WINDOWTITLE eq **"(把要查找的標題,修改爲真實的命令行窗口標題即可)。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章