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 配置masters和slaves文件
2.3.8 向各節點複製hadoop
2.3.9 格式化namenode
2.3.10啓動hadoop
2.3.11用jps檢驗各後臺進程是否成功啓動
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. 完成Hadoop 1.x集羣的安裝,把安裝的過程抓圖(不方便抓圖的能夠用拍照等各類手段)放在做業中,做業中應要介紹具體的安裝環境和主要安裝步驟。
2. (可選)準備好Hadoop 2.x的安裝環境,下週進行Hadoop 2.x安裝,下週做業量可能比較大,請提早準備。能夠考慮使用6臺虛擬機,3臺給1.x集羣,3臺給2.x集羣,只要具有能同時開動三節點的能力便可。若是在同一節點上同時實施1.x和2.x能夠考慮分開成不一樣的用戶進行安裝,這樣不容易混淆環境變量和主目錄。
如下爲徹底分佈式環境下在CentOS6.5中配置Hadoop-1.1.2時的總結文檔,但該文檔也適合其餘版本的Linux系統和目前各版本的Hadoop(須要注意的是Hadoop-0.20以後的版本配置文件hadoop-site.xml被拆分紅了三個core-site.xml、hdfs-site.xml和mapred-site.xml)。
Hadoop搭建環境:
l 主機操做系統:Windows 64 bit,雙核4線程,主頻2.2G,6G內存
l 虛擬軟件:VMware® Workstation 9.0.0 build-812388
l 虛擬機操做系統:三個節點均爲CentOS6.5 64位,單核,1G內存
l JDK:1.7.0_55 64位
l Hadoop:1.1.2
集羣包含三個節點:1個namenode、2個datanode,其中節點之間能夠相互ping通。節點IP地址和主機名分佈以下:
序號 |
機器名 |
類型 |
用戶名 |
運行進程 |
|
1 |
10.88.147.221 |
hadoop1 |
名稱節點 |
hadoop |
NN、SNN、JobTracer |
2 |
10.88.147.222 |
hadoop2 |
數據節點 |
hadoop |
DN、TaskTracer |
3 |
10.88.147.223 |
hadoop3 |
數據節點 |
hadoop |
DN、TaskTracer |
全部節點均是CentOS系統,防火牆均禁用,全部節點上均建立了一個hadoop用戶,用戶主目錄是/usr/hadoop。全部節點上均建立了一個目錄/usr/local/hadoop,而且擁有者是hadoop用戶。由於該目錄用於安裝hadoop,用戶對其必須有rwx權限。(通常作法是root用戶在/usr/local下建立hadoop目錄,並修改該目錄擁有者爲hadoop(chown –R hadoop /usr/local/hadoop),不然經過SSH往其餘機器分發Hadoop文件會出現權限不足的提示。
向Linux系統傳輸文件推薦使用SSH Secure File Transfer,該工具頂部爲工具的菜單和快捷方式,中間部分左面爲本地文件目錄,右邊爲遠程文件目錄,能夠經過拖拽等方式實現文件的下載與上傳,底部爲操做狀況監控區,以下圖所示:
l SSH Secure Shell
SSH Secure工具的SSH Secure Shell提供了遠程命令執行,以下圖所示:
l SecureCRT
SecureCRT是經常使用遠程執行Linux命令行工具,以下圖所示:
本次安裝集羣分爲三個節點,節點設置按照1.2章節進行設置。環境搭建分爲三部分,具體爲安裝操做系統、配置本地環境和設置操做系統環境。
第一步插入CentOS 6.5的安裝介質,使用介質啓動電腦出現以下界面
lInstall or upgrade an existing system 安裝或升級現有的系統
linstall system with basic video driver 安裝過程當中採用基本的顯卡驅動
lRescue installed system 進入系統修復模式
lBoot from local drive 退出安裝從硬盤啓動
lMemory test 內存檢測
第二步介質檢測選擇"Skip",直接跳過
第三步出現引導界面,點擊「next」
第四步選擇安裝過程語言,選中"English(English)"
第五步鍵盤佈局選擇「U.S.English」
第六步選擇「Basic Storage Devies"點擊"Next"
第七步詢問是否覆寫全部數據,選擇"Yes,discard any data"
第八步Hostname填寫格式「英文名.姓」
第九步 時區能夠在地圖上點擊,選擇「Shanghai」並取消System clock uses UTC選擇
第十步 設置root的密碼
第十一步 硬盤分區,必定要按照圖示點選
第十二步 詢問是否改寫入到硬盤,選擇"Write changes to disk"
第十三步 選擇系統安裝模式爲"Desktop"
第十四步 桌面環境就設置完成了,點擊安裝
第十五步 安裝完成,重啓
第十六步 重啓以後,的License Information
第十七步 建立用戶和設置密碼
lUsername:填寫您的英文名(不帶.姓)
lFull Name:填寫您的英文名.姓(首字母大寫)
第十八步 "Date and Time" 選中 「Synchronize data and time over the network」
Finsh以後系統將重啓
該部分對服務器的配置須要在服務器本地進行配置,配置完畢後須要重啓服務器確認配置是否生效,特別是遠程訪問服務器須要設置固定IP地址。
1. 點擊System-->Preferences-->Network Connections,以下圖所示:
2. 修改或重建網絡鏈接,設置該鏈接爲手工方式,設置以下網絡信息:
IP地址: 10.88.147.*
子網掩碼: 255.255.255.0
網關: 10.88.*.*
DNS: 10. **.***.** (上網須要設置DNS服務器)
注意:網關、DNS等根據所在網絡實際狀況進行設置,並設置鏈接方式爲"Available to all users",不然經過遠程鏈接時會在服務器重啓後沒法鏈接服務器
3. 在命令行中,使用ifconfig命令查看設置IP地址信息,若是修改IP不生效,須要重啓機器再進行設置(若是該機器在設置後須要經過遠程訪問,建議重啓機器,確認機器IP是否生效):
以root用戶登陸,使用 vi /etc/sysconfig/network 打開配置文件,根據實際狀況設置該服務器的機器名,新機器名在重啓後生效
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
2. 使用以下命令對網絡設置進行重啓
/etc/init.d/network restart
3. 驗證設置是否成功
第一步 以root用戶使用vi /etc/profile命令打開配置文件,以下圖所示:
第二步 在該文件設置以下配置:
export http_proxy=proxy.*****:8080
export no_proxy="localhost,10.88.*,hadoop*"
export https_proxy=proxy.*****:8080
在Hadoop安裝過程當中須要關閉防火牆和SElinux,不然會出現異常
1. service iptables status 查看防火牆狀態,以下所示表示iptables已經開啓
2. 以root用戶使用以下命令關閉iptables
chkconfig iptables off
1. 使用getenforce命令查看是否關閉
2. 修改/etc/selinux/config 文件
將SELINUX=enforcing改成SELINUX=disabled,執行該命令後重啓機器生效
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,以下圖所示:
2. 賦予hadoop用戶/usr/lib/java目錄可讀寫權限,使用命令以下:
sudo chmod -R 777 /usr/lib/java
該步驟有可能遇到問題4.2,可參考解決辦法處理
3. 把下載的安裝包,使用2.3.1介紹的ssh工具上傳到/usr/lib/java 目錄下,使用以下命令進行解壓
tar -zxvf jdk-7u55-linux-x64.tar.gz
解壓後目錄以下圖所示:
4. 使用root用戶配置 /etc/profile,該設置對全部用戶均生效
vi /etc/profile
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
5. 從新登陸並驗證
logout
java -version
C自帶的OpenSSL存在bug,若是不更新OpenSSL在Ambari部署過程會出現沒法經過SSH鏈接節點,使用以下命令進行更新:
yum update openssl
該步驟有可能遇到問題4.3,可參考解決辦法處理
1. 以root用戶使用vi /etc/ssh/sshd_config,打開sshd_config配置文件,開放三個配置,以下圖所示:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2. 配置後重啓服務
service sshd restart
3. 完成以上步驟後,複製該虛擬機兩份,分別爲hadoop2和hadoop3數據節點,IP設置參見1.2章節
4. 使用hadoop用戶登陸在三個節點中使用以下命令生成私鑰和公鑰;
ssh-keygen -t rsa
5. 進入/home/hadoop/.ssh目錄在三個節點中分別把公鑰命名爲authorized_keys_hadoop1、authorized_keys_hadoop2和authorized_keys_hadoop3,使用命令以下:
cp id_rsa.pub authorized_keys_hadoop1
6. 把兩個從節點(hadoop2、hadoop3)的公鑰使用scp命令傳送到hadoop1節點的/home/hadoop/.ssh文件夾中;
scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh
7. 把三個節點的公鑰信息保存到authorized_key文件中
使用cat authorized_keys_hadoop1 >> authorized_keys 命令
8. 把該文件分發到其餘兩個從節點上
使用scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密碼文件分發出去
9. 在三臺機器中使用以下設置authorized_keys讀寫權限
chmod 400 authorized_keys
10. 測試ssh免密碼登陸是否生效
1. 把下載的hadoop-1.1.2-bin.tar.gz安裝包,使用2.3.1介紹的ssh工具上傳到/home/hadoop/Downloads 目錄下
2. 在主節點hadoop1上使用以下命令進行解壓縮
cd /home/hadoop/Downloads
sudo tar -xzvf hadoop-1.1.2-bin.tar.gz
ls
3. 把解壓的目錄轉移到/usr/local目錄下
4. 使用chown命令遍歷修改hadoop-1.1.2目錄全部者爲hadoop
sudo chown -R hadoop /usr/local/hadoop-1.1.2
mkdir tmp
mkdir hdfs
mkdir hdfs/name
mkdir hdfs/data
ls
1. 進入hadoop-1.1.2/conf目錄,打開配置文件hadoop-env.sh
cd /usr/local/hadoop-1.1.2/conf
vi hadoop-env.sh
2. 加入配置內容,設置了hadoop中jdk和hadoop/bin路徑
export JAVA_HOME=/usr/lib/java/jdk1.7.0_55
export PATH=$PATH:/usr/local/hadoop-1.1.2/bin
3. 編譯配置文件hadoop-env.sh,並確認生效
source hadoop-env.sh
hadoop version
1. 使用以下命令打開core-site.xml配置文件
vi core-site.xml
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>
1. 使用以下命令打開hdfs-site.xml配置文件
vi hdfs-site.xml
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>
1. 使用以下命令打開mapred-site.xml配置文件
vi mapred-site.xml
2. 在配置文件中,按照以下內容進行配置
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop1:9001</value>
</property>
</configuration>
1. 設子主節點
vi masters
hadoop1
2. 設置從節點
vi slaves
1. 在hadoop2和hadoop3機器中建立/usr/local/hadoop-1.1.2目錄,而後修改該目錄全部權限
sudo mkdir /usr/local/hadoop-1.1.2
sudo chown –R hadoop /usr/local/hadoop-1.1.2
2. 在hadoop1機器上使用以下命令把hadoop文件夾複製到hadoop2和hadoop3機器
scp -r * hadoop@hadoop2:/usr/local/hadoop-1.1.2
3. 在從節點查看是否複製成功
在hadoop1機器上使用以下命令進行格式化namenode
./hadoop namenode -format
./start-all.sh
1. 使用jps命令在主節點上查看
2. 使用jps命令在從節點上查看
l 主機操做系統:Windows 64 bit,雙核4線程,主頻2.2G,6G內存
l 虛擬軟件:VMware® Workstation 9.0.0 build-812388
l 虛擬機操做系統:Ubuntu12 32bit,單核,1G內存
l JDK:1.7.0_09 32 bit
l Hadoop:2.2.0
集羣包含三個節點:1個namenode、2個datanode,其中節點之間能夠相互ping通。節點IP地址和主機名分佈以下:
序號 |
IP地址 |
機器名 |
類型 |
用戶名 |
運行進程 |
1 |
10.88.147.226 |
hadoop1 |
名稱節點 |
hadoop |
NN、SNN、ResourceManager |
2 |
10.88.147.227 |
hadoop2 |
數據節點 |
hadoop |
DN、NodeManager |
3 |
10.88.147.228 |
hadoop3 |
數據節點 |
hadoop |
DN、NodeManager |
全部節點均是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文件會出現權限不足的提示。
向Linux系統傳輸文件推薦使用SSH Secure File Transfer,該工具頂部爲工具的菜單和快捷方式,中間部分左面爲本地文件目錄,右邊爲遠程文件目錄,能夠經過拖拽等方式實現文件的下載與上傳,底部爲操做狀況監控區,以下圖所示:
l SSH Secure Shell
SSH Secure工具的SSH Secure Shell提供了遠程命令執行,以下圖所示:
l SecureCRT
SecureCRT是經常使用遠程執行Linux命令行工具,以下圖所示:
本次安裝集羣分爲三個節點,節點設置按照2.1.2章節進行設置。環境搭建分爲兩部分,具體爲配置本地環境和設置操做系統環境。
該部分對服務器的配置須要在服務器本地進行配置,配置完畢後須要重啓服務器確認配置是否生效,特別是遠程訪問服務器須要設置固定IP地址。
4. 點擊System-->Preferences-->Network Connections,以下圖所示:
5. 修改或重建網絡鏈接,設置該鏈接爲手工方式,設置以下網絡信息:
IP地址: 10.88.147.*
子網掩碼: 255.255.255.0
網關: 10.88.*.*
DNS: 10. **.***.** (上網須要設置DNS服務器)
注意:網關、DNS等根據所在網絡實際狀況進行設置,並設置鏈接方式爲"Available to all users",不然經過遠程鏈接時會在服務器重啓後沒法鏈接服務器
6. 在命令行中,使用ifconfig命令查看設置IP地址信息,若是修改IP不生效,須要重啓機器再進行設置(若是該機器在設置後須要經過遠程訪問,建議重啓機器,確認機器IP是否生效):
以root用戶登陸,使用 vi /etc/sysconfig/network 打開配置文件,根據實際狀況設置該服務器的機器名,新機器名在重啓後生效
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
5. 使用以下命令對網絡設置進行重啓
/etc/init.d/network restart
6. 驗證設置是否成功
第三步 以root用戶使用vi /etc/profile命令打開配置文件,以下圖所示:
第四步 在該文件設置以下配置:
export http_proxy=proxy.*****:8080
export no_proxy="localhost,10.88.*,hadoop*"
export https_proxy=proxy.*****:8080
在Hadoop安裝過程當中須要關閉防火牆和SElinux,不然會出現異常
3. service iptables status 查看防火牆狀態,以下所示表示iptables已經開啓
4. 以root用戶使用以下命令關閉iptables
chkconfig iptables off
3. 使用getenforce命令查看是否關閉
4. 修改/etc/selinux/config 文件
將SELINUX=enforcing改成SELINUX=disabled,執行該命令後重啓機器生效
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,以下圖所示:
7. 賦予hadoop用戶/usr/lib/java目錄可讀寫權限,使用命令以下:
sudo chmod -R 777 /usr/lib/java
該步驟有可能遇到問題4.2,可參考解決辦法處理
8. 把下載的安裝包,使用2.1.3.1介紹的ssh工具上傳到/usr/lib/java 目錄下,使用以下命令進行解壓
tar -zxvf jdk-7u55-linux-x64.tar.gz
解壓後目錄以下圖所示:
9. 使用root用戶配置 /etc/profile,該設置對全部用戶均生效
vi /etc/profile
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
10. 從新登陸並驗證
logout
java -version
C自帶的OpenSSL存在bug,若是不更新OpenSSL在Ambari部署過程會出現沒法經過SSH鏈接節點,使用以下命令進行更新:
yum update openssl
該步驟有可能遇到問題4.3,可參考解決辦法處理
11. 以root用戶使用vi /etc/ssh/sshd_config,打開sshd_config配置文件,開放三個配置,以下圖所示:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
12. 配置後重啓服務
service sshd restart
13. 完成以上步驟後,複製該虛擬機兩份,分別爲hadoop2和hadoop3數據節點,IP設置參見1.2章節
14. 使用hadoop用戶登陸在三個節點中使用以下命令生成私鑰和公鑰;
ssh-keygen -t rsa
15. 進入/home/hadoop/.ssh目錄在三個節點中分別把公鑰命名爲authorized_keys_hadoop1、authorized_keys_hadoop2和authorized_keys_hadoop3,使用命令以下:
cp id_rsa.pub authorized_keys_hadoop1
16. 把兩個從節點(hadoop2、hadoop3)的公鑰使用scp命令傳送到hadoop1節點的/home/hadoop/.ssh文件夾中;
scp authorized_keys_hadoop2 hadoop@hadoop1:/home/hadoop/.ssh
17. 把三個節點的公鑰信息保存到authorized_key文件中
使用cat authorized_keys_hadoop1 >> authorized_keys 命令
18. 把該文件分發到其餘兩個從節點上
使用scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh把密碼文件分發出去
19. 在三臺機器中使用以下設置authorized_keys讀寫權限
chmod 400 authorized_keys
20. 測試ssh免密碼登陸是否生效
1. 把下載的hadoop-1.1.2-bin.tar.gz安裝包,使用2.1.3.1介紹的ssh工具上傳到/home/hadoop/Downloads 目錄下
2. 在主節點上解壓縮
cd /home/hadoop/Downloads/
tar -xzvf hadoop-2.2.0.tar.gz
3. 把hadoop-2.2.0目錄移到/usr/local目錄下
sudo mv hadoop-2.2.0 /usr/local
cd /usr/local
ls
4. 使用chown命令遍歷修改hadoop-1.1.2目錄全部者爲hadoop
sudo chown -R hadoop /usr/local/hadoop-2.2.0
使用hadoop用戶在hadoop-2.2.0目錄下建立tmp、name和data目錄,保證目錄全部者爲hadoop
mkdir tmp
mkdir name
mkdir data
ls
4. 打開配置文件hadoop-env.sh
cd etc/hadoop
vi hadoop-env.sh
5. 加入配置內容,設置了hadoop中jdk和hadoop/bin路徑
export JAVA_HOME=/usr/lib/java/jdk1.7.0_55
export PATH=$PATH:/usr/local/hadoop-2.2.0/bin
6. 編譯配置文件hadoop-env.sh,並確認生效
source hadoop-env.sh
hadoop version
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
2. 加入配置內容,設置了hadoop中jdk和hadoop/bin路徑
export JAVA_HOME=/usr/lib/java/jdk1.7.0_55
3. 編譯配置文件yarn-env.sh,並確認生效
source yarn-env.sh
1. 使用以下命令打開core-site.xml配置文件
sudo vi core-site.xml
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>
3. 使用以下命令打開hdfs-site.xml配置文件
sudo vi hdfs-site.xml
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>
3. 默認狀況下不存在mapred-site.xml文件,能夠從模板拷貝一份
cp mapred-site.xml.template mapred-site.xml
4. 使用以下命令打開mapred-site.xml配置文件
sudo vi mapred-site.xml
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>
1. 使用以下命令打開yarn-site.xml配置文件
sudo vi yarn-site.xml
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>
3. 設置從節點
sudo vi slaves
hadoop2
haddop3
4. 在hadoop2和hadoop3機器中建立/usr/local/hadoop-2.2.0目錄,而後修改該目錄全部權限
sudo mkdir /usr/local/hadoop-2.2.0
sudo chown –R hadoop hadoop-2.2.0
5. 在hadoop1機器上進入/usr/local/hadoop-2.2.0目錄,使用以下命令把hadoop文件夾複製到hadoop2和hadoop3機器
使用命令scp -r * hadoop@hadoop2:/usr/local/hadoop-2.2.0
6. 在從節點查看是否複製成功
./bin/hdfs namenode -format
cd hadoop-2.2.0/sbin
./start-dfs.sh
此時在hadoop1上面運行的進程有:namenode,secondarynamenode
hadoop2和hadoop3上面運行的進程有:datanode
./start-yarn.sh
此時在hadoop1上運行的進程有:NN、SNN、ResourceManager
hadoop2和hadoop3上面運行的進程有:DN、NodeManager
在進行Hadoop2.X 64bit編譯安裝中因爲使用到64位虛擬機,安裝過程當中出現下圖錯誤:
按F1 鍵進入BIOS 設置實用程序使用箭頭鍵security面板下找virtualization按Enter 鍵 進去Intel VirtualizationTechnology改爲Enabled按F10 鍵保存並退出 選擇Yes按Enter 鍵 徹底關機(關閉電源)等待幾秒鐘從新啓動計算機此Intel虛擬化技術開啓成功
當使用hadoop用戶須要對文件夾進行賦權,使用chmod命令出現「hadoop is not in the sudoers file. This incident will be reported」錯誤,以下所示:
1. 使用su命令進入root用戶
2. 添加文件的寫權限,操做命令爲:chmod u+w /etc/sudoers
3. 編輯/etc/sudoers文件,使用命令"vi /etc/sudoers"進入編輯模式,找到:"root ALL=(ALL) ALL"在起下面添加"hadoop ALL=(ALL) ALL",而後保存退出。
1. 在/etc/yum.conf中加入proxy=htt://XX.XXX.XX:PORT
2. 重啓網絡
3. 再次運行yum install ambari-server則可以正常下載