配置ssh免密登陸
前提:master和slave節(jié)點(diǎn)配置相同。
本環(huán)境中已默認(rèn)安裝了SSH服務(wù),所以我們只需要對(duì)其進(jìn)行配置即可。
1、生成密鑰命令:
ssh-keygen -P ""
在/root/.ssh目錄下可以看到有authorized_keys桨武、id_rsa、id_rsa.pub三個(gè)文件
cd /root/.ssh
ls
2锈津、將master的公鑰id_rsa.pub復(fù)制到master呀酸、slave1、slave2的authorized_keys里面琼梆,這樣就可以讓master免密鑰登錄到master性誉、slave1、slave2茎杂。
首先對(duì)master自身做免密错览,如下
ssh-copy-id root@images.handge.cn
測(cè)試ssh連接到master
ssh master
測(cè)試完畢,退出連接使用exit命令煌往。
使用同樣的方法讓master節(jié)點(diǎn)能夠免密登錄到slave1倾哺、和slave2。
ssh-copy-id root@192.168.1.3
ssh-copy-id root@192.168.1.4
安裝hadoop
1刽脖、切換到hadoop壓縮包所在位置羞海,解壓文件
cd /opt
tar -zxvf /opt/hadoop-2.7.3.tar.gz -C /opt
2、配置環(huán)境變量
編輯/etc/profile文件曲管,在PATH參數(shù)后面追加hadoop路徑
vim /etc/profile
編輯如下:
<pre class="md-fences md-end-block" lang="" contenteditable="false" cid="n92" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: pre; display: block; break-inside: avoid; text-align: left; background-image: ; background-position: var(--code-block-bg-color); background-size: ; background-repeat: var(--code-block-bg-color); background-attachment: ; background-origin: ; background-clip: ; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(221, 221, 221); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
export JAVA_HOME=/opt/jdk1.8.0_111
export PATH=PATH:/opt/hadoop-2.7.3/bin:/opt/hadoop-2.7.3/sbin
export CLASSPATH=.:JAVA_HOME/lib/tools.jar
</pre>
使配置文件生效
source /etc/profile
3却邓、配置分布式環(huán)境
集群/分布式模式需要修改
/opt/hadoop-2.7.3/etc/hadoop中的七個(gè)配置文件,slaves院水、core-site.xml腊徙、hdfs-site.xml、mapred-site.xml檬某、yarn-site.xml昧穿、hadoop-env.sh、yarn-env.sh橙喘,其中文件
mapred-site.xml (需要先重命名,默認(rèn)文件名為 mapred-site.xml.template)
切換到/opt/hadoop-2.7.3/etc/hadoop目錄下
cd /opt/hadoop-2.7.3/etc/hadoop
ls
重命名mapred-site.xml.template為mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
ls
3.1胶逢、文件 slaves厅瞎,將作為 DataNode 的主機(jī)名寫入該文件饰潜,每行一個(gè),默認(rèn)為
localhost和簸,分布式配置可以保留 localhost彭雾,也可以刪掉,讓 Master 節(jié)點(diǎn)僅作為
NameNode 使用锁保。 這里讓 master 節(jié)點(diǎn)僅作為 NameNode 使用薯酝,因此將文件中原來的
localhost 刪除,添加兩行內(nèi)容:Slave1和Slave2爽柒。
編輯slaves文件
vim slaves
編輯如下:
<pre class="md-fences md-end-block" lang="" contenteditable="false" cid="n136" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: pre; display: block; break-inside: avoid; text-align: left; background-image: ; background-position: var(--code-block-bg-color); background-size: ; background-repeat: var(--code-block-bg-color); background-attachment: ; background-origin: ; background-clip: ; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(221, 221, 221); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
slave1
slave2
</pre>
3.2吴菠、編輯文件 core-site.xml,改為下面的配置
vim core-site.xml
配置文件編輯如下:
<pre class="md-fences md-end-block" lang="" contenteditable="false" cid="n144" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: pre; display: block; break-inside: avoid; text-align: left; background-image: ; background-position: var(--code-block-bg-color); background-size: ; background-repeat: var(--code-block-bg-color); background-attachment: ; background-origin: ; background-clip: ; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(221, 221, 221); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/tmp</value>
</property>
</configuration>
</pre>
3.3浩村、編輯文件 hdfs-site.xml做葵,其中dfs.replication 一般設(shè)為 3吧 ,但我們有兩個(gè)
Slave 節(jié)點(diǎn)心墅,所以 dfs.replication 的值還是設(shè)為 2酿矢。
vim hdfs-site.xml
配置文件編輯如下
<pre class="md-fences md-end-block" lang="" contenteditable="false" cid="n155" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: pre; display: block; break-inside: avoid; text-align: left; background-image: ; background-position: var(--code-block-bg-color); background-size: ; background-repeat: var(--code-block-bg-color); background-attachment: ; background-origin: ; background-clip: ; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(221, 221, 221); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<configuration>
?
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
?
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
?
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/dfs/name</value>
</property>
?
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/dfs/data</value>
</property>
?
</configuration>
</pre>
3.4、編輯文件 yarn-site.xml
vim yarn-site.xml
<pre class="md-fences md-end-block" lang="" contenteditable="false" cid="n162" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: pre; display: block; break-inside: avoid; text-align: left; background-image: ; background-position: var(--code-block-bg-color); background-size: ; background-repeat: var(--code-block-bg-color); background-attachment: ; background-origin: ; background-clip: ; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(221, 221, 221); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<configuration>
?
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
?
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
?
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
?
</configuration>
</pre>
3.5怎燥、編輯文件 mapred-site.xml
vim mapred-site.xml
<pre class="md-fences md-end-block" lang="" contenteditable="false" cid="n169" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 0.9em; white-space: pre; display: block; break-inside: avoid; text-align: left; background-image: ; background-position: var(--code-block-bg-color); background-size: ; background-repeat: var(--code-block-bg-color); background-attachment: ; background-origin: ; background-clip: ; background-color: rgb(248, 248, 248); position: relative !important; border: 1px solid rgb(221, 221, 221); border-radius: 3px; padding: 8px 1em 6px; margin-bottom: 15px; margin-top: 15px; width: inherit; color: rgb(51, 51, 51); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">
<configuration>
?
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</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>
</pre>
3.6瘫筐、修改hadoop-env.sh文件下面java的路徑
vim hadoop-env.sh
配置文件編輯如下:
export JAVA_HOME=/opt/jdk1.8.0_111
3.7、修改yarn-env.sh文件铐姚,修改JAVA_HOME值
vim yarn-env.sh
配置文件編輯如下:
export JAVA_HOME=/opt/jdk1.8.0_111
前提:安裝hadoop時(shí)策肝,master和slave節(jié)點(diǎn)配置文件完全相同,這里介紹了master的安裝及配置谦屑。Slave可以通過手動(dòng)配置驳糯,配置時(shí)請(qǐng)參考master,也可通過scp命令將master配置文件拷貝到slave的相同目錄下氢橙,如:
scp -r /opt/hadoop-2.7.3 root@slave1:/opt
scp -r /opt/hadoop-2.7.3 root@slave2:/opt
將master節(jié)點(diǎn)的配置文件拷貝到slave節(jié)點(diǎn)酝枢,其中 scp -r 表示拷貝目錄。
啟動(dòng)hadoop
前提:?jiǎn)?dòng)hadoop時(shí)悍手,在master節(jié)點(diǎn)上面啟動(dòng)帘睦。
1、第一次啟動(dòng)需要在master的hadooop安裝目錄(/opt/hadoop-2.7.3)下執(zhí)行format坦康。
cd /opt/hadoop-2.7.3
./bin/hdfs namenode -format
2竣付、啟動(dòng)hadoop命令,在master的hadooop安裝目錄的sbin(/opt/hadoop-2.7.3/sbin)下執(zhí)行滞欠。
cd /opt/hadoop-2.7.3/sbin/
ls
2.1古胆、啟動(dòng)命令
start-all.sh
jps查看集群進(jìn)程
在hadoop集群開啟的狀態(tài)下,執(zhí)行jps命令查看集群相關(guān)進(jìn)程是否已完全啟動(dòng)。
master節(jié)點(diǎn):
啟動(dòng)驗(yàn)證逸绎,master節(jié)點(diǎn)上應(yīng)該有4個(gè)進(jìn)程惹恃,分別是Jps敦间、NameNode壶冒、SecondaryNameNode、ResourceManager拾稳,則表示master節(jié)點(diǎn)上面啟動(dòng)hadoop成功颊乘。
?
jps
Slave1節(jié)點(diǎn):
啟動(dòng)驗(yàn)證参淹,slave1節(jié)點(diǎn)上應(yīng)該有3個(gè)進(jìn)程,分別是Jps乏悄、DataNode浙值、NodeManager。
?
jps
Slave2節(jié)點(diǎn):
啟動(dòng)驗(yàn)證纲爸,slave1節(jié)點(diǎn)上應(yīng)該有3個(gè)進(jìn)程亥鸠,分別是Jps、DataNode识啦、NodeManager负蚊。
?
jps
瀏覽器訪問hadoop
1、打開desktop節(jié)點(diǎn)
颓哮,登錄之后(密碼為123456)家妆,在瀏覽器上面輸入
,可以查看hadoop集群的概況冕茅。注:這里的images.handge.cn是主節(jié)點(diǎn)的IP伤极,50070是NameNode默認(rèn)的端口號(hào)。
2姨伤、打開desktop節(jié)點(diǎn)
哨坪,登錄之后在瀏覽器上面輸入
,查看hadoop集群中節(jié)點(diǎn)的情況乍楚。注:這里的images.handge.cn是主節(jié)點(diǎn)的IP当编,8088是默認(rèn)的ResourceManager的端口號(hào)。
3徒溪、在hadoop集群的概況頁(yè)面中忿偷,點(diǎn)擊上方菜單欄里面的Datanodes,可以查看Datanode的詳細(xì)信息臊泌。
eclipse配置
說明:Eclipse的配置需要在Desktop節(jié)點(diǎn)上鲤桥,登錄默認(rèn)的密碼是123456。
安裝插件
-
eclipse想要運(yùn)行在hadoop集群上渠概,需要安裝hadoop-eclipse-plugin插件茶凳。首先需要將/opt目錄下的hadoop-eclipse-plugin-2.6.0.jar包復(fù)制到eclipse的目錄的plugins下面。
1、登錄之后慧妄,在左邊菜單欄點(diǎn)擊終端圖標(biāo)顷牌,如下:
image1.1、在終端切換到root
su
image1.2塞淹、將/opt目錄下的hadoop-eclipse-plugin-2.6.0.jar包復(fù)制到eclipse的目錄的plugins下。
scp /opt/hadoop-eclipse-plugin-2.6.0.jar /opt/eclipse/plugins
image 環(huán)境配置
1罪裹、啟動(dòng)eclipse饱普,切換到eclipse所在的目錄下,這里的目錄為(/opt/eclipse)
cd /opt/eclipse
ls
1.2状共、啟動(dòng)eclipse
./eclipse
2套耕、點(diǎn)擊上方菜單欄里面的“window->Preferences”, 點(diǎn)擊Preferences峡继。
2.1冯袍、在搜索框中輸入hadoop,選擇“Hadoop Map/Reduce”碾牌。
2.2康愤、點(diǎn)擊“瀏覽”添加hadoop的安裝目錄(這里的安裝目錄為:/opt/hadoop-2.7.3)。
2.3舶吗、點(diǎn)擊“Apply”應(yīng)用征冷。 2.4、點(diǎn)擊“OK”誓琼。
3检激、在界面左邊的“Project Explorer”顯示出“DFS
Location”,在上方菜單欄點(diǎn)擊“window->Open
Perspective->Other”,在彈出框選擇“MapReduce欄”腹侣,最后點(diǎn)擊“OK”叔收。在界面下方會(huì)顯示如下界面:
4、新建一個(gè)Location:鼠標(biāo)右鍵點(diǎn)擊空白區(qū)域傲隶。如下圖:
5饺律、編輯新建的Location。如下圖:
編輯新建的Location伦籍,需要注意一下幾點(diǎn):
(a)蓝晒、Location name 是你為所創(chuàng)建的Location的命名,可以任意填寫帖鸦。
(b)芝薇、Map/Reduce(V2)
Master區(qū)域,有兩個(gè)參數(shù)需要配置作儿,Host和Port洛二,其中,Host為主節(jié)點(diǎn)的hostname或者IP,Port是jobtracker的端口號(hào)晾嘶,這里使用9001妓雾。
(c)、DFS
Master區(qū)域垒迂,同樣有兩個(gè)參數(shù)要配置械姻,Host和Port,其中机断,Host默認(rèn)和Map/Reduce(V2)
Master區(qū)域的Host相同楷拳,不需要做更改,Port處需要填寫與core-site.xml文件里面的端口吏奸,這里填寫9000欢揖。
6、配置完畢之后奋蔚,點(diǎn)擊“Finish”她混。在界面下方會(huì)出現(xiàn)新建的Location。如下圖:
在界面左側(cè)的Project
Explorer中泊碑,則會(huì)出現(xiàn)相應(yīng)的文件夾坤按。(由于最開始沒有建文件夾,因此這里顯示為0)蛾狗。如下圖:
到這里晋涣,eclipse在hadoop-2.7.3上面的搭建已經(jīng)完成。用戶就可以使用Eclipse環(huán)境在hadoop集群上進(jìn)行開發(fā)沉桌。
停止hadoop
執(zhí)行停止命令谢鹊,即:
stop-all.sh