Hadoop2.7.3+Hbase-1.2.6完全分布式安裝部署


Hadoop安裝部署基本步驟:

 

1、安裝jdk,配置環境變量。

       jdk可以去網上自行下載,環境變量如下:

       編輯  vim  /etc/profile 文件,添加如下內容:

       export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(填寫自己的jdk安裝路徑)
       export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
       export PATH=$PATH:$JAVA_HOME/bin

       輸入命令,source /etc/profile  使配置生效

      分別輸入命令,java 、 javac 、 java -version,查看jdk環境變量是否配置成功

2、linux環境下,至少需要3台機子,一台作為master,2台(以上)作為slave。

    這里我以3台機器為例,linux用的是CentOS  6.5  x64為機器。

         master 192.168.172.71
         slave1 192.168.172.72
         slave2 192.168.172.73

3、配置所有機器的hostname和hosts。

         (1)更改hostname,可以編輯 vim /etc/sysconfig/network    

     更改master的HOSTNAME,這里改為HOSTNAME=master

     其它slave為HOSTNAME=slave1、HOSTNAME=slave2 ,重啟后生效。

     或者直接輸:  hostname   名字,更改成功,這種方式無需重啟即可生效,

     但是重啟系統后更改的名字會失效,仍是原來的名字

   (2)更改host,可以編輯 vim /etc/hosts,增加如下內容:

         192.168.172.71    master 
            192.168.172.72    slave1 
              192.168.172.73     slave2 

            hosts可以和hostname不一致 ,這里為了好記就寫一致了。

4、配置SSH所有機器之間免密碼登錄

  (1)CentOS默認沒有啟動ssh無密登錄,編輯 vim  /etc/ssh/sshd_config,

      去掉以下兩行注釋,開啟Authentication免登陸。

      #RSAAuthentication yes
           #PubkeyAuthentication yes

           如果是root用戶下進行操作,還要去掉 #PermitRootLogin yes注釋,允許root用戶登錄。

  (2)輸入命令,ssh-keygen -t rsa,生成key,一直按回車,

      就會在/root/.ssh生成:authorized_keys   id_rsa.pub   id_rsa 三個文件,

     這里要說的是,為了各個機器之間的免登陸,在每一台機器上都要進行此操作。

  (3) 接下來,在master服務器,合並公鑰到authorized_keys文件,

     進入/root/.ssh目錄,輸入以下命令

          cat id_rsa.pub>> authorized_keys    把master公鑰合並到authorized_keys 中

       ssh root@192.168.172.72 cat ~/.ssh/id_rsa.pub>> authorized_keys    

       ssh root@192.168.172.73 cat ~/.ssh/id_rsa.pub>> authorized_keys    

       把slave1、slave2公鑰合並到authorized_keys 中

                完成之后輸入命令,把authorized_keys遠程copy到slave1和slave2之中

      scp authorized_keys 192.168.172.72:/root/.ssh/  

         scp authorized_keys 192.168.172.73:/root/.ssh/

      最好在每台機器上進行chmod 600  authorized_keys操作,

       使當前用戶具有 authorized_keys的讀寫權限。

      拷貝完成后,在每台機器上進行 service sshd restart  操作, 重新啟動ssh服務。

      之后在每台機器輸入 ssh 192.168.172.xx,測試能否無需輸入密碼連接另外兩台機器。

5、配置Hadoop環境變量,HADOOP_HOME、hadoop-env.sh、yarn-env.sh。

  (1)配置HADOOP_HOME,編輯  vim  /etc/profile 文件,添加如下內容:

     export HADOOP_HOME=/opt/hbase/hadoop-2.7.3 (Hadoop的安裝路徑)

     export PATH=$PATH:$HADOOP_HOME/sbin

     export PATH=$PATH:$HADOOP_HOME/bin 

     (以下兩行最好加上,若沒有啟動Hadoop、hbase時都會有沒加載lib成功的警告)    

       export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
     export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

  (2)配置hadoop-env.sh、yarn-env.sh,在Hadoop安裝目錄下

     編輯  vim etc/hadoop/hadoop-env.sh  

      加入export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(jdk安裝路徑)

     編輯  vim etc/hadoop/yarn-env.sh  

      加入export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(jdk安裝路徑)

     保存退出

 

6、配置基本相關xml,core-site.xml、hdfs-site.xml、mapred-site.xml、mapred-site.xml

  (1)配置core-site.xml,在Hadoop安裝目錄下 編輯  vim etc/hadoop/core-site.xml

    <configuration>

      <property>
        <name>fs.defaultFS</name> <!--NameNode 的URI-->
        <value>hdfs://mater:9000</value>
      </property>
      <property>
        <name>hadoop.tmp.dir</name> <!--hadoop臨時文件的存放目錄-->
        <value>/opt/hbase/hadoop-2.7.3/temp</value>
      </property>
    </configuration>

  (2)配置hdfs-site.xml,在Hadoop安裝目錄下 編輯  vim etc/hadoop/hdfs-site.xml

     <configuration>

      <property> <!--namenode持久存儲名字空間及事務日志的本地文件系統路徑-->
        <name>dfs.namenode.name.dir</name> 
        <value>/opt/hbase/hadoop-2.7.3/dfs/name</value> 

          <!--目錄無需預先創建,會自動創建-->
      </property>
      <property>  <!--DataNode存放塊數據的本地文件系統路徑-->
        <name>dfs.datanode.data.dir</name>
        <value>/opt/hbase/hadoop-2.7.3/dfs/data</value>
       </property>
      <property>  <!--數據需要備份的數量,不能大於集群的機器數量,默認為3-->
        <name>dfs.replication</name>
        <value>2</value>
      </property>

      <property> 
        <name>dfs.namenode.secondary.http-address</name> 
        <value>master:9001</value> 
      </property>  

      <property>  <!--設置為true,可以在瀏覽器中IP+port查看-->
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
      </property>
    </configuration>

(3)配置mapred-site.xml,在Hadoop安裝目錄下 編輯  vim etc/hadoop/mapred-site.xml

   <configuration>

    <property> <!--mapreduce運用了yarn框架,設置name為yarn-->
      <name>mapreduce.framework.name</name>
      <value>yarn</value> 
    </property>
    <property> <!--歷史服務器,查看Mapreduce作業記錄-->
      <name>mapreduce.jobhistory.address</name> 
      <value>master:10020</value>
    </property>
    <property>
      <name>mapreduce.jobhistory.webapp.address</name>
      <value>master:19888</value>
    </property>
  </configuration>

 

(4)配置yarn-site.xml,在Hadoop安裝目錄下 編輯  vim etc/hadoop/yarn-site.xml

  <configuration>

    <property> <!--NodeManager上運行的附屬服務,用於運行mapreduce-->
      <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> <!--ResourceManager 對客戶端暴露的地址-->
      <name>yarn.resourcemanager.address</name> 
      <value>master:8032</value>
    </property>
    <property> <!--ResourceManager 對ApplicationMaster暴露的地址--> 
      <name>yarn.resourcemanager.scheduler.address</name> 
      <value>master:8030</value>
    </property>
    <property> <!--ResourceManager 對NodeManager暴露的地址-->
      <name>yarn.resourcemanager.resource-tracker.address</name>  
      <value>master:8031</value>
    </property>
    <property> <!--ResourceManager 對管理員暴露的地址-->
      <name>yarn.resourcemanager.admin.address</name>   
      <value>master:8033</value>
    </property>
    <property> <!--ResourceManager 對外web暴露的地址,可在瀏覽器查看-->  
      <name>yarn.resourcemanager.webapp.address</name> 
      <value>master:8088</value>
    </property>
  </configuration>

7、配置slaves文件

  在Hadoop安裝目錄下,編輯vim etc/hadoop/slaves,

  去除默認的localhost,加入slave1、slave2,保存退出。

8、通過遠程復制命令scp,將配置好的Hadoop復制到各個節點對應位置

  scp -r /opt/hadoop-2.7.3 192.168.172.72:/opt/hadoop-2.7.3 
  scp -r /opt/hadoop-2.7.3 192.168.172.73:/opt/hadoop-2.7.3 

9、Hadoop的啟動與停止

  (1)在Master服務器啟動hadoop,從節點會自動啟動,進入Hadoop目錄下,

      輸入命令,bin/hdfs namenode -format進行hdfs格式化

      輸入命令,sbin/start-all.sh,進行啟動

      也可以分開啟動,sbin/start-dfs.sh、sbin/start-yarn.sh

      在master 上輸入命令:jps, 看到ResourceManager、

      NameNode、SecondaryNameNode進程

         在slave 上輸入命令:jps, 看到DataNode、NodeManager進程

      出現這5個進程就表示Hadoop啟動成功。

  (2)接下來配置本地hosts,編輯 C:\Windows\System32\drivers\etc的hosts文件,加入

      192.168.172.71   master

      192.168.172.72   slave1

      192.168.172.73   slave2

     在瀏覽器中輸入http://master:50070查看master狀態,

     輸入http://192.168.172.72:8088查看集群狀態

  (3)停止hadoop,進入Hadoop目錄下,輸入命令:sbin/stop-all.sh,

      即可停止master和slave的Hadoop進程

 

Hbase安裝部署基本步驟:

  1、在Hadoop配置的基礎上,配置環境變量HBASE_HOME、hbase-env.sh

    編輯 vim /etc/profile  加入 

      export  HBASE_HOME=/opt/hbase-1.2.6 

         export  PATH=$HBASE_HOME/bin:$PATH

    編輯vim /opt/hbase-1.2.6/conf/hbase-env.sh  加入

      export JAVA_HOME=/opt/java_environment/jdk1.7.0_80(jdk安裝路徑)

    去掉注釋 # export  HBASE_MANAGES_ZK=true,使用hbase自帶zookeeper。

    2、配置hbase-site.xml文件 

    <configuration>

      <property> 
        <name>hbase.rootdir</name> <!-- hbase存放數據目錄 -->
        <value>hdfs://master:9000/opt/hbase/hbase_db</value>

          <!-- 端口要和Hadoop的fs.defaultFS端口一致-->
      </property> 
      <property> 
        <name>hbase.cluster.distributed</name> <!-- 是否分布式部署 -->
        <value>true</value> 
      </property> 
      <property> 
        <name>hbase.zookeeper.quorum</name> <!-- list of  zookooper -->
        <value>master,slave1,slave2</value> 
      </property>     

       <property><!--zookooper配置、日志等的存儲位置 -->
          <name>hbase.zookeeper.property.dataDir</name> 
          <value>/opt/hbase/zookeeper</value>
       </property>

    </configuration>

  3、配置regionservers

    編輯 vim /opt/hbase-1.2.6/conf/regionservers   去掉默認的localhost,
     加入slave1、slave2,保存退出 

     然后把在master上配置好的hbase,通過遠程復制命令

     scp -r /opt/hbase-1.2.6  192.168.172.72/73:/opt/hbase-1.2.6 

     復制到slave1、slave2對應的位置

  4、啟動與停止Hbase

     (1)在Hadoop已經啟動成功的基礎上,輸入start-hbase.sh,過幾秒鍾便啟動完成,

      輸入jps命令查看進程是否啟動成功,若 master上出現HMaster、HQuormPeer,

      slave上出現HRegionServer、HQuorumPeer,就是啟動成功了

      (2)輸入hbase shell 命令 進入hbase命令模式

          輸入status命令可以看到如下內容,1個master,2 servers,3機器全部成功啟動。

          1 active master, 0 backup masters, 2 servers, 0 dead, 2.0000 average load

    (3)接下來配置本地hosts,(前邊配置過的無需再配置了)

       編輯 C:\Windows\System32\drivers\etc的hosts文件,加入

        192.168.172.71   master

        192.168.172.72   slave1

        192.168.172.73   slave2

      在瀏覽器中輸入http://master:16010就可以在界面上看到hbase的配置了

    (4)當要停止hbase時輸入stop-hbase.sh,過幾秒后hbase就會被停止了。

    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM