Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法
Hadoop偽分布式配置和搭建,hadoop單機安裝,wordcount實例測試,hadoop安裝java目錄怎么找,問題及問題解決方法
環境說明
系統:ubuntu18.04
主機名:test1
用戶名:sylvan
hadoop單機安裝
換源操作這里不再給出,請各位自行解決。
在Linux環境下完成單機環境的搭建,并運行Hadoop自帶的WordCount實例檢測是否運行正常。
Java是Hadoop的主要先決條件。首先檢查java是否安裝:java -version
java未安裝,使用sudo apt install openjdk-8-jdk 安裝OpenJDK8.
再次檢查java是否安裝成功:
查看java環境變量是否配置:
無輸出,說明環境變量未配置,接下來查找java安裝路徑,配置環境變量。
先查找java安裝路徑,發現是:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
在/etc/profile里配置java環境變量,配置完成后用echo檢查JAVA_HOME成功:
接著下載hadoop-2.10.1,并解壓(在 /usr/local/ 里)。
配置hadoop環境變量,并嘗試運行hadoop:
這意味著Hadoop在獨立模式下工作正常。默認情況下,Hadoop被配置為在非分布式模式的單個機器上運行。
運行WordCount測試
利用hadoop提供的的.jar 文件實現wordcount. 首先,創建輸入目錄input,接著創建測試文本,在input目錄復制幾份。
測試文本:
測試文本的復制:
查看hadoop mapreduce例子有哪些功能:
hadoop-mapreduce-examples-2.10.1.jar
啟動Hadoop進程計數在所有在輸入目錄中可用的文件的單詞總數,將結果保存到output 文件夾中。
查看 output 文件夾內容:
Hadoop偽分布式搭建
在Linux環境下完成偽分布式環境的搭建,并運行Hadoop自帶的WordCount實例檢測是否運行正常。
Hadoop 可以在單節點上以偽分布式的方式運行,Hadoop 進程以分離的 Java 進程來運行,節點既作為 NameNode 也作為 DataNode,同時,讀取的是 HDFS 中的文件。Hadoop 的配置文件位于 /usr/local/hadoop-2.10.1/etc/hadoop/ 中,偽分布式需要修改2個配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每個配置以聲明 property 的 name 和 value 的方式來實現。
首先,配置hadoop的環境變量:(在etc/profile中)
配置hadoop-env.sh文件的java環境變量。
注意:這里要將 ${JAVA_HOME} 替換為之前在 /etc/profile里設置的JAVA_HOME,也就是 export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
mapred-env.sh、yarn-env.sh無需再配置。
接著配置Hadoop的文件列表。
core-site.xml文件中包含如讀/寫緩沖器用于Hadoop的實例的端口號的信息,分配給文件系統存儲,用于存儲所述數據存儲器的限制和大小。
hdfs-site.xml 文件中包含如復制數據的值,NameNode路徑的信息,本地文件系統的數據節點的路徑。這意味著是存儲Hadoop基礎工具的地方。
slave文件添加節點主機,發現已經有localhost,因為是偽分布式,所以無需修改成本機的test1.
格式化namenode
啟動hdfs守護進程
查看web端,說明搭建好了Hadoop的hdfs分布式存儲,接下來要繼續配置Hadoop的mapreduce.
mapred-site.xml 文件用于指定正在使用MapReduce框架,從mapred-site.xml.template 模版復制即可,指定mapreduce程序運行在yarn平臺上。
yarn-site.xml 用于配置yarn.
問題:
啟動yarn:(yarn)啟動失敗,JAVA_HOME is not set and could not be found.
問題解決:配置hadoop-env.sh文件里的JAVA_HOME環境變量
啟動yarn:
訪問集群中的所有應用程序的默認端口號為8088,使用以下URL訪問該服務。
查看web端:運行正常
查看節點情況:
運行wordcount實例檢測:
在HDFS的根目錄下創建一個目錄input,將之前的test.txt上傳到HDFS。
繼續創建一個output輸出目錄,執行hadoop jar命令,結果輸出到output/ part-r-00000文件下。
查看結果:
(報錯:/output already exists)
刪除,重新執行:
查看結果:
通過網頁查看任務完成情況:
可以發現當hadoop集群運行時,會報警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable
出現原因:Hadoop 沒有成功加載本地庫,所以使用了內置的 Java 類庫。
解決方法:1. 直接在log中忽略warning;2. 替換hadoop本地庫.
關閉hadoop
(分別關閉了namenodes,yarn,resourcemanager,nodemanager)
參考:
總結
以上是生活随笔為你收集整理的Hadoop伪分布式配置和搭建,hadoop单机安装,wordcount实例测试,hadoop安装java目录怎么找,问题及问题解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode--438. 找到字符串
- 下一篇: 终端服务器安全层在协议流中检测到错误,终