172.16.77.15 aboutyun/123456 master
172.16.77.16 aboutyun/123456 slave1
172.16.77.17 aboutyun/123456 slave1
上面各列分別為IP、user/passwd、hostname
3.1 安裝ssh
一般系統(tǒng)是默認(rèn)安裝了ssh命令的。如果沒有,或者版本比較老,則可以重新安裝:
sudo apt-get install ssh
3.2
首先生成 master 的公匙,在 master 節(jié)點(diǎn)終端中執(zhí)行:
cd ~/.ssh # 如果沒有該目錄,先執(zhí)行一次ssh localhost
ssh-keygen -t rsa # 一直按回車就可以,生成的密鑰保存為.ssh/id_rsa
master 節(jié)點(diǎn)需能無密碼 ssh 本機(jī),這一步還是在 master 節(jié)點(diǎn)上執(zhí)行:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
完成后可以使用 ssh Master
驗(yàn)證一下。接著將公匙傳輸?shù)?Slave1 節(jié)點(diǎn):
scp ~/.ssh/id_rsa.pub aboutyun@slave1:/home/aboutyun/
scp時(shí)會(huì)要求輸入slave1上aboutyun用戶的密碼,輸入完成后會(huì)提示傳輸完畢。
接著在 slave1節(jié)點(diǎn)
上將ssh公匙保存到相應(yīng)位置,執(zhí)行
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
如果有其他 slave 節(jié)點(diǎn),也要執(zhí)行 將公匙傳輸?shù)?slave 節(jié)點(diǎn)、在 slave 節(jié)點(diǎn)上加入授權(quán) 這兩步。
最后在 master 節(jié)點(diǎn)上就可以無密碼SSH到slave1節(jié)點(diǎn)了。
4.安裝jdk(這里以.tar.gz版本,64位系統(tǒng)為例)
4.1.有安裝包直接解壓
這里直接解壓到了/usr/java/jdk1.7下面:
在/usr下并沒有java目錄,這需要我們?nèi)?chuàng)建一個(gè)java文件夾
cd /usr
sudo mkdir java
tar -xzf jdk-7u67-linux-x64.tar.gz 解壓到了/usr/java/jdk1.7
4.2.無安裝包需要下載
下載jdk
wget http:
//download.Oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.tar.gz?AuthParam=1412395049_5ee2894e196e935ec18e4b2a6236bf28 重命名
mv jdk-7u67-linux-x64.tar.gz\?AuthParam\=1412395049_5ee2894e196e935ec18e4b2a6236bf28 jdk-7u67-linux-x64.tar.gz
解壓
tar -xzf jdk-7u67-linux-x64.tar.gz
4.3設(shè)置環(huán)境變量
環(huán)境變量分為用戶變量和系統(tǒng)變量。
用戶變量配置文件:~/.bashrc(在當(dāng)前用戶主目錄下的隱藏文件,可以通過`ls -a`查看到)
系統(tǒng)環(huán)境配置文件:/etc/profile
用戶變量和系統(tǒng)變量的配置方法一樣,本文以配置用戶變量為例。
編輯配置文件.bashrc:
在文件末尾追加:
# set java environmentexport JAVA_HOME=/usr/java/jdk1.7export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
4.4使環(huán)境變量生效
4.5驗(yàn)證
驗(yàn)證java是否安裝成功。
$ java -versionjava version '1.7.0_67'Java(TM) SE Runtime Environment (build 1.7.0_67-b01)Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)
5.關(guān)閉每臺(tái)機(jī)器的防火墻
sudo ufw disable (重啟生效)
6.hadoop安裝
6.1、需要注意的問題看不到進(jìn)程大致有兩個(gè)原因:
1.你的配置文件有問題。
對于配置文件,主機(jī)名,空格之類的這些都不要帶上。仔細(xì)檢查
2.Linux的權(quán)限不正確。
最常出問題的是core-site.xml,與hdfs-site.xml。
core-site.xml
-
- hadoop.tmp.dir
- file:/home/aboutyun/tmp
- Abase forother temporary directories.
-
復(fù)制代碼說一下上面參數(shù)的含義,這里是hadoop的臨時(shí)文件目錄,file的含義是使用本地目錄。也就是使用的是Linux的目錄,一定確保下面目錄
的權(quán)限所屬為你創(chuàng)建的用戶。并且這里面我也要會(huì)變通,aboutyun,為我創(chuàng)建的用戶名,如果你創(chuàng)建了zhangsan或則lisi,那么這個(gè)目錄就會(huì)變?yōu)?/div>
這里不熟悉,是因?yàn)閷inux的不熟悉的原因。這里在來張圖:
注意:1和2對比。如果你所創(chuàng)建的tmp屬于root,那么你會(huì)看不到進(jìn)程。
同樣也是:要注意下面,你是需要改成自己的用戶名的
dfs.namenode.name.dir
file:/home/aboutyun/dfs/name
dfs.datanode.data.dir
file:/home/aboutyun/dfs/data
上面講完,
我們開始配置
6.2
hadoop集群中每個(gè)機(jī)器上面的配置基本相同,所以我們先在master上面進(jìn)行配置部署,然后再復(fù)制到其他節(jié)點(diǎn)。所以這里的安裝過程相當(dāng)于在每臺(tái)機(jī)器上面都要執(zhí)行。
【注意】:master和slaves安裝的hadoop路徑要完全一樣,用戶和組也要完全一致
1、 解壓文件
將第一部分中下載的
- tar zxvf hadoop-2.5.2_x64.tar.gz
復(fù)制代碼
解壓到/home/aboutyun路徑下
2、 hadoop配置過程
配置之前,需要在master本地文件系統(tǒng)創(chuàng)建以下文件夾:
~/dfs/name
~/dfs/data
~/tmp
這里文件權(quán)限:創(chuàng)建完畢,你會(huì)看到紅線部分,注意所屬用戶及用戶組。如果不再新建的用戶組下面,可以使用下面命令來修改:sudo chown -R aboutyun:aboutyun ~/dfs/
sudo chown -R aboutyun:aboutyun ~/tmp
這里要涉及到的配置文件有7個(gè):
~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
~/hadoop-2.2.0/etc/hadoop/slaves
~/hadoop-2.2.0/etc/hadoop/core-site.xml
~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
以上文件默認(rèn)不存在的,可以復(fù)制相應(yīng)的template文件獲得。
配置文件1:hadoop-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7)
配置文件2:yarn-env.sh
修改JAVA_HOME值(export JAVA_HOME=/usr/java/jdk1.7)
配置文件3:slaves (這個(gè)文件里面保存所有slave節(jié)點(diǎn))
配置文件4:core-site.xml
-
- fs.defaultFS
- hdfs://master:8020
-
-
- io.file.buffer.size
- 131072
-
-
- hadoop.tmp.dir
- file:/home/aboutyun/tmp
- Abase for other temporary directories.
-
-
- hadoop.proxyuser.aboutyun.hosts
- *
-
-
- hadoop.proxyuser.aboutyun.groups
- *
-
復(fù)制代碼配置文件5:hdfs-site.xml
-
- dfs.namenode.secondary.http-address
- master:9001
-
-
- dfs.namenode.name.dir
- file:/home/aboutyun/dfs/name
-
-
- dfs.datanode.data.dir
- file:/home/aboutyun/dfs/data
-
-
- dfs.replication
- 1
-
-
- dfs.webhdfs.enabled
- true
-
復(fù)制代碼配置文件6:mapred-site.xml
- mapreduce.framework.name
- yarn
-
-
- mapreduce.jobhistory.address
- master:10020
-
-
- mapreduce.jobhistory.webapp.address
- master:19888
-
復(fù)制代碼配置文件7:yarn-site.xml
-
- yarn.nodemanager.aux-services
- mapreduce_shuffle
-
-
- yarn.nodemanager.aux-services.mapreduce.shuffle.class
- org.apache.hadoop.mapred.ShuffleHandler
-
-
- yarn.resourcemanager.address
- master:8032
-
-
- yarn.resourcemanager.scheduler.address
- master:8030
-
-
- yarn.resourcemanager.resource-tracker.address
- master:8031
-
-
- yarn.resourcemanager.admin.address
- master:8033
-
-
- yarn.resourcemanager.webapp.address
- master:8088
-
復(fù)制代碼
3、復(fù)制到其他節(jié)點(diǎn)
上面配置完畢,我們基本上完成了90%了剩下就是復(fù)制。我們可以把整個(gè)hadoop復(fù)制過去:使用如下命令:
- sudo scp -r /home/aboutyun/hadoop aboutyun@slave1:~/
復(fù)制代碼4.配置環(huán)境變量
第一步:
第二步:添加如下內(nèi)容:記得如果你的路徑改變了,你也許需要做相應(yīng)的改變。
紅框中改為“/home/aboutyun/hadoop/bin:/home/aboutyun/hadoop/sbin:
5、啟動(dòng)驗(yàn)證
5.1 啟動(dòng)hadoop
格式化namenode:
啟動(dòng)hdfs:
此時(shí)在master上面運(yùn)行的進(jìn)程有:
namenode
secondarynamenode
slave節(jié)點(diǎn)上面運(yùn)行的進(jìn)程有:datanode
啟動(dòng)yarn:
master有如下進(jìn)程:
slave1有如下進(jìn)程 此時(shí)hadoop集群已全部配置完成?。。?/div>
【注意】:而且所有的配置文件和節(jié)點(diǎn)處不要有空格,否則會(huì)報(bào)錯(cuò)!
然后我們輸入:(這里有的同學(xué)沒有配置hosts,所以輸出master訪問不到,如果訪問不到輸入ip地址即可)
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請
點(diǎn)擊舉報(bào)。