Win10下安裝Hadoop3.1.2詳解

来源:https://www.cnblogs.com/hellokuangshen/archive/2019/07/06/11141372.html
-Advertisement-
Play Games

Win10下安裝Hadoop3.1.2詳解 嘗試在本地win10上安裝hadoop,在官網選擇了最新的hadoop版本,就是這裡開始給自己挖了坑,對著網上的博客一頓操作,發現節點一直啟動不成功。本著不放棄的原則,在不停的配置過程中繼續折騰,終於解決問題。 安裝環境 JDK 1.8 Windows10 ...


Win10下安裝Hadoop3.1.2詳解

嘗試在本地win10上安裝hadoop,在官網選擇了最新的hadoop版本,就是這裡開始給自己挖了坑,對著網上的博客一頓操作,發現節點一直啟動不成功。本著不放棄的原則,在不停的配置過程中繼續折騰,終於解決問題。

安裝環境

  • JDK 1.8
  • Windows10
  • Hadoop3.1.2

JDK 安裝參考我之前Java的博客 :JDK安裝詳解

這裡需要註意的如果jdk版本過高可能會帶來問題

安裝Hadoop

  1. 官網下載Hadoop3.1.2 :下載地址
  2. 解壓到自定義的文件夾,我這裡選擇我的路徑
F:\Environment\hadoop-3.1.2\hadoop

1562341002706.png

  1. 配置環境變數
JAVA_HOME : F:\Environment\java\jdk1.8.0_181
HADOOP_HOME : F:\Environment\hadoop-3.1.2\hadoop

path添加 :
    %JAVA_HOME%\bin
    %JAVA_HOME%\jre\bin
    %HADOOP_HOME%\bin

1562341035401.png
1562341106642.png

  1. 檢測是否安裝成功
java -version
hadoop - version

1562341133788.png

出現以上信息說明安裝成功 !

修改配置文件

需要修改的文件在解壓後的目錄下,F:\Environment\hadoop-3.1.2\hadoop\etc\hadoop

1562341249096.png

hadoop-env.cmd

用Notepad++ 打開hadoop-env.cmd文件
找到**set JAVA_HOME=%JAVA_HOME%**一行,將其值修改為jdk所在目錄
如果目錄帶有空格,可以通過下麵兩種方式處理:
這裡以安裝目錄為C:\Program Files\Java\jdk1.8.0_181為例
因為Program Files中存在空格,若是直接使用會出現錯誤,可以下麵兩種方式之一進行處理:
只需要用PROGRA~1 代替Program Files,即改為C:\PROGRA~1\Java\jdk1.8.0_18
或是使用雙引號改為 “C:\Program Files”\Java\jdk1.8.0_181

core-site.xml

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

mapred-site.xml

<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.hahoop.mapred.ShuffleHandler</value>
        </property>
 </configuration>

hdfs-site.xml

需要再hadoop解壓的根目錄下創建一個data文件夾,併在data下創建namenode和datanode兩個子文件夾;

1562341508342.png

1562341521829.png

然後添加配置文件 :

<configuration>
    <!-- 這個參數設置為1,因為是單機版hadoop -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property> 
     <name>dfs.permissions</name> 
     <value>false</value> 
  </property>
   <property>
       <name>dfs.namenode.name.dir</name>
       <value>/F:/Environment/hadoop-3.1.2/hadoop/data/namenode</value>
   </property>
   <property>
        <name>fs.checkpoint.dir</name>
        <value>/F:/Environment/hadoop-3.1.2/hadoop/data/snn</value>
    </property>
    <property>
        <name>fs.checkpoint.edits.dir</name>
        <value>/F:/Environment/hadoop-3.1.2/hadoop/data/snn</value>
    </property>
       <property>
       <name>dfs.datanode.data.dir</name>
       <value>/F:/Environment/hadoop-3.1.2/hadoop/data/datanode</value>
   </property>
</configuration>

配置文件修改完畢 !

替換bin文件

下載的Hadoop不支持Windows系統,需要替換bin目錄下的文件方便在Windows上運行。這也是掉坑來的地方了!!!!
在網上下載到的hadooponwindows-master.zip 以及winutils中應該是只適合hadoop 3.0.0及其以下,嘗試過hadooponwindows-master.zip以及winutils中最高的版本3.0.0,啟動hadoop都會出現下麵的錯誤:Error starting NodeManager、UnsatisfiedError

1562341656565.png

1562341684330.png

折騰了好久(低版本的hadoop還沒下載完畢),終於找到3.1.0版本winutils,下載後直接替換掉hadoop目錄下bin文件即可:

1562341824274.png

複製yarn的jar包

可以看到resourcemanager.ResourceManager: Error starting ResourceManager啟動失敗的日誌
報了類TimelineCollectorManager找不到的錯誤。

解決方法: 
F:\Environment\hadoop-3.1.2\hadoop\share\hadoop\yarn\timelineservice 
將這個文件夾下的hadoop-yarn-server-timelineservice-3.1.2.jar 包 
複製到這個路徑下 F:\Environment\hadoop-3.1.2\hadoop\share\hadoop\yarn 即可解決。

格式化HDFS文件系統

hdfs namenode -format

1562342111016.png

如果這一步沒有什麼異常基本沒有問題了。

啟動

進入hadoop的sbin目錄
我這裡在 : F:\Environment\hadoop-3.1.2\hadoop\sbin

# 啟動
# 會自動開啟四個新的命令行視窗,視窗沒列印異常即啟動成功
start-all

# 停止
stop-all

# 查看正在運行的實例進程及埠
jps 

1562342376658.png

這四個視窗不能關閉 , 否則進程會結束

1562342412603.png

訪問管理GUI

啟動成功後,可以訪問GUI頁面

http://localhost:8088

1562342517887.png

http://localhost:9870

1562342555921.png

最後我們停止一下所有進程

1562342621176.png

結尾

運行結束後你會發現hadoop安裝的磁碟根目錄下多了一個tmp臨時文件目錄

1562342703354.png

裡面有一些 Hadoop的緩存文件 , 可以酌情清理 !

1562342723630.png

編輯不易 , 轉載註明出處 : 西部開源-秦疆 2019.07.06 00:47 更新


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • extern可置於變數或者函數前,以表示變數或者函數的定義在別的文件中,提示編譯器遇到此變數和函數時在其他模塊中尋找其定義。 另外,extern也可用來進行鏈接指定。用法分析: 在一個變數前加extern 比如:extern unsigned int Test;編譯器編譯的時候,會把Test當成是外 ...
  • 工廠模式的使用場景、讓自己的代碼解耦更優雅。包含簡單工廠、工廠方法、抽象工廠。一文就夠了 ...
  • 為了更好地支持交易業務的快速發展,馬蜂窩支付中心從最初只支持基礎支付和退款的「刀耕火種」階段,經歷了架構調整的「刮骨療傷」階段,完成了到實現綜合產品平臺形態的「沉澱蓄力」階段的演進。 目前,馬蜂窩支付中心集成了包括基礎訂單、收銀台、路由管理、支付通道、清算核對、報表統計等多種能力,為馬蜂窩度假(平臺 ...
  • 這一章總結了我們旅程中的發現。它強調了我們在這個過程中所學到的最重要的經驗教訓,提出瞭如果我們用新知識開始這段旅程,我們將以不同的方式做的一些事情,並指出了Contoso會議管理系統的一些未來道路。 ...
  • java 手寫 jvm高性能緩存,鍵值對存儲,隊列存儲,存儲超時設置 緩存介面 package com.ws.commons.cache; public interface ICache { void expire(String key, int timeOutSecond); void leftP ...
  • 基本輸出 python中的輸出使用關鍵字--print,與python2不同的是,python3的輸出後面必須要加括弧,示例如下: python3.0以上輸出: python2.0以上的輸出: 格式化的輸出 在程式中看到輸出的語句存在%(占位符),那麼這就是表示格式化的輸出 換行輸出 如果在輸出的語 ...
  • 檢查文件是否存在 在此程式同目錄下創建log.txt文件,以檢測。 檢查文件是否不存在 讀取文件內容 在此程式同目錄下創建name.txt文件,以檢測。 寫入文件 在此程式同目錄下創建hello_world文件。 創建臨時文件 計算文件行數 在程式同目錄下創建"names.txt"文件,隨便寫幾行字 ...
  • 自定義錯誤類型 Go中可以使用 創建錯誤信息,也可以通過創建自定義錯誤類型來滿足需求。 是一個介面類型,所有實現該介面的類型都可以當作一個錯誤類型。 記錄日誌 捕獲異常 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...