1. 程式人生 > >大數據筆記(三)——Hadoop2.0的安裝與配置

大數據筆記(三)——Hadoop2.0的安裝與配置

false file default blog frame start tar.gz man ces

一.Hadoop安裝部署的預備條件

準備:1、安裝Linux和JDK
   2、關閉防火墻
   3、配置主機名

解壓:tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
設置環境變量:vi ~/.bash_profile

HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME

PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

source ~/.bash_profile

二.Hadoop的目錄結構

  技術分享圖片

三.Hadoop安裝部署的三種模式

  1.本地模式

  2.偽分布模式

  3.全分布模式

本地模式的配置
參數文件 配置參數 參考值
hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144

本地模式 一臺Linux
(*)特點:沒有HDFS,只能測試MapReduce程序(本地數據:Linux的文件)
(*)配置:hadoop-env.sh
26行 export JAVA_HOME=/root/training/jdk1.8.0_144

(*)Demo:測試MapReduce程序
example: /root/training/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount ~/temp/data.txt ~/temp/mr/wc1

偽分布模式的配置
參數文件 配置參數 參考值
hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
hdfs-site.xml dfs.replication 1
dfs.permissions false
core-site.xml fs.defaultFS hdfs://<hostname>:9000
hadoop.tmp.dir /root/training/hadoop-2.7.3/tmp
mapred-site.xml mapreduce.framework.name yarn
yarn-site.xml yarn.resourcemanager.hostname <hostname>
yarn.nodemanager.aux-services mapreduce_shuffle
偽分布模式    一臺Linux
        (*)特點:在單機上,模擬一個分布式的環境,具備Hadoop的所有功能
        (*)hdfs-site.xml
        
                <!--數據塊的冗余度,默認是3-->
                <property>
                  <name>dfs.replication</name>
                  <value>1</value>
                </property>

                <!--是否開啟HDFS的權限檢查,默認:true-->
                <!--
                <property>
                  <name>dfs.permissions</name>
                  <value>false</value>
                </property>
                -->
                
            core-site.xml
                <!--NameNode的地址-->
                <property>
                  <name>fs.defaultFS</name>
                  <value>hdfs://bigdata11:9000</value>
                </property>    

                <!--HDFS數據保存的目錄,默認是Linux的tmp目錄-->
                <property>
                  <name>hadoop.tmp.dir</name>
                  <value>/root/training/hadoop-2.7.3/tmp</value>
                </property>    
                
            mapred-site.xml
                <!--MR程序運行的容器是Yarn-->
                <property>
                  <name>mapreduce.framework.name</name>
                  <value>yarn</value>
                </property>        

            yarn-site.xml
                <!--ResourceManager的地址-->
                <property>
                  <name>yarn.resourcemanager.hostname</name>
                  <value>bigdata11</value>
                </property>        

                <!--NodeManager運行MR任務的方式-->
                <property>
                  <name>yarn.nodemanager.aux-services</name>
                  <value>mapreduce_shuffle</value>
                </property>    

            對NameNode進行格式化: hdfs namenode -format
                 日誌:Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.
                 
            啟動:start-all.sh = start-dfs.sh + start-yarn.sh

全分布模式的配置
參數文件 配置參數 參考值
hadoop-env.sh JAVA_HOME /root/training/jdk1.8.0_144
hdfs-site.xml dfs.replication 2
dfs.permissions false
core-site.xml fs.defaultFS hdfs://<hostname>:9000
hadoop.tmp.dir /root/training/hadoop-2.7.3/tmp
mapred-site.xml mapreduce.framework.name yarn
yarn-site.xml yarn.resourcemanager.hostname <hostname>
yarn.nodemanager.aux-services mapreduce_shuffle
slaves DataNode的地址 從節點1、從節點2

全分布模式安裝詳解

1、三臺機器:bigdata12 bigdata13 bigdata14
2、每臺機器準備工作:

    a.安裝JDK

    b.關閉防火墻

systemctl stop firewalld.service
systemctl disable firewalld.service

c.設置主機名: vi /etc/hosts

192.168.153.12 bigdata12
192.168.153.13 bigdata13
192.168.153.14 bigdata14

如果出現以下警告信息

技術分享圖片

技術分享圖片

四.驗證Hadoop環境

HDFS Console: http://192.168.153.11:50070

技術分享圖片

技術分享圖片

技術分享圖片

正常情況下,安全模式是關閉的。因為安全模式下,HDFS是只讀

Yarn Console: http://192.168.153.11:8088

技術分享圖片

3.配置SSH免密碼登錄

  

(1)在每臺機器上產生公鑰和私鑰

ssh-keygen -t rsa


(2)需要將每臺機器的公鑰復制給其他機器(下面的三句話,需要在每臺機器上執行

ssh-copy-id -i .ssh/id_rsa.pub root@bigdata12
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata13
ssh-copy-id -i .ssh/id_rsa.pub root@bigdata14

4、保證每臺機器的時間同步的
5、安裝Hadoop的全分布環境(在主節點bigdata12上安裝)

(1)解壓設置環境變量
(2)修改配置文件
  hadoop-env.sh

26行  export JAVA_HOME=/root/training/jdk1.8.0_144

  hdfs-site.xml

<!--數據塊的冗余度,默認是3-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<!--是否開啟HDFS的權限檢查,默認:true-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

  core-site.xml

<!--NameNode的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata12:9000</value>
</property>    

<!--HDFS數據保存的目錄,默認是Linux的tmp目錄-->
<property>
<name>hadoop.tmp.dir</name>
<value>/root/training/hadoop-2.7.3/tmp</value>
</property>

  mapred-site.xml

<!--MR程序運行的容器是Yarn-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

  yarn-site.xml

<!--ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata12</value>
</property>        

<!--NodeManager運行MR任務的方式-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

  slaves: 配置的是所有的從節點

bigdata13
bigdata14

(3)格式化NameNode:

hdfs namenode -format

6、將配置好的目錄復制到bigdata13和bigdata14上

scp -r hadoop-2.7.3/ root@bigdata13:/root/training
scp -r hadoop-2.7.3/ root@bigdata14:/root/training

7、啟動Hadoop集群(在主節點上):

start-all.sh

關閉:stop-all.sh

8、驗證
(*)命令行:hdfs dfsadmin -report
(*)網頁:HDFS:http://192.168.153.12:50070/
     Yarn:http://192.168.153.12:8088

  

技術分享圖片

技術分享圖片

大數據筆記(三)——Hadoop2.0的安裝與配置