欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在CentOS中搭建Hadoop的詳細(xì)步驟

 更新時間:2018年03月27日 09:37:01   作者:德維恩魏  
這篇文章主要介紹了在CentOS中搭建Hadoop的詳細(xì)步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

搭建說明:第一次搭建 Hadoop 的小伙伴,請嚴(yán)格按照文章中的軟件環(huán)境和步驟搭建,不一樣的版本都可能會導(dǎo)致問題。

軟件環(huán)境:

虛擬機(jī):VMware Pro14

Linux:CentOS-6.4(下載地址,下載DVD版本即可)

JDK:OpenJDK1.8.0 (強(qiáng)力建議不要使用 Oracle 公司的 Linux 版本的 JDK)

Hadoop:2.6.5(下載地址

虛擬機(jī)的安裝和Linux系統(tǒng)的安裝這里就省略了,可以參照網(wǎng)上的教程安裝,一般沒什么大問題,需要注意的是記住這里你輸入的用戶密碼,下面還要用,如下圖所示。

設(shè)置用戶密碼.jpg

用戶選擇

使用虛擬機(jī)安裝好系統(tǒng)后,可以看到登錄界面,如下圖所示。

選擇 Other ,在 Username 輸入框中輸入 root ,回車,再在 Password 輸入框中輸入你創(chuàng)建用戶時密碼。root 用戶是安裝 CentOS 自動創(chuàng)建的超級用戶,但密碼和你安裝系統(tǒng)時創(chuàng)建的普通用戶密碼是一樣的。

平時在使用 CentOS 時,并不推薦使用 root 用戶,因為該用戶具有整個系統(tǒng)的最高權(quán)限,使用該用戶可能會導(dǎo)致嚴(yán)重的后果,但前提是你對 Linux 很熟,才會誤操作。搭建 Hadoop 的大數(shù)據(jù)平臺,使用普通用戶,很多命令需要 sudo 命令來獲取 root 用戶的權(quán)限,比較麻煩,所以索性直接使用 root 用戶。

安裝SSH

集群、單節(jié)點(diǎn)模式都需要用到 SSH 登陸(類似于遠(yuǎn)程登陸,你可以登錄某臺 Linux 主機(jī),并且在上面運(yùn)行命令)。

首先確保你的 CentOS 系統(tǒng)可以正常的上網(wǎng),你可以查看桌面右上角的網(wǎng)絡(luò)圖標(biāo),若顯示紅叉則表明未聯(lián)網(wǎng),可點(diǎn)擊選擇可用網(wǎng)絡(luò),也可以使用桌面左上角的火狐瀏覽器輸入網(wǎng)址驗證是否網(wǎng)絡(luò)連接正常。如果還是無法上網(wǎng),檢查虛擬機(jī)的設(shè)置,選用 NAT 模式,或者上網(wǎng)百度解決。

檢查網(wǎng)絡(luò)狀況.jpg

確定網(wǎng)絡(luò)連接正常后,打開 CentOS 的終端,可在 CentOS 的桌面點(diǎn)擊鼠標(biāo)右鍵,選擇 Open In Terminal ,如下圖所示。

打開終端.jpg

一般情況下,CentOS 默認(rèn)已安裝了 SSH client、SSH server,可打開終端執(zhí)行如下命令進(jìn)行檢驗:

rpm -qa | grep ssh

如果返回的結(jié)果如下圖所示,包含了 SSH client 跟 SSH server,則不需要再安裝。

查看SSH是否已安裝.jpg

如果需要安裝,則可以通過 yum 這個包管理器進(jìn)行安裝。(安裝過程中會讓你輸入 [y/N],輸入 y 即可)

注意:命令是單條執(zhí)行的,不是直接把兩條命令粘貼過去。

終端中的粘貼可通過鼠標(biāo)點(diǎn)擊右鍵選擇 Paste 粘貼,也可通過快捷鍵 【Shift + Insert】粘貼。

yum install openssh-clients
yum install openssh-server

SSH安裝完成后,執(zhí)行如下命令測試一下 SSH 是否可用(SSH首次登陸提示 yes/no 信息,輸入 yes 即可,然后按照提示輸入 root 用戶的密碼,這樣就登錄到本機(jī)了),如下圖所示。

首次登錄SSH.jpg

但這樣登陸需要每次都輸入密碼,我們需要配置成SSH無密碼登陸比較方便。

首先輸入 exit 退出剛才的 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)
chmod 600 ./authorized_keys # 修改文件權(quán)限

此時再用 ssh localhost 命令,無需輸入密碼就可以直接登陸了,如下圖所示。

再次登錄SSH.jpg

安裝 Java 環(huán)境

Java 環(huán)境可選擇 Oracle 的 JDK,或是 OpenJDK(可看作 JDK 的開源版本),現(xiàn)在一般 Linux 系統(tǒng)默認(rèn)安裝的基本是 OpenJDK,這里安裝的是 OpenJDK1.8.0版本的。

有的 CentOS 6.4 默認(rèn)安裝了 OpenJDK 1.7,這里我們可以使用命令檢查一下,和 Windows 下的命令一樣,還可以查看 JAVA_HOME 這個環(huán)境變量的值。

java -version     # 查看 java 的版本
javac -version    # 查看編譯命令 Javac 的版本
echo $JAVA_HOME    # 查看 $JAVA_HOME 這個環(huán)境變量的值

如果系統(tǒng)沒有安裝 OpenJDK,我們可以通過 yum 包管理器來安裝。(安裝過程中會讓輸入 [y/N],輸入 y 即可)

復(fù)制代碼 代碼如下:

yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel  #安裝 openjdk1.8.0

通過上述命令安裝 OpenJDK,默認(rèn)安裝位置為 /usr/lib/jvm/java-1.8.0,下面配置 JAVA_HOME 時就使用這個位置。

接著需要配置一下 JAVA_HOME 環(huán)境變量,為了方便,直接在 ~/.bashrc 中進(jìn)行設(shè)置,相當(dāng)于配置的是 Windows 的用戶環(huán)境變量,只對單個用戶生效,當(dāng)用戶登錄后,每次打開 shell 終端,.bashrc 文件都會被讀取。

修改文件,可以直接使用 vim 編輯器打開文件,也可以使用類似于 Windows 記事本的 gedit 文本編輯器。

下面命令任選其一。

vim ~/.bashrc    # 使用 vim 編輯器在終端中打開 .bashrc 文件
gedit ~/.bashrc    # 使用 gedit 文本編輯器打開 .bashrc 文件

在文件最后面添加如下單獨(dú)一行(指向 JDK 的安裝位置),并 保存 。

配置JAVA_HOME環(huán)境變量.jpg

接著還需要讓該環(huán)境變量生效,執(zhí)行如下命令。

source ~/.bashrc    # 使變量設(shè)置生效

設(shè)置好后我們來檢驗一下是否設(shè)置正確,如下圖所示。

echo $JAVA_HOME  # 檢驗變量值
java -version
javac -version
$JAVA_HOME/bin/java -version # 與直接執(zhí)行 java -version 一樣

檢查JAVA_HOME環(huán)境變量是否配置正確.jpg

這樣,Hadoop 所需的 Java 運(yùn)行環(huán)境就安裝好了。

安裝 Hadoop

在前面 軟件環(huán)境 已經(jīng)給出了 hadoop2.6.5 的下載地址,可以直接通過火狐瀏覽器打開下載,默認(rèn)下載位置是在用戶的 Home 中的 Downloads 文件夾下,如下圖所示。

下載Hadoop.jpg

下載完成后,我們將 Hadoop 解壓到 /usr/local/ 中。

tar -zxf ~/下載/hadoop-2.6.5.tar.gz -C /usr/local # 解壓到/usr/local目錄中
cd /usr/local/       # 切換當(dāng)前目錄為 /usr/local 目錄
mv ./hadoop-2.6.5/ ./hadoop   # 將文件夾名改為hadoop
chown -R root:root ./hadoop   # 修改文件權(quán)限,root 是當(dāng)前用戶名

Hadoop 解壓后即可使用,輸入如下命令來檢查 Hadoop 是否可用,成功則會顯示 Hadoop 版本信息。

cd /usr/local/hadoop     # 切換當(dāng)前目錄為 /usr/local/hadoop 目錄
./bin/hadoop version     # 查看 Hadoop 的版本信息

或者直接輸入 hadoop version 命令也可以查看。

hadoop version       # 查看 Hadoop 的版本信息

查看Hadoop版本信息.jpg

Hadoop 安裝方式有三種,分別是單機(jī)模式,偽分布式模式,分布式模式。

單機(jī)模式:Hadoop 默認(rèn)模式為非分布式模式(本地模式),無需進(jìn)行其他配置即可運(yùn)行。非分布式即單 Java 進(jìn)程,方便進(jìn)行調(diào)試。

偽分布式模式:Hadoop 可以在單節(jié)點(diǎn)上以偽分布式的方式運(yùn)行,Hadoop 進(jìn)程以分離的 Java 進(jìn)程來運(yùn)行,節(jié)點(diǎn)既作為 NameNode 也作為 DataNode,同時,讀取的是 HDFS 中的文件。

分布式模式:使用多個節(jié)點(diǎn)構(gòu)成集群環(huán)境來運(yùn)行Hadoop,需要多臺主機(jī),也可以是虛擬主機(jī)。

Hadoop 偽分布式配置

現(xiàn)在我們就可以來使用 Hadoop 運(yùn)行一些例子,Hadoop 附帶了很多的例子,可以運(yùn)行 hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar 看到所有的例子。

我們這里來運(yùn)行一個查詢的例子,將 input 文件夾作為輸入文件夾,篩選當(dāng)中符合正則表達(dá)式 dfs[a-z.]+ 的單詞,統(tǒng)計它的次數(shù),將篩選結(jié)果輸出到 output 文件夾中。

cd /usr/local/hadoop  # 切換當(dāng)前目錄為 /usr/local/hadoop 目錄
mkdir ./input    # 在當(dāng)前目錄下創(chuàng)建 input 文件夾
cp ./etc/hadoop/*.xml ./input # 將 hadoop 的配置文件復(fù)制到新建的輸入文件夾 input 中
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+' 
cat ./output/*    # 查看輸出結(jié)果

通過命令 cat ./output/* 查看結(jié)果,符合正則的單詞 dfsadmin 出現(xiàn)了 1次。

運(yùn)行測試Hadoop例子.jpg

若運(yùn)行出錯,如出現(xiàn)如下圖提示。

運(yùn)行Hadoop例子出錯.jpg

若出現(xiàn)提示 “WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable”,該 WARN 提示可以忽略,不影響 Hadoop 正常運(yùn)行。

注意:Hadoop 默認(rèn)不會覆蓋結(jié)果文件,因此再次運(yùn)行上面實例會提示出錯,需要先將 output 文件夾刪除。

rm -rf ./output  # 在 /usr/local/hadoop 目錄下執(zhí)行

測試我們的 Hadoop 安裝沒有問題,我們可以開始設(shè)置 Hadoop 的環(huán)境變量,同樣在 ~/.bashrc 文件中配置。

gedit ~/.bashrc # 使用 gedit 文本編輯器打開 .bashrc 文件

在 .bashrc 文件最后面增加如下內(nèi)容,注意 HADOOP_HOME 的位置對不對,如果都是按照前面的配置,這部分可照抄。

# Hadoop Environment Variables
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

Hadoop環(huán)境變量的配置.jpg

保存后記得關(guān)掉 gedit 程序,否則會占用終端,無法執(zhí)行下面的命令,可以按 【Ctrl + C】鍵終止該程序。

保存后,不要忘記執(zhí)行如下命令使配置生效。

source ~/.bashrc

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 下,偽分布式需要修改2個配置文件 core-site.xmlhdfs-site.xml 。Hadoop的配置文件是 xml 格式,每個配置以聲明 property 的 name 和 value 的方式來實現(xiàn)。

修改配置文件 core-site.xml (通過 gedit 編輯會比較方便,輸入命令, gedit ./etc/hadoop/core-site.xml )。

<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 , gedit ./etc/hadoop/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>

配置完成后,執(zhí)行 NameNode 的格式化。(Hadoop 首次啟動需要該命令)

hdfs namenode -format

成功的話,會看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若為 “Exitting with status 1” 則是出錯。

NameNode格式化.jpg

接下來啟動 Hadoop。

start-dfs.sh  # 開啟 NameNode 和 DataNode 進(jìn)程

若出現(xiàn)如下 SSH 的提示 “Are you sure you want to continue connecting”,輸入 yes 即可。

啟動Hadoop注意事項.jpg

啟動完成后,可以通過命令 jps 來判斷是否成功啟動,若出現(xiàn)下面 NameNode、DataNode、SecondaryNameNode、Jps 四個進(jìn)程,則 Hadoop 啟動成功。

jps  # 查看進(jìn)程判斷 Hadoop 是否啟動成功

判斷Hadoop是否啟動成功.jpg

成功啟動后,也可以訪問 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,還可以在線查看 HDFS 中的文件。

Hadoop正常啟動Web界面.jpg

啟動YARN

YARN 是從 MapReduce 中分離出來的,負(fù)責(zé)資源管理與任務(wù)調(diào)度。YARN 運(yùn)行于 MapReduce 之上,提供了高可用性、高擴(kuò)展性。(偽分布式不啟動 YARN 也可以,一般不會影響程序執(zhí)行)

上述通過 start-dfs.sh 命令啟動 Hadoop,僅僅是啟動了 MapReduce 環(huán)境,我們可以啟動 YARN ,讓 YARN 來負(fù)責(zé)資源管理與任務(wù)調(diào)度。

首先修改配置文件 mapred-site.xml ,需要先將 mapred-site.xml.template 文件的重命名為 mapred-site.xml。

mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml # 文件重命名
gedit ./etc/hadoop/mapred-site.xml         # 用gedit 文本編輯器打開
<configuration>
 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
</configuration>

接著修改配置文件 yarn-site.xml

gedit ./etc/hadoop/yarn-site.xml # 用gedit 文本編輯器打開
<configuration>
 <property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 </property>
</configuration>

然后就可以啟動 YARN 了,執(zhí)行 start-yarn.sh 命令。

注意:在啟動 YARN 之前,要確保 dfs Hadoop 已經(jīng)啟動,也就是執(zhí)行過 start-dfs.sh 。

start-yarn.sh   # 啟動YARN
mr-jobhistory-daemon.sh start historyserver # 開啟歷史服務(wù)器,才能在Web中查看任務(wù)運(yùn)行情況

開啟后通過 jps 查看,可以看到多了 NodeManager 和 ResourceManager 兩個進(jìn)程,如下圖所示。

啟動YARN.jpg

啟動 YARN 之后,運(yùn)行實例的方法還是一樣的,僅僅是資源管理方式、任務(wù)調(diào)度不同。啟動 YARN 有個好處是可以通過 Web 界面查看任務(wù)的運(yùn)行情況: http://localhost:8088/cluster 如下圖所示。

YARN的Web界面.jpg

YARN 主要是為集群提供更好的資源管理與任務(wù)調(diào)度,如果不想啟動 YARN,務(wù)必把配置文件 mapred-site.xml 重命名,改成 mapred-site.xml.template,需要用時改回來就行。否則在該配置文件存在,而未開啟 YARN 的情況下,運(yùn)行程序會提示 “Retrying connect to server: 0.0.0.0/0.0.0.0:8032” 的錯誤,這也是為何該配置文件初始文件名為 mapred-site.xml.template。

關(guān)閉 YARN 的命令如下,開啟是 start,關(guān)閉是 stop。

stop-yarn.sh
mr-jobhistory-daemon.sh stop historyserver

在平時的學(xué)習(xí)中,我們使用偽分布式就足夠了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux CentOS7 用戶組管理方式

    Linux CentOS7 用戶組管理方式

    這篇文章主要介紹了Linux CentOS7 用戶組管理方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 2018值得選用的五個Linux服務(wù)器發(fā)行版

    2018值得選用的五個Linux服務(wù)器發(fā)行版

    Linux發(fā)行版很少互相復(fù)制。從以下5個最流行的Linux服務(wù)器發(fā)行版來看,這一點(diǎn)很明顯,它們各有不同的優(yōu)缺點(diǎn),這篇文章給大家?guī)砹?018值得選用的五個Linux服務(wù)器發(fā)行版,需要的朋友參考下吧
    2018-01-01
  • 關(guān)于CentOS 7下sqlite3找不到的問題解決

    關(guān)于CentOS 7下sqlite3找不到的問題解決

    這篇文章主要給大家介紹了關(guān)于CentOS 7下sqlite3找不到問題的解決方法,文中介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-07-07
  • CentOS8 yum/dnf 配置國內(nèi)源的方法

    CentOS8 yum/dnf 配置國內(nèi)源的方法

    這篇文章主要介紹了CentOS8 yum/dnf 配置國內(nèi)源的方法,需要的朋友可以參考下
    2019-10-10
  • Linux 字符設(shè)備驅(qū)動框架詳細(xì)介紹

    Linux 字符設(shè)備驅(qū)動框架詳細(xì)介紹

    這篇文章主要介紹了Linux 字符設(shè)備驅(qū)動框架詳細(xì)介紹的相關(guān)資料,字符設(shè)備就是字節(jié)流形式通訊的I/O設(shè)備,絕大部分設(shè)備都是字符設(shè)備,這里提供簡單的實例,需要的朋友可以參考下
    2016-12-12
  • linux?wget下載tomcat方式

    linux?wget下載tomcat方式

    這篇文章主要介紹了linux?wget下載tomcat方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • centos下root運(yùn)行Elasticsearch異常問題解決

    centos下root運(yùn)行Elasticsearch異常問題解決

    這篇文章主要介紹了centos下root運(yùn)行Elasticsearch異常問題解決的相關(guān)資料,Elasticsearch異常問題解決辦法詳細(xì)介紹,需要的朋友可以參考下
    2016-11-11
  • linux下vi(vim)的新的用法總結(jié)

    linux下vi(vim)的新的用法總結(jié)

    在本篇文章里,我們給大家整理了一篇關(guān)于linux下vi(vim)的新的用法,有此需要的朋友們可以學(xué)習(xí)下。
    2019-11-11
  • linux中目錄與路徑常見相關(guān)命令

    linux中目錄與路徑常見相關(guān)命令

    在linux系統(tǒng)中操作文件,不像windows那么直觀,下面整理了一下Linux中的一些文件目錄與路徑的基本命令,需要的朋友參考下
    2017-04-04

最新評論