目錄
前言:
一、VMware Workstation
二、Ubuntu系統(tǒng)安裝
新建虛擬機
三、Ubuntu系統(tǒng)的配置
四、更新apt
五、安裝SSH、配置SSH無密碼登陸?
六、安裝Java環(huán)境
七、安裝 Hadoop3.1.3
八、Hadoop單機配置(非分布式)
九、Hadoop偽分布式配置
前言:
????????本篇教程由作者本人進行修改,原教程為廈門大學(xué)數(shù)據(jù)庫實驗室/林子雨出品,本篇教程針對VMware軟件的使用以及Ubuntu的安裝,點此下載(此處包含hadoop、Ubuntu以及jdk1.8)有其他需求可另行下載
一、VMware Workstation
? ? ? ? VMware Workstation可以前往官網(wǎng)下載,和正常的軟件安裝即可,選擇好文件的位置進行安裝,最后會有一個許可證密鑰,17版本的用此密鑰進行驗證即可:JU090-6039P-08409-8J0QH-2YR7F。不建議使用其他版本,因為可能在安裝Ubuntu的過程中會有藍屏的情況出現(xiàn)(暫無法解決),VMware Workstation 17則沒有此問題。
安裝好后的頁面
二、Ubuntu系統(tǒng)安裝
新建虛擬機
????????打開VMware Workstation 后點擊屏幕的創(chuàng)建虛擬機或者點擊“文件”->“新建虛擬機”可進行虛擬機的創(chuàng)建
點擊后彈出新窗口,選擇典型即可繼續(xù)下一步
點擊“下一步”后選擇需要安裝的系統(tǒng)
選擇好需安裝的系統(tǒng)后繼續(xù)點擊“下一步”,這里為了方便后面使用,用戶名這些統(tǒng)一設(shè)為hadoop,密碼為了便攜建議只設(shè)置1位數(shù)的密碼
點擊下一步后進入虛擬機名稱的填寫以及位置的選擇,PS:名稱隨意,Ubuntu系統(tǒng)安裝的硬盤至少需要預(yù)留30GB的空間以便后續(xù)使用
點擊“下一步”后,最大磁盤大小設(shè)為30GB,并選擇“將虛擬硬盤存儲為單個文件”,然后繼續(xù)進行下一步
最后點擊“完成”即可完成Ubuntu的初始安裝,隨后VMware Workstation軟件會自動開啟虛擬機,然后靜待系統(tǒng)的安裝即可(此過程預(yù)計10min左右)
三、Ubuntu系統(tǒng)的配置
按照以上步驟配置完成后出現(xiàn)兩個賬戶,登錄hadoop賬戶進入Ubuntu系統(tǒng)。PS:輸入密碼時會自動關(guān)閉Num Lock,需自己手動打開,Ubuntu漢化教程
而后點擊左下角,進入搜索框搜索software,點擊進入軟件
然后點擊設(shè)置,此處我已進行了漢化,點擊設(shè)置后,下拉框選擇其他站點
在列表中選中【mirrors.aliyun.com】,并點擊右下角的【選擇服務(wù)器】,會要求輸入用戶密碼,輸入即可。
接著點擊關(guān)閉,此時會提示列表信息過時,點擊【重新載入】,最后耐心等待更新緩存即可。更新完成會自動關(guān)閉【軟件和更新】這個窗口
四、更新apt
用 hadoop 用戶登錄后,我們先更新一下 apt,后續(xù)我們使用 apt 安裝軟件,如果沒更新可能有一些軟件安裝不了。按 ctrl+alt+t 打開終端窗口
sudo apt-get update
?后續(xù)需要更改一些配置文件,我比較喜歡用的是 vim(vi增強版,基本用法相同),建議安裝一下(如果你實在還不會用 vi/vim 的,請將后面用到 vim 的地方改為 gedit,這樣可以使用文本編輯器進行修改,并且每次文件更改完成后請關(guān)閉整個 gedit 程序,否則會占用終端)
sudo apt-get install vim
vim的常用模式有分為命令模式,插入模式,可視模式,正常模式。本教程中,只需要用到正常模式和插入模式。二者間的切換即可以幫助你完成本指南的學(xué)習(xí)。
- 正常模式
正常模式主要用來瀏覽文本內(nèi)容。一開始打開vim都是正常模式。在任何模式下按下Esc鍵就可以返回正常模式- 插入編輯模式
插入編輯模式則用來向文本中添加內(nèi)容的。在正常模式下,輸入i鍵即可進入插入編輯模式- 退出vim
如果有利用vim修改任何的文本,一定要記得保存。Esc鍵退回到正常模式中,然后輸入:wq即可保存文本并退出vim
五、安裝SSH、配置SSH無密碼登陸?
集群、單節(jié)點模式都需要用到 SSH 登陸(類似于遠程登陸,你可以登錄某臺 Linux 主機,并且在上面運行命令),Ubuntu 默認已安裝了 SSH client,此外還需要安裝 SSH server:
sudo apt-get install openssh-server
安裝后,可以使用如下命令登陸本機:
ssh localhost
此時會有如下提示(SSH首次登陸提示),輸入 yes 。然后按提示輸入密碼 hadoop,這樣就登陸到本機了。???????
但這樣登陸是需要每次輸入密碼的,我們需要配置成SSH無密碼登陸比較方便。
首先退出剛才的 ssh,就回到了我們原先的終端窗口,然后利用 ssh-keygen 生成密鑰,并將密鑰加入到授權(quán)中:
exit # 退出剛才的 ssh localhost
cd ~/.ssh/ # 若沒有該目錄,請先執(zhí)行一次ssh localhost
ssh-keygen -t rsa # 會有提示,都按回車就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授權(quán)
~的含義: 在 Linux 系統(tǒng)中,~ 代表的是用戶的主文件夾,即 "/home/用戶名" 這個目錄,如你的用戶名為 hadoop,則 ~ 就代表 "/home/hadoop/"。 此外,命令中的 # 后面的文字是注釋,只需要輸入前面命令即可。
此時再用?ssh localhost
?命令,無需輸入密碼就可以直接登陸了,如下圖所示。
六、安裝Java環(huán)境
手動安裝,推薦采用本方式
Hadoop3.1.3需要JDK版本在1.8及以上。需要按照下面步驟來自己手動安裝JDK1.8。
我們已經(jīng)把JDK1.8的安裝包jdk-8u162-linux-x64.tar.gz放在了百度云盤,可以點擊這里到百度云盤下載JDK1.8安裝包請把壓縮格式的文件jdk-8u162-linux-x64.tar.gz下載到本地電腦,假設(shè)保存在“/home/linziyu/Downloads/”目錄下。(點此查看如何傳輸文件到虛擬機)
在Linux命令行界面中,執(zhí)行如下Shell命令(注意:當(dāng)前登錄用戶名是hadoop):
cd /usr/lib
sudo mkdir jvm #創(chuàng)建/usr/lib/jvm目錄用來存放JDK文件
cd ~ #進入hadoop用戶的主目錄
cd Downloads #注意區(qū)分大小寫字母,剛才已經(jīng)通過FTP軟件把JDK安裝包jdk-8u162-linux-x64.tar.gz上傳到該目錄下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm #把JDK文件解壓到/usr/lib/jvm目錄下
上面使用了解壓縮命令tar,如果對Linux命令不熟悉,可以參考常用的Linux命令用法。
JDK文件解壓縮以后,可以執(zhí)行如下命令到/usr/lib/jvm目錄查看一下:
cd /usr/lib/jvm
ls
可以看到,在/usr/lib/jvm目錄下有個jdk1.8.0_162目錄。
下面繼續(xù)執(zhí)行如下命令,設(shè)置環(huán)境變量:
cd ~
vim ~/.bashrc
上面命令使用vim編輯器(查看vim編輯器使用方法)打開了hadoop這個用戶的環(huán)境變量配置文件,請在這個文件的開頭位置,添加如下幾行內(nèi)容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
保存.bashrc文件并退出vim編輯器。然后,繼續(xù)執(zhí)行如下命令讓.bashrc文件的配置立即生效:
source ~/.bashrc
這時,可以使用如下命令查看是否安裝成功:
java -version
?如果能夠在屏幕上返回如下信息,則說明安裝成功:
?至此,就成功安裝了Java環(huán)境。下面就可以進入Hadoop的安裝。
七、安裝 Hadoop3.1.3
Hadoop安裝文件,可以到Hadoop官網(wǎng)下載hadoop-3.1.3.tar.gz。
也可以直接點擊這里從百度云盤下載軟件,找到hadoop-3.1.3.tar.gz文件,下載到本地。
我們選擇將 Hadoop 安裝至 /usr/local/ 中:
sudo tar -zxf ~/下載/hadoop-3.1.3.tar.gz -C /usr/local # 解壓到/usr/local中
cd /usr/local/
sudo mv ./hadoop-3.1.3/ ./hadoop # 將文件夾名改為hadoop
sudo chown -R hadoop ./hadoop # 修改文件權(quán)限
Hadoop 解壓后即可使用。輸入如下命令來檢查 Hadoop 是否可用,成功則會顯示 Hadoop 版本信息:
cd /usr/local/hadoop
./bin/hadoop version
相對路徑與絕對路徑: 請務(wù)必注意命令中的相對路徑與絕對路徑,本文后續(xù)出現(xiàn)的?./bin/...
,./etc/...
?等包含 ./ 的路徑,均為相對路徑,以 /usr/local/hadoop 為當(dāng)前目錄。例如在 /usr/local/hadoop 目錄中執(zhí)行?./bin/hadoop version
?等同于執(zhí)行?/usr/local/hadoop/bin/hadoop version
。可以將相對路徑改成絕對路徑來執(zhí)行,但如果你是在主文件夾 ~ 中執(zhí)行?./bin/hadoop version
,執(zhí)行的會是?/home/hadoop/bin/hadoop version
,就不是我們所想要的了。
八、Hadoop單機配置(非分布式)
Hadoop 默認模式為非分布式模式(本地模式),無需進行其他配置即可運行。非分布式即單 Java 進程,方便進行調(diào)試。
現(xiàn)在我們可以執(zhí)行例子來感受下 Hadoop 的運行。Hadoop 附帶了豐富的例子(運行?./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar
?可以看到所有例子),包括 wordcount、terasort、join、grep 等。
在此我們選擇運行 grep 例子,我們將 input 文件夾中的所有文件作為輸入,篩選當(dāng)中符合正則表達式 dfs[a-z.]+ 的單詞并統(tǒng)計出現(xiàn)的次數(shù),最后輸出結(jié)果到 output 文件夾中。
cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input # 將配置文件作為輸入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* # 查看運行結(jié)果
執(zhí)行成功后如下所示,輸出了作業(yè)的相關(guān)信息,輸出的結(jié)果是符合正則的單詞 dfsadmin 出現(xiàn)了1次
???????
注意,Hadoop 默認不會覆蓋結(jié)果文件,因此再次運行上面實例會提示出錯,需要先將?./output
?刪除。
rm -r ./output
九、Hadoop偽分布式配置
Hadoop 可以在單節(jié)點上以偽分布式的方式運行,Hadoop 進程以分離的 Java 進程來運行,節(jié)點既作為 NameNode 也作為 DataNode,同時,讀取的是 HDFS 中的文件。
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,偽分布式需要修改2個配置文件?core-site.xml?和?hdfs-site.xml?。Hadoop的配置文件是 xml 格式,每個配置以聲明 property 的 name 和 value 的方式來實現(xiàn)。
修改配置文件?core-site.xml?(通過 gedit 編輯會比較方便:?
gedit ./etc/hadoop/core-site.xml
),將當(dāng)中的
<configuration>
</configuration>
?修改為下面配置:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
同樣的,修改配置文件?hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
Hadoop配置文件說明:
Hadoop 的運行方式是由配置文件決定的(運行 Hadoop 時會讀取配置文件),因此如果需要從偽分布式模式切換回非分布式模式,需要刪除 core-site.xml 中的配置項。
此外,偽分布式雖然只需要配置 fs.defaultFS 和 dfs.replication 就可以運行(官方教程如此),不過若沒有配置 hadoop.tmp.dir 參數(shù),則默認使用的臨時目錄為 /tmp/hadoo-hadoop,而這個目錄在重啟時有可能被系統(tǒng)清理掉,導(dǎo)致必須重新執(zhí)行 format 才行。所以我們進行了設(shè)置,同時也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否則在接下來的步驟中可能會出錯。
配置完成后,執(zhí)行 NameNode 的格式化:
cd /usr/local/hadoop
./bin/hdfs namenode -format
成功的話,會看到 "successfully formatted" 的提示,具體返回信息類似如下:
如果在這一步時提示?Error: JAVA_HOME is not set and could not be found.?的錯誤,則說明之前設(shè)置 JAVA_HOME 環(huán)境變量那邊就沒設(shè)置好,請按教程先設(shè)置好 JAVA_HOME 變量,否則后面的過程都是進行不下去的。如果已經(jīng)按照前面教程在.bashrc文件中設(shè)置了JAVA_HOME,還是出現(xiàn)?Error: JAVA_HOME is not set and could not be found.?的錯誤,那么,請到hadoop的安裝目錄修改配置文件“/usr/local/hadoop/etc/hadoop/hadoop-env.sh”,在里面找到“export JAVA_HOME=${JAVA_HOME}”這行,然后,把它修改成JAVA安裝路徑的具體地址,比如,“export JAVA_HOME=/usr/lib/jvm/default-java”,然后,再次啟動Hadoop。
接著開啟 NameNode 和 DataNode 守護進程。
cd /usr/local/hadoop
./sbin/start-dfs.sh #start-dfs.sh是個完整的可執(zhí)行文件,中間沒有空格
若出現(xiàn)如下SSH提示,輸入yes即可。
啟動時可能會出現(xiàn)如下 WARN 提示:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable WARN 提示可以忽略,并不會影響正常使用。
啟動 Hadoop 時提示 Could not resolve hostname:
如果啟動 Hadoop 時遇到輸出非常多“ssh: Could not resolve hostname xxx”的異常情況,如下圖所示:
?這個并不是 ssh 的問題,可通過設(shè)置 Hadoop 環(huán)境變量來解決。首先按鍵盤的?ctrl + c?中斷啟動,然后在 ~/.bashrc 中,增加如下兩行內(nèi)容(設(shè)置過程與 JAVA_HOME 變量一樣,其中 HADOOP_HOME 為 Hadoop 的安裝目錄):
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
保存后,務(wù)必執(zhí)行?source ~/.bashrc
?使變量設(shè)置生效,然后再次執(zhí)行?./sbin/start-dfs.sh
?啟動 Hadoop。
啟動完成后,可以通過命令?jps
?來判斷是否成功啟動,若成功啟動則會列出如下進程: "NameNode"、"DataNode" 和 "SecondaryNameNode"(如果 SecondaryNameNode 沒有啟動,請運行 sbin/stop-dfs.sh 關(guān)閉進程,然后再次嘗試啟動嘗試)。如果沒有 NameNode 或 DataNode ,那就是配置不成功,請仔細檢查之前步驟,或通過查看啟動日志排查原因。
文章來源:http://www.zghlxwxcb.cn/news/detail-772670.html
成功啟動后,可以訪問 Web 界面?http://localhost:9870?查看 NameNode 和 Datanode 信息,還可以在線查看 HDFS 中的文件。文章來源地址http://www.zghlxwxcb.cn/news/detail-772670.html
到了這里,關(guān)于Hadoop3.1.3安裝教程_單機/偽分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!