【Hadoop】Ubuntu 16.04 VMware hadoop 2.7.4 集群安裝

一、前言

hadoop 在分布式計算攀唯,大數(shù)據(jù)領(lǐng)域一直享有盛名,也零零碎碎看過一些 hadoop 相關(guān)的東西渴丸,但卻沒有真正實戰(zhàn)過侯嘀,一是工作還暫時未涉及到 hadoop ,二是安裝 hadoop 集群沒有那個硬件基礎(chǔ)谱轨。

現(xiàn)在換了一個內(nèi)存大點的電腦戒幔,不能浪費這個資源,于是便來搭個 hadoop 集群吧土童。

二诗茎、hadoop 集群環(huán)境

這里準備3個虛擬機節(jié)點。

我是用 VMware10 虛擬了一個 Ubuntu16.04 環(huán)境献汗,然后再克隆兩個 Ubuntu16.04 節(jié)點環(huán)境敢订。

因為是在同一臺機器上搭建 hadoop 集群,所以虛擬機網(wǎng)絡(luò)設(shè)置是NAT模式罢吃。(Vmware虛擬機三種網(wǎng)絡(luò)模式詳解

三個節(jié)點準備好楚午,通過 ifconfig 命令查看 ip , 三個節(jié)點的 ip 分別為:

192.168.184.131
192.168.184.133
192.168.184.134

這里打算 131 當(dāng)作 master 節(jié)點尿招,用于運行hadoop程序中的namenode矾柜、secondorynamenode和jobtracker任務(wù)。 133 和 134 當(dāng)作 slave 節(jié)點就谜,主要將運行hadoop程序中的datanode和tasktracker任務(wù)怪蔑。

在準備好這3個結(jié)點之后,分別將主機名重命名丧荐,命名主機名的方法饮睬,修改 /etc/hostname 文件:

gedit /etc/hostname

我這里對三個節(jié)點分別命名為:master, slave1, slave2。

三篮奄、搭建過程記錄

在做好上述準備后捆愁,正式開始。

3.1窟却、創(chuàng)建 hadoop 賬戶

首先創(chuàng)建 hadoop 賬戶昼丑,并配置管理員權(quán)限。

安裝 Hadoop 那么需要創(chuàng)建一個 Hadoop 用戶夸赫,畢竟創(chuàng)建一個新的用戶菩帝,配置環(huán)境相對更加干凈一些。

創(chuàng)建一個hadoop 用戶,并使用 /bin/bash作為shell:

sudo useradd -m hadoop -s /bin/bash

設(shè)置密碼:

sudo passwd hadoop

增加管理員權(quán)限:

sudo adduser hadoop sudo

三個節(jié)點都執(zhí)行相同操作呼奢。

3.2宜雀、配置hosts文件

配置 hosts 文件主要用于確定每個結(jié)點的 IP 地址,方便后續(xù) master 結(jié)點能快速查到并訪問各個結(jié)點握础。

三個節(jié)點都需要修改辐董,內(nèi)容一致,如下:

sudo gedit /etc/hosts

3.3禀综、配置ssh免密碼連入

1.Hadoop 中的集群简烘,單點模式是需要使用到SSH登錄,Ubuntu默認參數(shù)了 SSH client定枷, 還需要安裝SSH Server:

sudo apt-get update
sudo apt-get install openssh-server

2.安裝之后就可以使用 SSH 登錄本機孤澎,生成 master 的公鑰,在 master 節(jié)點終端運行:

ssh localhost # 使用此命令登錄一次 (會輸入一次 yes)欠窒,用于生成 ~/.ssh 目錄

cd ~/.ssh

ssh-keygen -t rsa # 執(zhí)行此命令后一直按回車即可覆旭,會在 ~/.ssh 下生成 id_rsa 私鑰文件 和 id_rsa.pub 公鑰文件。

3.在 master 節(jié)點配置無密碼 ssh 本機岖妄,這一步還是在 master 節(jié)點上運行:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 加入授權(quán)

4.完成此命令后型将,運行 ssh 驗證一下

ssh localhost

此時不需密碼驗證。

5.讓主結(jié)點(master)能通過SSH免密碼登錄兩個子結(jié)點(slave)

前四步可以讓 master ssh 本機無密碼登錄衣吠,還需讓 master ssh 免密登錄兩個 slave 節(jié)點茶敏,為了實現(xiàn)這個功能壤靶,兩個slave結(jié)點的公鑰文件中必須要包含主結(jié)點的公鑰信息缚俏。

切換到 slave1 節(jié)點,拷貝 master 節(jié)點公鑰信息:

scp hadoop@master:~/.ssh/id_rsa.pub ./master_isa.pub

接著在 slave1 節(jié)點上將 master 的 ssh 公匙保存到相應(yīng)位置:

cat ~/.ssh/master_isa.pub >> ~/.ssh/authorized_keys

然后 切回到 master 節(jié)點:

ssh slave1

首次需要 yes 確認贮乳。

6.然后 slave2 執(zhí)行同樣的操作忧换。

3.4、配置 JDK

三個節(jié)點都要安裝 JDK向拆,也可以將這步挪到前面亚茬,先裝好一個節(jié)點的 JDK,然后克隆其他的節(jié)點浓恳。

具體安裝參考:https://www.zybuluo.com/w1992wishes/note/1207973

安裝好后刹缝,并配置相應(yīng)的環(huán)境變量。

3.5颈将、安裝 hadoop

1.首先下載 hadoop 相應(yīng)版本梢夯,可以到如下路徑查找 hadoop 各版本:

https://archive.apache.org/dist/hadoop/common/

將下載的壓縮包解壓:

sudo tar -zxvf /opt/hadoop-2.7.4.tar.gz
mv hadoop-2.7.4 hadoop # 改名

2.添加 Hadoop 環(huán)境變量:

sudo gedit /etc/profile

保存后使配置生效:

source /etc/profile

hadoop # 查看Hadoop
hadoop version # 查看 hadoop 的安裝版本

3.6、配置 hadoop 相關(guān)文件:

操作之前關(guān)閉每臺機器的防火墻 sudo ufw disable晴圾。

1.編輯 hadoop-env.sh颂砸,配置 hadoop JDK 依賴:

gedit hadoop-env.sh 

2.配置 slaves:

gedit slaves

保存所有的 slave 節(jié)點 (slave1、slave2),將文件首行的 localhost 刪除人乓。

3.配置 core-site.xml:

core-site.xml 配置集群的全局參數(shù)勤篮,主要定義了系統(tǒng)級別的參數(shù),如 :HDFS URL色罚、Hadoop 的臨時目錄等信息碰缔。

gedit core-site.xml

<configuration> </configuration> 標(biāo)簽里面添加如下內(nèi)容:

<property>
    <!-- 指定 HDFS 的 nameService,與(hdfs-site.xml)對應(yīng) -->
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<property>
    <!-- 指定 hadoop 運行時產(chǎn)生文件的存儲路徑 -->
    <name>hadoop.tmp.dir</name>
    <value>file:/opt/hadoop/hadoop_tmp</value>
    <description>Abase for other temporary directories.</description>
</property>

4.配置 hdfs-site.xml:

gedit hdfs-site.xml

<configuration> </configuration> 標(biāo)簽里面添加如下內(nèi)容:

<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:50090</value>
</property>
<property>
    <!-- 文件的副本數(shù)保屯,默認為 3手负;這里只有兩臺 DataNode  所以這里設(shè)置為 2 -->
    <name>dfs.replication</name>
    <value>2</value>
</property>
<property>
    <!-- NameNode 數(shù)據(jù)目錄 -->
    <name>dfs.namenode.name.dir</name>
    <value>file:/opt/hadoop/hadoop_tmp/dfs/name</value>
</property>
<property>
    <!-- DataNode 數(shù)據(jù)目錄 -->
    <name>dfs.datanode.data.dir</name>
    <value>file:/opt/hadoop/hadoop_tmp/dfs/data</value>
</property>

這之后創(chuàng)建 name 和 data 目錄:

cd /opt/hadoop
mkdir -p hadoop_tmp/dfs/name # -p 代表遞歸創(chuàng)建目錄
cd hadoop_tmp/dfs/
mkdir data

5.配置 yarn-site.xml:

gedit yarn-site.xml 

<configuration> </configuration> 標(biāo)簽里面添加如下內(nèi)容:

<property>
    <!-- 指定 YARN 的 ResourceManager 的地址,NameNode 節(jié)點中的一個 -->
    <name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
<property>
    <!-- reducer 取數(shù)據(jù)的方式是 mapreduce_shuffle -->
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
    <name>yarn.resourcemanager.address</name>
    <value>master:8032</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value>
</property>
<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8031</value>
</property>
<property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8088</value>
</property>

6.配置 mapred-site.xml:

默認文件名為 mapred-site.xml.template姑尺,配置這個文件前竟终,需要將這個文件重命名:

mv mapred-site.xml.template mapred-site.xml
gedit mapred-site.xml
<property>
    <!-- 通知框架 MR 使用 YARN -->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:19888</value>
</property>

3.7、Hadoop 集群

將 Hadoop 分發(fā)切蟋,在 master 機器配置完成以后统捶, 將 /opt/hadoop 文件夾復(fù)制到各個節(jié)點上:

先在 master 節(jié)點壓縮:

cd /opt/hadoop
sudo tar czvf hadoop.master.tar.gz hadoop/

然后切到 slave 節(jié)點:

scp hadoop@master:/opt/hadoop.master.tar.gz /opt
sudo tar xzvf hadoop.master.tar.gz

解壓后配置 hadoop 環(huán)境變量,然后 hadoop version 驗證一下柄粹。

至此喘鸟,如果集群已經(jīng)安裝完畢。

四驻右、運行 Hadoop 集群

1.首次啟動需要先在 master 節(jié)點執(zhí)行 namenode 的格式化:

cd /opt/hadoop/bin
hdfs namenode -format # 格式化文件系統(tǒng)

2.當(dāng)格式化通過之后什黑,就可以啟動 hadoop 了,啟動必須在 master 節(jié)點上運行:

start-dfs.sh

通過 jps 查看堪夭,master 節(jié)點至少有三個進程愕把, slave1 和 slave2 至少有 2 個:

通過 web 界面查看是否配置成功,在瀏覽器中輸入http://192.168.184.131:50070:

3.啟動 strat-yarn.sh:

start-yarn.sh

通過 hdfs dfsadmin -report 命令森爽,查看集群是否正常啟動:

hdfs dfsadmin -report

4.可選啟動命令 mr-jobhistory-daemon.sh start historyserver:

這個腳本的服務(wù)是實現(xiàn) web 查看作業(yè)的歷史運行情況恨豁,有些情況下,作業(yè)運行完了爬迟,在 web 端就無法查看運行情況橘蜜,可以通過開啟這個的守護進程來達到查看歷史任務(wù)。

5.關(guān)閉集群:

# 關(guān)閉集群的操作必須在 hadoop20 執(zhí)行
stop-yarn.sh
stop-dfs.sh             # 單獨啟動 HDFS 集群
start-mapred.sh    # 單獨啟動 Map/Reduce 
start-all.sh             # 同時啟動HDFS和Map/Reduce
mr-jobhistory-daemon.sh stop historyserver

# 從主節(jié)點 master 關(guān)閉 hadoop付呕,主節(jié)點會關(guān)閉所有從節(jié)點的 NameNode 進程
stop-all.sh

五计福、附:HDFS 常用操作

hadoop fs -ls 
# 列出HDFS下的文件

hadoop fs -mkdir /input
# 在 HDFS / 目錄下創(chuàng)建 input 文件夾

hadoop fs -ls /input 
# 列出 HDFS 下某個文檔中的文件

hadoop fs -put test1.txt /input/test 
# 上傳文件到指定 HDFS /input 目錄下并重新命名,只有所有的 DataNode 都接收完數(shù)據(jù)才算成功

hadoop fs -get /in getin 
# 從 HDFS 獲取文件并且重新命名為 getin徽职,同 put 一樣可操作文件也可操作目錄

hadoop fs -rmr /output
# 從 HDFS 上刪除指定文件

hadoop fs -cat /input/* 
# 查看 HDFS 上 input 目錄的內(nèi)容

hdfs dfsadmin -report 
# 查看 HDFS 的基本統(tǒng)計信息

hdfs dfsadmin -safemode enter # 進入安全模式
hdfs dfsadmin -safemode leave # 退出安全模式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末勉耀,一起剝皮案震驚了整個濱河市躯砰,隨后出現(xiàn)的幾起案子靴姿,更是在濱河造成了極大的恐慌涯冠,老刑警劉巖可款,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異克蚂,居然都是意外死亡闺鲸,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門埃叭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來摸恍,“玉大人,你說我怎么就攤上這事赤屋×⑾猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵类早,是天一觀的道長媚媒。 經(jīng)常有香客問我,道長涩僻,這世上最難降的妖魔是什么缭召? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮逆日,結(jié)果婚禮上嵌巷,老公的妹妹穿的比我還像新娘。我一直安慰自己室抽,他們只是感情好搪哪,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著坪圾,像睡著了一般晓折。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上神年,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天已维,我揣著相機與錄音行嗤,去河邊找鬼已日。 笑死,一個胖子當(dāng)著我的面吹牛栅屏,可吹牛的內(nèi)容都是我干的飘千。 我是一名探鬼主播,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼栈雳,長吁一口氣:“原來是場噩夢啊……” “哼护奈!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起哥纫,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤霉旗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厌秒,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡读拆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸵闪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片檐晕。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蚌讼,靈堂內(nèi)的尸體忽然破棺而出辟灰,到底是詐尸還是另有隱情,我是刑警寧澤篡石,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布芥喇,位于F島的核電站,受9級特大地震影響凰萨,放射性物質(zhì)發(fā)生泄漏乃坤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一沟蔑、第九天 我趴在偏房一處隱蔽的房頂上張望湿诊。 院中可真熱鬧,春花似錦瘦材、人聲如沸厅须。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽朗和。三九已至,卻和暖如春簿晓,著一層夾襖步出監(jiān)牢的瞬間眶拉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工憔儿, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留忆植,地道東北人。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓谒臼,卻偏偏與公主長得像朝刊,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蜈缤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容

  • 文/胡晨川我是Linux外行拾氓,hadoop外行,java更外行底哥,Scala聽也沒聽過咙鞍,在我腦海中房官,Spark一直只...
    老樹之見閱讀 5,843評論 3 39
  • 版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載续滋。 目錄-[-]1 先決條件2 實驗環(huán)境搭建 21 準備工...
    三三At你閱讀 841評論 0 3
  • Hadoop 集群的安裝配置大致為如下流程: 選定一臺機器作為 Master 在 Master 節(jié)點上配置 had...
    Spike_3154閱讀 5,293評論 0 1
  • 一易阳、系統(tǒng)參數(shù)配置優(yōu)化 1、系統(tǒng)內(nèi)核參數(shù)優(yōu)化配置 修改文件/etc/sysctl.conf吃粒,添加如下配置潦俺,然后執(zhí)行s...
    張偉科閱讀 3,754評論 0 14
  • 對于絕大多數(shù)的普通人來說,我們的日子過得可以說是滿足溫飽有所追求的樣子徐勃,絕大多數(shù)人也沒有因為工作或者收入原因?qū)е卢F(xiàn)...
    詹迅閱讀 276評論 0 0