Hadoop第1~2周練習—Hadoop1.X和2.X安裝

1    練習題目html

2    Hadoop1.X安裝java

2.1    準備工node

2.1.1   硬軟件環境linux

2.1.2   集羣網絡環境web

2.1.3   安裝使用工具apache

2.2  環境搭建服務器

2.2.1   安裝操做系統網絡

2.2.2   配置本地環境oracle

2.2.3   設置操做系統環境app

2.3    Hadoop變量配置

2.3.1   下載並解壓hadoop安裝包

2.3.2   Hadoop-1.1.2目錄下建立子目錄

2.3.3   配置hadoop-env.sh

2.3.4   配置core-site.xml

2.3.5   配置hdfs-site.xml

2.3.6   配置mapred-site.xml

2.3.7   配置mastersslaves文件

2.3.8   向各節點複製hadoop

2.3.9   格式化namenode

2.3.10啓動hadoop

2.3.11jps檢驗各後臺進程是否成功啓動

3    Hadoop2.X安裝

3.1  運行環境說明

3.1.1   硬軟件環境

3.1.2   集羣網絡環境

3.1.3   安裝使用工具

3.2    環境搭建

3.2.1   配置本地環境

3.2.2   設置操做系統環境

3.3  配置Hadooop設置

3.3.1   下載並解壓hadoop安裝包

3.3.2   Hadoop目錄下建立子目錄

3.3.3   配置hadoop-env.sh.

3.3.4   配置yarn-env.sh.

3.3.5   配置core-site.xml

3.3.6   配置hdfs-site.xml

3.3.7   配置mapred-site.xml

3.3.8   配置yarn-site.xml

3.3.9   配置slaves文件

3.3.10向各節點分發hadoop程序

3.3.11格式化namenode

3.3.12啓動hdfs

3.3.13驗證當前進行

3.3.14啓動yarn

3.3.15驗證當前進行

4    問題解決

4.1   安裝CentOS64位虛擬機 This host supports Intel VT-x, but Intel VT-x is disabled

4.2   *** is not in the sudoers file解決方法

4.3  yum沒法下載

 

1    練習題目

1.     完成Hadoop 1.x集羣的安裝,把安裝的過程抓圖(不方便抓圖的能夠用拍照等各類手段)放在做業中,做業中應要介紹具體的安裝環境和主要安裝步驟。

2.     (可選)準備好Hadoop 2.x的安裝環境,下週進行Hadoop 2.x安裝,下週做業量可能比較大,請提早準備。能夠考慮使用6臺虛擬機,3臺給1.x集羣,3臺給2.x集羣,只要具有能同時開動三節點的能力便可。若是在同一節點上同時實施1.x2.x能夠考慮分開成不一樣的用戶進行安裝,這樣不容易混淆環境變量和主目錄。

2    Hadoop1.X安裝

2.1  準備工做

2.1.1硬軟件環境

如下爲徹底分佈式環境下在CentOS6.5中配置Hadoop-1.1.2時的總結文檔,但該文檔也適合其餘版本的Linux系統和目前各版本的Hadoop(須要注意的是Hadoop-0.20以後的版本配置文件hadoop-site.xml被拆分紅了三個core-site.xmlhdfs-site.xmlmapred-site.xml)

Hadoop搭建環境:

l  主機操做系統:Windows 64 bit,雙核4線程,主頻2.2G6G內存

l  虛擬軟件:VMware® Workstation 9.0.0 build-812388

l  虛擬機操做系統:三個節點均爲CentOS6.5 64位,單核,1G內存

l  JDK1.7.0_55 64

l  Hadoop1.1.2

2.1.2集羣網絡環境

集羣包含三個節點:1namenode2datanode,其中節點之間能夠相互ping通。節點IP地址和主機名分佈以下:

序號

IP地址

機器名

類型

用戶名

運行進程

1

10.88.147.221

hadoop1

名稱節點

hadoop

NNSNNJobTracer

2

10.88.147.222

hadoop2

數據節點

hadoop

DNTaskTracer

3

10.88.147.223

hadoop3

數據節點

hadoop

DNTaskTracer

全部節點均是CentOS系統,防火牆均禁用,全部節點上均建立了一個hadoop用戶,用戶主目錄是/usr/hadoop。全部節點上均建立了一個目錄/usr/local/hadoop,而且擁有者是hadoop用戶。由於該目錄用於安裝hadoop,用戶對其必須有rwx權限。(通常作法是root用戶在/usr/local下建立hadoop目錄,並修改該目錄擁有者爲hadoop(chown R hadoop /usr/local/hadoop),不然經過SSH往其餘機器分發Hadoop文件會出現權限不足的提示。

2.1.3安裝使用工具

2.1.3.1Linux文件傳輸工具

Linux系統傳輸文件推薦使用SSH Secure File Transfer,該工具頂部爲工具的菜單和快捷方式,中間部分左面爲本地文件目錄,右邊爲遠程文件目錄,能夠經過拖拽等方式實現文件的下載與上傳,底部爲操做狀況監控區,以下圖所示:

clip_image002

2.1.3.2Linux命令行執行工具

l  SSH Secure Shell

SSH Secure工具的SSH Secure Shell提供了遠程命令執行,以下圖所示:

 

clip_image004

l  SecureCRT

SecureCRT是經常使用遠程執行Linux命令行工具,以下圖所示:

clip_image006

2.2  環境搭建

本次安裝集羣分爲三個節點,節點設置按照1.2章節進行設置。環境搭建分爲三部分,具體爲安裝操做系統、配置本地環境和設置操做系統環境。

2.2.1安裝操做系統

第一步插入CentOS 6.5的安裝介質,使用介質啓動電腦出現以下界面

clip_image008

lInstall or upgrade an existing system 安裝或升級現有的系統 

linstall system with basic video driver 安裝過程當中採用基本的顯卡驅動 

lRescue installed system 進入系統修復模式

lBoot from local drive   退出安裝從硬盤啓動

lMemory test  內存檢測

第二步介質檢測選擇"Skip",直接跳過

clip_image010

第三步出現引導界面,點擊「next

clip_image012

第四步選擇安裝過程語言,選中"EnglishEnglish"

clip_image014

第五步鍵盤佈局選擇「U.S.English

clip_image016

第六步選擇「Basic Storage Devies"點擊"Next"

clip_image018

第七步詢問是否覆寫全部數據,選擇"Yes,discard any data"

clip_image020

第八步Hostname填寫格式「英文名.姓」

clip_image022

第九步   時區能夠在地圖上點擊,選擇「Shanghai」並取消System clock uses UTC選擇

clip_image024

第十步   設置root的密碼

clip_image026

第十一步    硬盤分區,必定要按照圖示點選

clip_image028

第十二步    詢問是否改寫入到硬盤,選擇"Write changes to disk"

clip_image030

第十三步    選擇系統安裝模式爲"Desktop"

clip_image032

第十四步    桌面環境就設置完成了,點擊安裝

clip_image034

第十五步    安裝完成,重啓

clip_image036

第十六步    重啓以後,的License Information

clip_image038

第十七步    建立用戶和設置密碼

lUsername:填寫您的英文名(不帶.姓)

lFull Name:填寫您的英文名.姓(首字母大寫)

clip_image040

第十八步    "Date and Time" 選中 「Synchronize data and time over the network

Finsh以後系統將重啓

clip_image042

2.2.2配置本地環境

該部分對服務器的配置須要在服務器本地進行配置,配置完畢後須要重啓服務器確認配置是否生效,特別是遠程訪問服務器須要設置固定IP地址。

2.2.2.1設置IP地址

1.     點擊System-->Preferences-->Network Connections,以下圖所示:

clip_image044

2.     修改或重建網絡鏈接,設置該鏈接爲手工方式,設置以下網絡信息:

      IP地址:    10.88.147.*

      子網掩碼: 255.255.255.0

      網關:     10.88.*.*

      DNS     10. **.***.** (上網須要設置DNS服務器)

      注意:網關、DNS等根據所在網絡實際狀況進行設置,並設置鏈接方式爲"Available to all users",不然經過遠程鏈接時會在服務器重啓後沒法鏈接服務器

clip_image046

3.     在命令行中,使用ifconfig命令查看設置IP地址信息,若是修改IP不生效,須要重啓機器再進行設置(若是該機器在設置後須要經過遠程訪問,建議重啓機器,確認機器IP是否生效):

clip_image048

2.2.2.2設置機器名

root用戶登陸,使用 vi /etc/sysconfig/network 打開配置文件,根據實際狀況設置該服務器的機器名,新機器名在重啓後生效

clip_image050

2.2.2.3設置Host映射文件

1.     使用root身份編輯/etc/hosts映射文件,設置IP地址與機器名的映射,設置信息以下:

vi /etc/hosts

l     10.88.147.221 hadoop1

l     10.88.147.222 hadoop2

l     10.88.147.223 hadoop3

clip_image052

2.     使用以下命令對網絡設置進行重啓

/etc/init.d/network restart

clip_image054

3.     驗證設置是否成功

clip_image056

2.2.2.4上網配置

第一步   root用戶使用vi /etc/profile命令打開配置文件,以下圖所示:

clip_image058

第二步   在該文件設置以下配置:

export http_proxy=proxy.*****:8080

export no_proxy="localhost,10.88.*hadoop*"

export https_proxy=proxy.*****:8080

clip_image060

2.2.3設置操做系統環境

2.2.3.1關閉防火牆

Hadoop安裝過程當中須要關閉防火牆和SElinux,不然會出現異常

1.     service iptables status 查看防火牆狀態,以下所示表示iptables已經開啓

clip_image062

2.     root用戶使用以下命令關閉iptables

chkconfig iptables off

clip_image064

2.2.3.2關閉SElinux

1.     使用getenforce命令查看是否關閉

clip_image066

2.     修改/etc/selinux/config 文件

SELINUX=enforcing改成SELINUX=disabled,執行該命令後重啓機器生效

clip_image068

2.2.3.3JDK安裝及配置

1.     下載JDK1.7 64bit安裝包

打開JDK1.7 64bit安裝包下載連接爲:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

打開界面以後,先選中 Accept License Agreement ,而後下載 jdk-7u55-linux-x64.tar.gz,以下圖所示:

clip_image070

 

2.     賦予hadoop用戶/usr/lib/java目錄可讀寫權限,使用命令以下:

sudo chmod -R 777 /usr/lib/java

clip_image072

該步驟有可能遇到問題4.2,可參考解決辦法處理

3.     把下載的安裝包,使用2.3.1介紹的ssh工具上傳到/usr/lib/java 目錄下,使用以下命令進行解壓

tar -zxvf jdk-7u55-linux-x64.tar.gz

clip_image074

解壓後目錄以下圖所示:

clip_image076

4.     使用root用戶配置 /etc/profile,該設置對全部用戶均生效

vi /etc/profile

clip_image058[1]

export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

clip_image078

5.     從新登陸並驗證

logout

java -version

clip_image080

2.2.3.4更新OpenSSL

C自帶的OpenSSL存在bug,若是不更新OpenSSLAmbari部署過程會出現沒法經過SSH鏈接節點,使用以下命令進行更新:

yum update openssl

clip_image082

 

clip_image084

該步驟有可能遇到問題4.3,可參考解決辦法處理

2.2.3.5SSH無密碼驗證配置

1.     root用戶使用vi /etc/ssh/sshd_config,打開sshd_config配置文件,開放三個配置,以下圖所示:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

clip_image086

2.     配置後重啓服務

service sshd restart

clip_image088

3.     完成以上步驟後,複製該虛擬機兩份,分別爲hadoop2hadoop3數據節點,IP設置參見1.2章節

4.     使用hadoop用戶登陸在三個節點中使用以下命令生成私鑰和公鑰;

ssh-keygen -t rsa

clip_image090

5.     進入/home/hadoop/.ssh目錄在三個節點中分別把公鑰命名爲authorized_keys_hadoop1authorized_keys_hadoop2authorized_keys_hadoop3,使用命令以下:

cp id_rsa.pub authorized_keys_hadoop1

clip_image092

6.     把兩個從節點(hadoop2hadoop3)的公鑰使用scp命令傳送到hadoop1節點的/home/hadoop/.ssh文件夾中;

scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh

clip_image094

clip_image096

7.     把三個節點的公鑰信息保存到authorized_key文件中

使用cat authorized_keys_hadoop1 >> authorized_keys 命令

clip_image098

8.     把該文件分發到其餘兩個從節點上

使用scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密碼文件分發出去

clip_image100

clip_image102

9.     在三臺機器中使用以下設置authorized_keys讀寫權限

chmod 400 authorized_keys

clip_image104

10.  測試ssh免密碼登陸是否生效

clip_image106

2.3  Hadoop變量配置

2.3.1下載並解壓hadoop安裝包

1.     把下載的hadoop-1.1.2-bin.tar.gz安裝包,使用2.3.1介紹的ssh工具上傳到/home/hadoop/Downloads 目錄下

clip_image108

2.     在主節點hadoop1上使用以下命令進行解壓縮

cd /home/hadoop/Downloads

sudo tar -xzvf hadoop-1.1.2-bin.tar.gz

ls

clip_image110

3.     把解壓的目錄轉移到/usr/local目錄下

clip_image112

4.     使用chown命令遍歷修改hadoop-1.1.2目錄全部者爲hadoop

sudo chown -R hadoop /usr/local/hadoop-1.1.2

clip_image114

2.3.2Hadoop-1.1.2目錄下建立子目錄

mkdir tmp

mkdir hdfs

mkdir hdfs/name

mkdir hdfs/data

ls

2.3.3配置hadoop-env.sh

1.     進入hadoop-1.1.2/conf目錄,打開配置文件hadoop-env.sh

cd /usr/local/hadoop-1.1.2/conf

vi hadoop-env.sh

clip_image116

2.     加入配置內容,設置了hadoopjdkhadoop/bin路徑

export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

export PATH=$PATH:/usr/local/hadoop-1.1.2/bin

clip_image118

3.     編譯配置文件hadoop-env.sh,並確認生效

source hadoop-env.sh

hadoop version

clip_image120

2.3.4配置core-site.xml

1.     使用以下命令打開core-site.xml配置文件

vi core-site.xml

clip_image122

2.     在配置文件中,按照以下內容進行配置

<configuration>

  <property>

    <name>fs.default.name</name>

     <value>hdfs://hadoop1:9000</value>

  </property>

  <property>

    <name>hadoop.tmp.dir</name>

     <value>/usr/local/hadoop-1.1.2/tmp</value>

  </property>

</configuration>

clip_image124

2.3.5配置hdfs-site.xml

1.     使用以下命令打開hdfs-site.xml配置文件

vi hdfs-site.xml

clip_image126

2.     在配置文件中,按照以下內容進行配置

<configuration>

  <property>

    <name>dfs.replication</name>

     <value>2</value>

  </property>

  <property>

    <name>dfs.name.dir</name>

     <value>/usr/local/hadoop-1.1.2/hdfs/name</value>

  </property>

  <property>

    <name>dfs.data.dir</name>

     <value>/usr/local/hadoop-1.1.2/hdfs/data</value>

  </property>

</configuration>

clip_image128

2.3.6配置mapred-site.xml

1.     使用以下命令打開mapred-site.xml配置文件

vi mapred-site.xml

clip_image130

2.     在配置文件中,按照以下內容進行配置

<configuration>

  <property>

    <name>mapred.job.tracker</name>

     <value>hadoop1:9001</value>

  </property>

</configuration>

clip_image132

2.3.7配置mastersslaves文件

1.     設子主節點

vi masters

hadoop1

clip_image134

clip_image136

2.     設置從節點

vi slaves

clip_image138

clip_image140

2.3.8向各節點複製hadoop

1.     hadoop2hadoop3機器中建立/usr/local/hadoop-1.1.2目錄,而後修改該目錄全部權限

sudo mkdir /usr/local/hadoop-1.1.2

sudo chown R hadoop /usr/local/hadoop-1.1.2

clip_image142

2.     hadoop1機器上使用以下命令把hadoop文件夾複製到hadoop2hadoop3機器

scp -r * hadoop@hadoop2:/usr/local/hadoop-1.1.2

clip_image144

3.     在從節點查看是否複製成功

clip_image146

2.3.9格式化namenode

hadoop1機器上使用以下命令進行格式化namenode

./hadoop namenode -format

clip_image148

2.3.10   啓動hadoop

./start-all.sh

clip_image150

2.3.11   jps檢驗各後臺進程是否成功啓動

1.     使用jps命令在主節點上查看

clip_image152

2.     使用jps命令在從節點上查看

clip_image154

clip_image156

3    Hadoop2.X安裝

3.1  運行環境說明

3.1.1硬軟件環境

l  主機操做系統:Windows 64 bit,雙核4線程,主頻2.2G6G內存

l  虛擬軟件:VMware® Workstation 9.0.0 build-812388

l  虛擬機操做系統:Ubuntu12 32bit,單核,1G內存

l  JDK1.7.0_09 32 bit

l  Hadoop2.2.0

3.1.2集羣網絡環境

集羣包含三個節點:1namenode2datanode,其中節點之間能夠相互ping通。節點IP地址和主機名分佈以下:

序號

IP地址

機器名

類型

用戶名

運行進程

1

10.88.147.226

hadoop1

名稱節點

hadoop

NNSNNResourceManager

2

10.88.147.227

hadoop2

數據節點

hadoop

DNNodeManager

3

10.88.147.228

hadoop3

數據節點

hadoop

DNNodeManager

全部節點均是CentOS6.5 64bit系統,防火牆均禁用,全部節點上均建立了一個hadoop用戶,用戶主目錄是/usr/hadoop。全部節點上均建立了一個目錄/usr/local/hadoop,而且擁有者是hadoop用戶。由於該目錄用於安裝hadoop,用戶對其必須有rwx權限。(通常作法是root用戶在/usr/local下建立hadoop目錄,並修改該目錄擁有者爲hadoop(chown R hadoop /usr/local/hadoop),不然經過SSH往其餘機器分發Hadoop文件會出現權限不足的提示。

3.1.3安裝使用工具

3.1.3.1Linux文件傳輸工具

Linux系統傳輸文件推薦使用SSH Secure File Transfer,該工具頂部爲工具的菜單和快捷方式,中間部分左面爲本地文件目錄,右邊爲遠程文件目錄,能夠經過拖拽等方式實現文件的下載與上傳,底部爲操做狀況監控區,以下圖所示:

clip_image002[1]

3.1.3.2Linux命令行執行工具

l  SSH Secure Shell

SSH Secure工具的SSH Secure Shell提供了遠程命令執行,以下圖所示:

 clip_image004[1]

l  SecureCRT

SecureCRT是經常使用遠程執行Linux命令行工具,以下圖所示:

clip_image006[1]

3.2  環境搭建

本次安裝集羣分爲三個節點,節點設置按照2.1.2章節進行設置。環境搭建分爲兩部分,具體爲配置本地環境和設置操做系統環境。

3.2.1配置本地環境

該部分對服務器的配置須要在服務器本地進行配置,配置完畢後須要重啓服務器確認配置是否生效,特別是遠程訪問服務器須要設置固定IP地址。

3.2.1.1設置IP地址

4.     點擊System-->Preferences-->Network Connections,以下圖所示:

clip_image044[1]

5.     修改或重建網絡鏈接,設置該鏈接爲手工方式,設置以下網絡信息:

      IP地址:    10.88.147.*

      子網掩碼: 255.255.255.0

      網關:     10.88.*.*

      DNS     10. **.***.** (上網須要設置DNS服務器)

      注意:網關、DNS等根據所在網絡實際狀況進行設置,並設置鏈接方式爲"Available to all users",不然經過遠程鏈接時會在服務器重啓後沒法鏈接服務器

clip_image158

6.     在命令行中,使用ifconfig命令查看設置IP地址信息,若是修改IP不生效,須要重啓機器再進行設置(若是該機器在設置後須要經過遠程訪問,建議重啓機器,確認機器IP是否生效):

clip_image160

3.2.1.2設置機器名

root用戶登陸,使用 vi /etc/sysconfig/network 打開配置文件,根據實際狀況設置該服務器的機器名,新機器名在重啓後生效

clip_image050[1]

3.2.1.3設置Host映射文件

4.     使用root身份編輯/etc/hosts映射文件,設置IP地址與機器名的映射,設置信息以下:

vi /etc/hosts

l     10.88.147.226 hadoop1

l     10.88.147.227 hadoop2

l     10.88.147.228 hadoop3

clip_image162

5.     使用以下命令對網絡設置進行重啓

/etc/init.d/network restart

clip_image054[1]

6.     驗證設置是否成功

clip_image164

3.2.1.4上網配置

第三步   root用戶使用vi /etc/profile命令打開配置文件,以下圖所示:

clip_image058[2]

第四步   在該文件設置以下配置:

export http_proxy=proxy.*****:8080

export no_proxy="localhost,10.88.*hadoop*"

export https_proxy=proxy.*****:8080

clip_image060[1]

3.2.2設置操做系統環境

3.2.2.1關閉防火牆

Hadoop安裝過程當中須要關閉防火牆和SElinux,不然會出現異常

3.     service iptables status 查看防火牆狀態,以下所示表示iptables已經開啓

clip_image062[1]

4.     root用戶使用以下命令關閉iptables

chkconfig iptables off

clip_image064[1]

3.2.2.2關閉SElinux

3.     使用getenforce命令查看是否關閉

clip_image066[1]

4.     修改/etc/selinux/config 文件

SELINUX=enforcing改成SELINUX=disabled,執行該命令後重啓機器生效

clip_image068[1]

3.2.2.3JDK安裝及配置

6.     下載JDK1.7 64bit安裝包

打開JDK1.7 64bit安裝包下載連接爲:

http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

打開界面以後,先選中 Accept License Agreement ,而後下載 jdk-7u55-linux-x64.tar.gz,以下圖所示:

clip_image070[1]

 

7.     賦予hadoop用戶/usr/lib/java目錄可讀寫權限,使用命令以下:

sudo chmod -R 777 /usr/lib/java

clip_image165

該步驟有可能遇到問題4.2,可參考解決辦法處理

8.     把下載的安裝包,使用2.1.3.1介紹的ssh工具上傳到/usr/lib/java 目錄下,使用以下命令進行解壓

tar -zxvf jdk-7u55-linux-x64.tar.gz

clip_image074[1]

解壓後目錄以下圖所示:

clip_image076[1]

9.     使用root用戶配置 /etc/profile,該設置對全部用戶均生效

vi /etc/profile

clip_image058[3]

export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

clip_image078[1]

10.  從新登陸並驗證

logout

java -version

clip_image166

3.2.2.4更新OpenSSL

C自帶的OpenSSL存在bug,若是不更新OpenSSLAmbari部署過程會出現沒法經過SSH鏈接節點,使用以下命令進行更新:

yum update openssl

clip_image082[1]

 

clip_image084[1]

該步驟有可能遇到問題4.3,可參考解決辦法處理

3.2.2.5SSH無密碼驗證配置

11.  root用戶使用vi /etc/ssh/sshd_config,打開sshd_config配置文件,開放三個配置,以下圖所示:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

clip_image167

12.  配置後重啓服務

service sshd restart

clip_image168

13.  完成以上步驟後,複製該虛擬機兩份,分別爲hadoop2hadoop3數據節點,IP設置參見1.2章節

14.  使用hadoop用戶登陸在三個節點中使用以下命令生成私鑰和公鑰;

ssh-keygen -t rsa

clip_image169

15.  進入/home/hadoop/.ssh目錄在三個節點中分別把公鑰命名爲authorized_keys_hadoop1authorized_keys_hadoop2authorized_keys_hadoop3,使用命令以下:

cp id_rsa.pub authorized_keys_hadoop1

clip_image170

16.  把兩個從節點(hadoop2hadoop3)的公鑰使用scp命令傳送到hadoop1節點的/home/hadoop/.ssh文件夾中;

scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh

clip_image171

clip_image172

17.  把三個節點的公鑰信息保存到authorized_key文件中

使用cat authorized_keys_hadoop1 >> authorized_keys 命令

clip_image173

18.  把該文件分發到其餘兩個從節點上

使用scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密碼文件分發出去

clip_image174

clip_image175

19.  在三臺機器中使用以下設置authorized_keys讀寫權限

chmod 400 authorized_keys

clip_image176

20.  測試ssh免密碼登陸是否生效

clip_image177

3.3  配置Hadooop設置

3.3.1下載並解壓hadoop安裝包

 

1.     把下載的hadoop-1.1.2-bin.tar.gz安裝包,使用2.1.3.1介紹的ssh工具上傳到/home/hadoop/Downloads 目錄下

clip_image179

2.     在主節點上解壓縮

cd /home/hadoop/Downloads/

tar -xzvf hadoop-2.2.0.tar.gz

clip_image181

clip_image183

3.     hadoop-2.2.0目錄移到/usr/local目錄下

sudo mv hadoop-2.2.0 /usr/local

cd /usr/local

ls

clip_image185

4.     使用chown命令遍歷修改hadoop-1.1.2目錄全部者爲hadoop

sudo chown -R hadoop /usr/local/hadoop-2.2.0

clip_image187

 

3.3.2Hadoop目錄下建立子目錄

使用hadoop用戶在hadoop-2.2.0目錄下建立tmpnamedata目錄,保證目錄全部者爲hadoop

mkdir tmp

mkdir name

mkdir data

ls

clip_image189

3.3.3配置hadoop-env.sh

4.     打開配置文件hadoop-env.sh

cd etc/hadoop

vi hadoop-env.sh

clip_image191

5.     加入配置內容,設置了hadoopjdkhadoop/bin路徑

export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

export PATH=$PATH:/usr/local/hadoop-2.2.0/bin

clip_image193

6.     編譯配置文件hadoop-env.sh,並確認生效

source hadoop-env.sh

hadoop version

clip_image195

3.3.4配置yarn-env.sh

1.     /usr/local/hadoop-2.2.0/etc/hadoop打開配置文件yarn-env.sh

cd /usr/local/hadoop-2.2.0/etc/hadoop

vi yarn-env.sh

clip_image197

2.     加入配置內容,設置了hadoopjdkhadoop/bin路徑

export JAVA_HOME=/usr/lib/java/jdk1.7.0_55

clip_image199

3.     編譯配置文件yarn-env.sh,並確認生效

source yarn-env.sh

clip_image201

3.3.5配置core-site.xml

1.     使用以下命令打開core-site.xml配置文件

sudo vi core-site.xml

clip_image203

2.     在配置文件中,按照以下內容進行配置

<configuration>

  <property>

    <name>fs.default.name</name>

    <value>hdfs://hadoop1:9000</value>

  </property>

  <property>

    <name>fs.defaultFS</name>

    <value>hdfs://hadoop1:9000</value>

  </property>

  <property>

    <name>io.file.buffer.size</name>

    <value>131072</value>

  </property>

  <property>

    <name>hadoop.tmp.dir</name>

    <value>file:/usr/local/hadoop-2.2.0/tmp</value>

    <description>Abase for other temporary directories.</description>

  </property>

  <property>

    <name>hadoop.proxyuser.hduser.hosts</name>

    <value>*</value>

  </property>

  <property>

    <name>hadoop.proxyuser.hduser.groups</name>

    <value>*</value>

  </property>

</configuration>

clip_image205

3.3.6配置hdfs-site.xml

3.     使用以下命令打開hdfs-site.xml配置文件

sudo vi hdfs-site.xml

clip_image207

4.     在配置文件中,按照以下內容進行配置

<configuration>

  <property>

   <name>dfs.namenode.secondary.http-address</name>

   <value>hadoop1:9001</value>

  </property>

  <property>

   <name>dfs.namenode.name.dir</name>

   <value>file:/usr/local/hadoop-2.2.0/name</value>

  </property>

  <property>

   <name>dfs.datanode.data.dir</name>

   <value>file:/usr/local/hadoop-2.2.0/data</value>

  </property>

  <property>

   <name>dfs.replication</name>

   <value>2</value>

  </property>

  <property>

   <name>dfs.webhdfs.enabled</name>

   <value>true</value>

  </property>

</configuration>

clip_image209

3.3.7配置mapred-site.xml

3.     默認狀況下不存在mapred-site.xml文件,能夠從模板拷貝一份

cp mapred-site.xml.template mapred-site.xml

clip_image211

4.     使用以下命令打開mapred-site.xml配置文件

sudo vi mapred-site.xml

clip_image213

5.     在配置文件中,按照以下內容進行配置

<configuration>

  <property>

    <name>mapreduce.framework.name</name>

    <value>yarn</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.address</name>

    <value>hadoop1:10020</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.webapp.address</name>

    <value>hadoop1:19888</value>

  </property>

</configuration>

clip_image215

3.3.8配置yarn-site.xml

1.     使用以下命令打開yarn-site.xml配置文件

sudo vi yarn-site.xml

clip_image217

2.     在配置文件中,按照以下內容進行配置

<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.address</name>

    <value>hadoop1:8032</value>

  </property>

  <property>

    <name>yarn.resourcemanager.scheduler.address</name>

    <value>hadoop1:8030</value>

  </property>

  <property>

    <name>yarn.resourcemanager.resource-tracker.address</name>

    <value>hadoop1:8031</value>

  </property>

  <property>

    <name>yarn.resourcemanager.admin.address</name>

    <value>hadoop1:8033</value>

  </property>

  <property>

    <name>yarn.resourcemanager.webapp.address</name>

    <value>hadoop1:8088</value>

  </property>

</configuration>

clip_image219

3.3.9配置slaves文件

3.     設置從節點

sudo vi slaves

hadoop2

haddop3

clip_image221 

clip_image223

3.3.10   向各節點分發hadoop程序

4.     hadoop2hadoop3機器中建立/usr/local/hadoop-2.2.0目錄,而後修改該目錄全部權限

sudo mkdir /usr/local/hadoop-2.2.0

sudo chown R hadoop hadoop-2.2.0

clip_image225

5.     hadoop1機器上進入/usr/local/hadoop-2.2.0目錄,使用以下命令把hadoop文件夾複製到hadoop2hadoop3機器

使用命令scp -r * hadoop@hadoop2:/usr/local/hadoop-2.2.0

clip_image227

 

6.     在從節點查看是否複製成功

clip_image229

3.3.11   格式化namenode

./bin/hdfs namenode -format

 

clip_image231

 

clip_image233

3.3.12   啓動hdfs

cd hadoop-2.2.0/sbin

./start-dfs.sh

clip_image235

3.3.13   驗證當前進行

此時在hadoop1上面運行的進程有:namenodesecondarynamenode

clip_image237

hadoop2hadoop3上面運行的進程有:datanode

clip_image239

3.3.14   啓動yarn

./start-yarn.sh

clip_image241

3.3.15   驗證當前進行

此時在hadoop1上運行的進程有:NNSNNResourceManager

clip_image243

hadoop2hadoop3上面運行的進程有:DNNodeManager

clip_image245

4    問題解決

4.1  安裝CentOS64位虛擬機 This host supports Intel VT-x, but Intel VT-x is disabled

在進行Hadoop2.X 64bit編譯安裝中因爲使用到64位虛擬機,安裝過程當中出現下圖錯誤:

clip_image247

F1 鍵進入BIOS 設置實用程序使用箭頭鍵security面板下找virtualizationEnter 鍵 進去Intel  VirtualizationTechnology改爲EnabledF10 鍵保存並退出 選擇YesEnter 鍵 徹底關機(關閉電源)等待幾秒鐘從新啓動計算機此Intel虛擬化技術開啓成功

 

4.2  *** is not in the sudoers file解決方法

當使用hadoop用戶須要對文件夾進行賦權,使用chmod命令出現hadoop is not in the sudoers file.  This incident will be reported錯誤,以下所示:

clip_image249

 

1.     使用su命令進入root用戶

clip_image251

2.     添加文件的寫權限,操做命令爲:chmod u+w /etc/sudoers

clip_image253

3.     編輯/etc/sudoers文件,使用命令"vi /etc/sudoers"進入編輯模式,找到:"root ALL=(ALL) ALL"在起下面添加"hadoop ALL=(ALL) ALL",而後保存退出。

clip_image255

4.3  yum沒法下載

1.     /etc/yum.conf中加入proxy=htt://XX.XXX.XX:PORT

clip_image257

2.     重啓網絡

clip_image259

3.     再次運行yum install ambari-server則可以正常下載

clip_image261

相關文章
相關標籤/搜索