hadoop2.x集羣安裝配置

第1步:準備三臺虛擬機,一臺作爲master,兩臺作爲slave。

第2步:三臺虛 擬機必須能訪問外網,並且能相互ping通。

第3步:查看三臺主機的名字,爲後續使用ssh能互相連接。分別爲master,slave1,slave2

                  分別查看三臺虛擬機。

                  查看命令 hostname

                  修改命令vi etc/sysconfig/network

                  使用source etc/sysconfig/network刷新,若不行則reboot。

第4步: 安裝ssh服務,使三臺虛擬機不需要密碼就能相互訪問。安裝命令yum -y openssh-server 安裝服務,安裝客戶端 yum -y openssh-clients。

 

第5步:  如果能讓其他服務器訪問本服務器必須關閉防火牆  命令 service iptables stop,禁止防火牆開機啓動chkconfig iptables off,

第6步: 配置相關域名,通過域名,不需要通過ip地址就能訪問。命令 vi etc/hosts,IP地址分別爲三臺服務主機的地址。

                                                           192.168.174.101    master

                 192.168.174.102    slave1

                 192.168.174.103    slave2

第7步:執行ssh-keygen生成公鑰和祕鑰 使三臺服務通過公鑰和祕鑰來相互連接。

第8步:通過ssh-copy-id master或者IP地址 /root/.ssh/id_rsa.pub 把公鑰發給master

第9步:master使用命令cat /root/.ssh/authorized_keys查看收到的公鑰

第10步:master發送公鑰給slave1和slave2 命令 scp  /root/.ssh/authorized_keys root@slave1:/root/.ssh/

                                                                                  scp /root/.ssh/authorized_keys root@slave2:/root/.ssh/

 

第11步: 分別執行ssh命令,查看是否能相互登錄。

        ssh master   exit

        ssh slave1   exit

        ssh slave2   exit

 

第12步:在master中建立一個文件夾/opt/SoftWare/  命令mkdir /opt/SoftWare/ 

 

第13步:進入/opt/SoftWare/目錄中 並安裝 yum -y install lrzsz  

                     lrzsz工具是可以上傳本地的文件 

                      命令爲 yum -y install lrzsz    

                      上傳命令 rz

                       也可以同個wget 路徑 下載

第14步:上傳jdk到/opt/SoftWare/中

                     命令rz

第15步:解壓jdk命令爲

                     tar -xvf jdk名稱

 

第16步:配置環境變量

                    命令     vi /etc/profile 

                    添加一下內容

                   export JAVA_HOME=/opt/SoftWare/jdk1.8.0_151  #這是jdk的安裝路徑

      export JRE_HOME=$JAVA_HOME/jre 如果失敗則    export JRE_HOME=/opt/SoftWare/jdk1.8.0_151/jre        #java運行環境配置

      export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar #javac的編譯器的環境變量,系統自動去查找jar包

      export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin #當系統運行javac或者java等然後會從path路徑中查找。

第17步: 刷新環境變量 source /etc/profile 並查看是否配置成功 命令 java -version,或者javac,java

 

第18步:    下載hadoophttp://hadoop.apache.org/releases.html。 

第19步:   進入/opt/SoftWare/目錄中 上傳hadoop到文件夾中

                     命令 :cd /opt/SoftWare/

                     命令:rz

       

第20步:     解壓hadoop

                      命令 tar -xvf hadoop壓縮包 

第21步: 配置hadoop環境變量

                  命令 vi /etc/profile 

                  添加內容

               export HADOOP_HOME=/opt/SoftWare/hadoop-2.7.3

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

第22步:刷新環境變量 source /etc/profile 並查看是否配置成功 命令 java -version,或者javac,java

 

第23步: 進入/opt/SoftWare/hadoop-2.7.3 中 創建 tmp,logs,hdfs/namenode,hdfs/datanode,hdfs

                  命令 mkdir tmp,mkdir logs, mkdir hdfs,mkdir hdfs/namenode, mkdir hdfs/datanode,

 

第24步:  進入/opt/SoftWare/hadoop-2.7.3/etc/hadoop中 這是hadoop中所有的配置文件

                   24.1  修改配置文件中hadoop-env.sh   修改環境變量

                          命令:vi hadoop-env.sh

                              修改第 25 行的 ${JAVA_HOME} 爲自己的 jdk 安裝目錄         

                         (/opt/SoftWare/jdk1.8.0_151)

            24.2 修改配置文件yarn-env.sh  

                修改第 23 行,解註釋(export JAVA_HOME=/home/y/libexec/jdk1.6.0/),修改路徑爲自己的 jdk 安裝目錄

     (/opt/SoftWare/jdk1.8.0_151 )

              24.3修改配置文件slaves 

     修改 localhost 爲 slave1 和 slave2 目的是爲slaves中有兩個slave1和slave2

    24.4 將mapreduce-site.xml.template 從命名爲mapreduce-site.xml 

        命令爲mv mapred-site.xml.template mapred-site.xml 重命名 mapred-site.xml.template

            24.5 修改hadoop核心配置文件core-site.xml

              命令 vi etc/hadoop/core-site.xml

      修改內容爲

                  <property>

               <name>fs.defaultFS</name>

                 <!--定義HadoopMasterURI和端口-->

                <value>hdfs://master:9000</value>

<!--  fs.defaultFS- 這是一個描述集羣中NameNode結點的URI(包括協議、主機名稱、端口號),集羣裏面的每一臺機器都需要知道NameNode的地址。DataNode結點會先在NameNode上註冊,這樣它們的數據纔可以被使用。獨立的客戶端程序通過這個URIDataNode交互,以取得文件的塊列表。-->

            </property>

            <property>

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

                <!--hadoop 中的臨時存儲目錄,tmp 文件夾的路徑 --> <!—hadoop.tmp.dir hadoop文件系統依賴的基礎配置,很多路徑都依賴它。如果hdfs-site.xml中不配置namenodedatanode的存放位置,默認就放在這個路徑中-->

                <value>file:/opt/SoftWare/hadoop-2.7.3/tmp</value>

             </property>

              <property>

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

    <!--用作序列化文件處理時讀寫buffer的大小-->

                        <value>131702</value>

              </property>

           24.5 修改hadoop中分佈式文件系統配置文件hdfs-site.xml:

         命令  vi etc/hadoop/hdfs-site.xml

 

 <property>

    <!-- namenode 節點數據存儲目錄 -->

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

    <value>file:/opt/SoftWare/hadoop-2.7.3/hdfs/namenode</value>

  </property>

  <property>

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

    <!-- datanode 數據存儲目錄 -->

    <value>file:/opt/SoftWare/hadoop-2.7.3/hdfs/datanode</value>

  </property>

  <property>

    <!-- 指定DataNode存儲block的副本數量,不大於DataNode的個數就行 -->

    <name>dfs.replication</name>

    <value>2</value>

  </property>

  <property>

    <!-- 指定masterhttp地址 -->

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

    <value>master:50090</value>

  </property>

  <property>

    <!-- 指定masterhttps地址 -->

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

    <value>master:50091</value>

  </property>

  <property>

    <!-- 必須設置爲true,否則就不能通過web訪問hdfs上的文件信息 -->

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

    <value>true</value>

  </property>

   24.5 修改hadoop中集羣管理和調度配置文件yarn-site.xml

          命令  vi etc/hadoop/yarn-site.xml

 <property>

    <!--NodeManager上運行的附屬服務。需配置成mapreduce_shuffle,纔可運行MapReduce程序-->

    <name>yarn.nodemanager.aux-services</name>

    <value>mapreduce_shuffle</value>

  </property>

  <property>

    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

    <value>org.apache.hadoop.mapred.ShuffleHandler</value>

  </property>

    <property>

    <!--ResourceManager 對客戶端暴露的地址。客戶端通過該地址向RM提交應用程序,殺死應用程序等。-->

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

    <value>master:8032</value>

  </property>

  <property>

    <!--ResourceManager ApplicationMaster暴露的訪問地址。ApplicationMaster通過該地址向RM申請資源、釋放資源等。-->

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

    <value>master:8030</value>

  </property>

  <property>

    <!--ResourceManager NodeManager暴露的地址.NodeManager通過該地址向RM彙報心跳,領取任務等。-->

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

    <value>master:8031</value>

  </property>

  <property>

    <!--ResourceManager 對管理員暴露的訪問地址。管理員通過該地址向RM發送管理命令等。-->

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

    <value>master:8033</value>

  </property>

  <property>

    <!--用戶可通過該地址在瀏覽器中查看集羣各類信息。-->

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

    <value>master:8088</value>

  </property>

  <property>

    <!--NodeManager總的可用物理內存。注意,該參數是不可修改的,一旦設置,整個運行過程中不 可動態修改。另外,該參數的默認值是8192MB,因此,這個值通過一 定要配置。不過,Apache已經正在嘗試將該參數做成可動態修改的。-->

    <name>yarn.nodemanager.resource.memory-mb</name>

    <value>2048</value>

  </property>

24.5 修改hadoop中mapreduce配置文件/mapred-site.xml

 

 命令 vi etc/hadoop/mapred-site.xml

 <property>

    <name>mapreduce.framework.name</name>  #運行在yarn框架上

    <value>yarn</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.address</name>  <!---- 指定mr框架jobhistory的內部通訊地址。目前還不知道是做什麼的 -->

    <value>master:10020</value>

  </property>

  <property>

    <name>mapreduce.jobhistory.webapp.address</name>    <!---- 指定mr框架web查看的地址 -->

    <value>master:19888</value>

  </property>

第25步:將/opt/SoftWare/中的文件複製一份到slave1和slave2  

            命令:scp -r /opt/SoftWare/ root@slave1:/opt/

         scp -r /opt/SoftWare/ root@slave2:/opt/

第26步:把 /etc/profile 文件拷貝到 slave1 和 slave2 的 /etc 下

   命令  scp /etc/profile/ root@slave1:/etc/

        scp /etc/profile/ root@slave2:/etc/

第27步:在slave1和slave2中驗證文件是否存在和java程序是否能運行

第28步:鎖定時間同步

   安裝時間同步軟件 ntpdate:yum -y install ntp ntpdate

   和網絡時間進行同步:ntpdate cn.pool.ntp.org

   把時間寫入硬件進行鎖定:hwclock --systohc

第29步:進入 hadoop-2.7.3/bin 目錄,使用 ./hdfs namenode -format 進行格式化(master操作)

          命令:cd bin 

                   ./hdfs namenode -format

不允許多次格式化,會導致集羣無法啓動

          如果出錯:

              1. 修改配置文件

              2. 刪除 三個 上的 hdfs/name 和 hdfs/data 文件夾

              3. 把修改的內容發送到 slave1 和 salve2 下

                 時刻保持 3 個虛擬機的配置文件是一致的

              4. 重新格式化

 

第30步:進入 hadoop-2.7.3/sbin 目錄,使用 ./start-dfs.sh 啓動 hdfs 服務

命令爲   cd sbin

./start-dfs.sh

第31步:(master,slave1,slave2)分別執行jps查看進程,登錄http://master(IP地址):50070查看活動節點

 

第32步:master進入 hadoop-2.7.3/sbin 目錄,使用 ./start-yarn.sh 啓動 yarn 服務

 

第33步:(master,slave1,slave2)分別執行jps查看進程,登錄http://master(IP地址):8088查看resourcemanage情況

第34步:27.進入 hadoop-2.7.3/sbin 目錄,使用 ./stop-dfs.sh 關閉 hdfs 服務

   進入 hadoop-2.7.3/sbin 目錄,使用 ./stop-yarn.sh 關閉 yarn 服務

 

   切記:關虛擬機前先關閉 hadoop 集羣,不然可能會導致集羣的崩潰

 

備註:可以使用./start-all.sh打開所有的服務也可以使用./來停止所有的服務

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章