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