Hadoop搭建

配置ssh免密登陸

前提:master和slave節(jié)點配置相同。

本環(huán)境中已默認安裝了SSH服務,所以我們只需要對其進行配置即可。

1、生成密鑰命令:

ssh-keygen -P ""

image

在/root/.ssh目錄下可以看到有authorized_keys、id_rsa、id_rsa.pub三個文件

cd /root/.ssh

ls

image

2、將master的公鑰id_rsa.pub復制到master、slave1、slave2的authorized_keys里面,這樣就可以讓master免密鑰登錄到master、slave1、slave2。

首先對master自身做免密,如下

ssh-copy-id root@images.handge.cn

image
image

測試ssh連接到master

ssh master

image

測試完畢,退出連接使用exit命令。

image

使用同樣的方法讓master節(jié)點能夠免密登錄到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

image

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>

image

使配置文件生效

source /etc/profile

![image](http://upload-images.jianshu.io/upload_images/3517338-099caa0f07e165d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1

3、配置分布式環(huán)境

集群/分布式模式需要修改

/opt/hadoop-2.7.3/etc/hadoop中的七個配置文件,slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、hadoop-env.sh、yarn-env.sh,其中文件

mapred-site.xml (需要先重命名,默認文件名為 mapred-site.xml.template)

切換到/opt/hadoop-2.7.3/etc/hadoop目錄下

cd /opt/hadoop-2.7.3/etc/hadoop

ls

image

重命名mapred-site.xml.template為mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

image

ls

image

3.1、文件 slaves,將作為 DataNode 的主機名寫入該文件,每行一個,默認為

localhost,分布式配置可以保留 localhost,也可以刪掉,讓 Master 節(jié)點僅作為

NameNode 使用。 這里讓 master 節(jié)點僅作為 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>

image

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>

image

3.3、編輯文件 hdfs-site.xml,其中dfs.replication 一般設為 3吧 ,但我們有兩個

Slave 節(jié)點,所以 dfs.replication 的值還是設為 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>

image

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>

image

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>

image

3.6、修改hadoop-env.sh文件下面java的路徑

vim hadoop-env.sh

配置文件編輯如下:

export JAVA_HOME=/opt/jdk1.8.0_111

image

3.7、修改yarn-env.sh文件,修改JAVA_HOME值

vim yarn-env.sh

配置文件編輯如下:

export JAVA_HOME=/opt/jdk1.8.0_111

image

前提:安裝hadoop時,master和slave節(jié)點配置文件完全相同,這里介紹了master的安裝及配置。Slave可以通過手動配置,配置時請參考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é)點的配置文件拷貝到slave節(jié)點,其中 scp -r 表示拷貝目錄。

啟動hadoop

前提:啟動hadoop時,在master節(jié)點上面啟動。

1、第一次啟動需要在master的hadooop安裝目錄(/opt/hadoop-2.7.3)下執(zhí)行format。

cd /opt/hadoop-2.7.3

./bin/hdfs namenode -format

image

2、啟動hadoop命令,在master的hadooop安裝目錄的sbin(/opt/hadoop-2.7.3/sbin)下執(zhí)行。

cd /opt/hadoop-2.7.3/sbin/

ls

image

2.1、啟動命令

start-all.sh

image

jps查看集群進程

在hadoop集群開啟的狀態(tài)下,執(zhí)行jps命令查看集群相關進程是否已完全啟動。

  • master節(jié)點:

  • 啟動驗證,master節(jié)點上應該有4個進程,分別是Jps、NameNode、SecondaryNameNode、ResourceManager,則表示master節(jié)點上面啟動hadoop成功。

?

jps

image
  • Slave1節(jié)點:

  • 啟動驗證,slave1節(jié)點上應該有3個進程,分別是Jps、DataNode、NodeManager。

?

jps

image
  • Slave2節(jié)點:

  • 啟動驗證,slave1節(jié)點上應該有3個進程,分別是Jps、DataNode、NodeManager。

?

jps

image

瀏覽器訪問hadoop

1、打開desktop節(jié)點

,登錄之后(密碼為123456),在瀏覽器上面輸入

http://images.handge.cn:50070

,可以查看hadoop集群的概況。注:這里的images.handge.cn是主節(jié)點的IP,50070是NameNode默認的端口號。

image

2、打開desktop節(jié)點

,登錄之后在瀏覽器上面輸入

http://images.handge.cn:8088

,查看hadoop集群中節(jié)點的情況。注:這里的images.handge.cn是主節(jié)點的IP,8088是默認的ResourceManager的端口號。

image

3、在hadoop集群的概況頁面中,點擊上方菜單欄里面的Datanodes,可以查看Datanode的詳細信息。

image

eclipse配置

說明:Eclipse的配置需要在Desktop節(jié)點上,登錄默認的密碼是123456。

  • 安裝插件

  • eclipse想要運行在hadoop集群上,需要安裝hadoop-eclipse-plugin插件。首先需要將/opt目錄下的hadoop-eclipse-plugin-2.6.0.jar包復制到eclipse的目錄的plugins下面。

    1、登錄之后,在左邊菜單欄點擊終端圖標,如下:

    image

    1.1、在終端切換到root

    su

    image

    1.2、將/opt目錄下的hadoop-eclipse-plugin-2.6.0.jar包復制到eclipse的目錄的plugins下。

    scp /opt/hadoop-eclipse-plugin-2.6.0.jar /opt/eclipse/plugins

    image
  • 環(huán)境配置

1、啟動eclipse,切換到eclipse所在的目錄下,這里的目錄為(/opt/eclipse)

cd /opt/eclipse

ls

image

1.2、啟動eclipse

./eclipse

image

2、點擊上方菜單欄里面的“window->Preferences”, 點擊Preferences。

2.1、在搜索框中輸入hadoop,選擇“Hadoop Map/Reduce”。

2.2、點擊“瀏覽”添加hadoop的安裝目錄(這里的安裝目錄為:/opt/hadoop-2.7.3)。

image
image

2.3、點擊“Apply”應用。 2.4、點擊“OK”。

image

3、在界面左邊的“Project Explorer”顯示出“DFS

Location”,在上方菜單欄點擊“window->Open
Perspective->Other”,在彈出框選擇“MapReduce欄”,最后點擊“OK”。在界面下方會顯示如下界面:

image

4、新建一個Location:鼠標右鍵點擊空白區(qū)域。如下圖:

image

5、編輯新建的Location。如下圖:

image

編輯新建的Location,需要注意一下幾點:

(a)、Location name 是你為所創(chuàng)建的Location的命名,可以任意填寫。

(b)、Map/Reduce(V2)

Master區(qū)域,有兩個參數(shù)需要配置,Host和Port,其中,Host為主節(jié)點的hostname或者IP,Port是jobtracker的端口號,這里使用9001。

(c)、DFS

Master區(qū)域,同樣有兩個參數(shù)要配置,Host和Port,其中,Host默認和Map/Reduce(V2)

Master區(qū)域的Host相同,不需要做更改,Port處需要填寫與core-site.xml文件里面的端口,這里填寫9000。

6、配置完畢之后,點擊“Finish”。在界面下方會出現(xiàn)新建的Location。如下圖:

image

在界面左側(cè)的Project

Explorer中,則會出現(xiàn)相應的文件夾。(由于最開始沒有建文件夾,因此這里顯示為0)。如下圖:

image

到這里,eclipse在hadoop-2.7.3上面的搭建已經(jīng)完成。用戶就可以使用Eclipse環(huán)境在hadoop集群上進行開發(fā)。

停止hadoop

執(zhí)行停止命令,即:

stop-all.sh

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容