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 [email protected] cat ~/.ssh/id_rsa.pub>> authorized_keys    

       ssh [email protected] 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就會被停止了。

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