hadoop日記2——安裝分布式hadoop2.7.3

系統(tǒng):ubuntu 16.04缤底、Apache hadoop2.7.3
教程適用于hadoop2.0以上的系統(tǒng)
教程使用兩個節(jié)點作為集群環(huán)境: 一個作為 Master 節(jié)點,局域網(wǎng) IP 為 192.168.1.100;另一個作為 Slave 節(jié)點渺尘,局域網(wǎng) IP 為 192.168.1.101。

hadoop安裝對于熟悉linux系統(tǒng)的人來說難度系數(shù)會大大的降低,教程比較適合不懂linux的新手昌抠。

安裝流程

  1. 安裝linux ubuntu系統(tǒng)(我安裝了linux桌面)
  2. 創(chuàng)建hadoop用戶
  3. 更新apt
  4. 安裝vim或者gedit
  5. 配置hosts和hostname
  6. 安裝SSH、配置SSH無密碼登錄
  7. 安裝java 環(huán)境
  8. 安裝hadoop2
  9. 配置hadoop2集群/分布式環(huán)境
  10. hadoop2異常說明

安裝linux ubuntu系統(tǒng)

ubuntu桌面版下載地址(linux新手推薦用桌面版比較容易上手)
http://www.ubuntu.com/download/desktop/

LTS表示 Long Term Support 鲁僚,長期支持炊苫,linux建議安裝LTS的

具體安裝教程如下(這個教程感覺講的很詳細)
http://www.jb51.net/os/windows/298507.html

創(chuàng)建hadoop用戶

這一步可以省略,如果你的linux系統(tǒng)已經(jīng)有了別的用戶
linux命令

sudo useradd -m hadoop -s /bin/bash  #這條命令創(chuàng)建了可以登陸的 hadoop 用戶冰沙,并使用 /bin/bash 作為 shell
sudo passwd hadoop  #設(shè)置密碼侨艾,按提示輸入兩次密碼
sudo adduser hadoop sudo  #為 hadoop 用戶增加管理員權(quán)限,方便部署拓挥,避免一些對新手來說比較棘手的權(quán)限問題

最后注銷當(dāng)前用戶(點擊屏幕右上角的齒輪唠梨,選擇注銷),在登陸界面使用剛創(chuàng)建的 hadoop 用戶進行登陸

更新apt

linux命令

sudo apt-get update  #更新apt

安裝vim或者gedit

新手推薦安裝gedit撞叽,比較符合windows操作習(xí)慣
安裝命令

sudo apt-get install vim  #安裝vim
sudo apt-get install gedit  #安裝gedit

后續(xù)需要更改一些配置文件姻成,會用到vim或者gedit插龄,請根據(jù)個人喜歡自行使用

配置hosts和hostname
配置以后方便管理,同時可以使用主機名來訪問局域網(wǎng)里的其它主機

sudo vim /etc/hosts  #配置hosts

例如本教程使用兩個節(jié)點的名稱與對應(yīng)的 IP 關(guān)系如下:

192.168.1.100   Master
192.168.1.101   Slave1
sudo vim /etc/hostname  #配置hostname

例如本教程將192.168.1.100的主機名改成Master科展,將192均牢。168.1.101改成Salve1
此時應(yīng)該重啟下系統(tǒng)

安裝SSH配置SSH無密碼登錄

集群、單節(jié)點模式都需要用到 SSH 登陸(master)才睹,Ubuntu 默認已安裝了 SSH client徘跪,此外還需要安裝 SSH server

sudo apt-get install openssh-server  #安裝SSH server
ssh localhost  #使用命令登錄本機,此時會有SSH首次登陸提示琅攘,輸入 yes 垮庐。然后按提示輸入密碼,這樣就登陸到本機了坞琴,然后輸入【exit】退出

配置SSH無密碼登錄
利用 ssh-keygen 生成密鑰

cd ~/.ssh/  #若沒有該目錄哨查,請先執(zhí)行一次ssh localhost
ssh-keygen -t rsa  #會有提示,都按回車就可以剧辐,最后可以輸入ls命令查看目錄下的文件

讓 Master 節(jié)點需能無密碼 SSH 本機寒亥,在 Master 節(jié)點上執(zhí)行:

cat ./id_rsa.pub >> ./authorized_keys  #完成后可執(zhí)行 ssh Master,就可以無密碼登錄到本地荧关,驗證以后記得輸入exit溉奕,返回原來終端

在Master 節(jié)點上將公匙id_rsa.pub傳輸?shù)?Slave1 節(jié)點:

scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/  #這里將公鑰放在了Slave1節(jié)點/home/hadoop/目錄下,scp 是 secure copy 的簡寫忍啤,用于在 Linux 下進行遠程拷貝文件加勤,類似于 cp 命令,不過 cp 只能在本機中拷貝同波。

在 Slave1 節(jié)點上鳄梅,將 ssh 公匙加入授權(quán):

mkdir ~/.ssh       # 如果不存在該文件夾需先創(chuàng)建,若已存在則忽略
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub    # 用完就可以刪掉了

最好可以在Master節(jié)點通過ssh Slave1命令來測試下是否可以無密碼登錄到Salve1節(jié)點上

安裝java環(huán)境

下載oracle JDK参萄,可以通過https://wiki.apache.org/hadoop/HadoopJavaVersions 查看要hadoop支持哪些版本JDK

安裝

sudo tar -zxf {jdk存放的目錄}/jdk-xxx.linux.tar.gz -C /usr/local    # 解壓到/usr/local中

配置Javahome

sudo gedit /etc/profile  #打開配置文件

在打開的文件末尾加入如下變量卫枝,然后保存

export JAVA_HOME={jdk安裝目錄}  #例如/usr/local/java/jdk1.8.0_111
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

校驗是否配置成功

echo $JAVA_HOME     # 檢驗變量值
java -version
$JAVA_HOME/bin/java -version  # 與直接執(zhí)行 java -version 一樣
出現(xiàn)如下提示表示配置成功,如果無反映可以嘗試重啟系統(tǒng)

安裝hadoop2
我們將hadoop2安裝在Master主機上面讹挎,一切配置好之后校赤,把hadoop2直接復(fù)制到Slave1主機上面即可
下面的操作都是在Master主機上進行的

下載hadoop2
Hadoop2可以通過http://mirror.bit.edu.cn/apache/hadoop/common/ 或者 http://mirrors.cnnic.cn/apache/hadoop/common/ 下載,一般選擇下載最新的穩(wěn)定版本筒溃,即下載 “stable” 下的 hadoop-2.x.y.tar.gz 這個格式的文件马篮,這是編譯好的,另一個包含 src 的則是 Hadoop 源代碼怜奖,需要進行編譯才可使用浑测。

hadoop-2.7.3.tar.gz是我們要下載的文件

安裝hadoop2

sudo tar -zxf {hadoop下載路徑}/hadoop-2.7.3.tar.gz -C /usr/local    # 解壓到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.7.3/ ./hadoop            # 將文件夾名改為hadoop
sudo chown -R hadoop ./hadoop       # 修改文件權(quán)限

校驗hadoop2是否安裝成功

cd /usr/local/hadoop
./bin/hadoop version

看到這個信息表示hadoop2安裝成功

配置hadoop環(huán)境變量
將 Hadoop 安裝目錄加入 PATH 變量中,這樣就可以在任意目錄中直接使用 hadoo、hdfs 等命令了迁央。首先執(zhí)行 sudo gedit /etc/profile
修改PATH掷匠,在PATH末尾加入:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
加上之前配置的java環(huán)境,最好的PATH如下

export PATH=$PATH:$JAVA_HOME/bin:/usr/local/hadoop/bin:/usr/local/hadoop/sbin

配置hadoop2集群/分布式環(huán)境岖圈,在Master主機上進行配置

集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5個配置文件讹语,更多設(shè)置項可點擊查看官方說明,這里僅設(shè)置了正常啟動所必須的設(shè)置項: slaves蜂科、core-site.xml顽决、hdfs-site.xml、mapred-site.xml导匣、yarn-site.xml
官方文檔地址【2.7.3doc】:http://hadoop.apache.org/docs/r2.7.3/

  1. 文件 slaves才菠,將作為 DataNode 的主機名寫入該文件,每行一個贡定,默認為 localhost赋访,所以在偽分布式配置時,節(jié)點即作為 NameNode 也作為 DataNode厕氨。分布式配置可以保留 localhost进每,也可以刪掉,讓 Master 節(jié)點僅作為 NameNode 使用命斧。
  2. core-site.xml
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/usr/local/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
</configuration>
  1. 文件 hdfs-site.xml,dfs.replication 一般設(shè)為 3表示有3個Slave節(jié)點嘱兼,但我們只有一個 Slave 節(jié)點国葬,所以 dfs.replication 的值設(shè)為 1:
<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <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>
  1. 文件 mapred-site.xml (hadoop2.7.3需要先重命名,默認文件名為 mapred-site.xml.template)芹壕,然后配置修改如下:
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>Master:19888</value>
        </property>
</configuration>
  1. yarn-site.xml
<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Master</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>

將配置好的hadoop2從Master主機復(fù)制到其它Slave主機

Master節(jié)點的hadoop配置好以后汇四,將/usr/local/hadoop文件夾復(fù)制到各個Slave節(jié)點。

在Master節(jié)點執(zhí)行

cd /usr/local
tar -zcf ~/hadoop.master.tar.gz ./hadoop   #將hadoop文件夾壓縮到/home/hadoop/目錄下
cd ~
scp ./hadoop.master.tar.gz Slave1:/home/hadoop  #將hadoop.master.tar.gz從Master主機復(fù)制到Salve1主機/home/hadoop目錄下

在Salve節(jié)點執(zhí)行

sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local  #解壓安裝
sudo chown -R hadoop /usr/local/hadoop  #給hadoop目錄賦予讀寫權(quán)限

格式化NameNode

首次啟動需要先在 Master 節(jié)點執(zhí)行 NameNode 的格式化:

hdfs namenode -format       # 首次運行需要執(zhí)行初始化踢涌,之后不需要

啟動hadoop2

在Master節(jié)點執(zhí)行如下操作

start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

通過命令jps可以查看各個節(jié)點所啟動的進程通孽。正確的話,在 Master 節(jié)點上可以看到 NameNode睁壁、ResourceManager背苦、SecondrryNameNode、JobHistoryServer 進程潘明,在 Slave 節(jié)點可以看到 DataNode 和 NodeManager 進程行剂。缺少任一進程都表示出錯。我們通過瀏覽器打開網(wǎng)址:http://master:50070/查看datanode和namenode的狀態(tài)钳降,如果有異常通過查看集群log文件來排查異常厚宰。

hadoop2異常說明

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市遂填,隨后出現(xiàn)的幾起案子铲觉,更是在濱河造成了極大的恐慌澈蝙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撵幽,死亡現(xiàn)場離奇詭異灯荧,居然都是意外死亡,警方通過查閱死者的電腦和手機并齐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門漏麦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人况褪,你說我怎么就攤上這事撕贞。” “怎么了测垛?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵捏膨,是天一觀的道長。 經(jīng)常有香客問我食侮,道長号涯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任锯七,我火速辦了婚禮链快,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘眉尸。我一直安慰自己域蜗,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布噪猾。 她就那樣靜靜地躺著霉祸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪袱蜡。 梳的紋絲不亂的頭發(fā)上丝蹭,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天,我揣著相機與錄音坪蚁,去河邊找鬼奔穿。 笑死,一個胖子當(dāng)著我的面吹牛迅细,可吹牛的內(nèi)容都是我干的巫橄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼茵典,長吁一口氣:“原來是場噩夢啊……” “哼湘换!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤彩倚,失蹤者是張志新(化名)和其女友劉穎筹我,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體帆离,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡蔬蕊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了哥谷。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岸夯。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖们妥,靈堂內(nèi)的尸體忽然破棺而出猜扮,到底是詐尸還是另有隱情,我是刑警寧澤监婶,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布旅赢,位于F島的核電站,受9級特大地震影響惑惶,放射性物質(zhì)發(fā)生泄漏煮盼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一带污、第九天 我趴在偏房一處隱蔽的房頂上張望僵控。 院中可真熱鬧,春花似錦鱼冀、人聲如沸喉祭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至理卑,卻和暖如春翘紊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背藐唠。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工帆疟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宇立。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓踪宠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親妈嘹。 傳聞我的和親對象是個殘疾皇子柳琢,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,678評論 2 354

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