Alan Moment
  • Introduction
  • 智慧家庭
    • Fibaro 系統整合便宜的 IP Cam
  • Life
    • 用AWS Glacier做最後的冷資料備份
    • 如何在macOS修改影音檔日期
  • 3D Printer
    • Atom2.5EX 之血淚組裝
    • 列印經驗紀錄
      • SpoolHolder
    • 製圖經驗
      • Turntable
      • 重製Atom3散熱風扇
    • 線材經驗
      • PETG
        • 首測
  • Kubernetes
    • 使用Kops建立Kubernetes
    • 使用HelmV2
    • Kubernetes的技術問題排解技巧
  • PHP
    • 管理PHP Library的利器Composer
    • PHP安裝JSON
    • Phalcon首發
    • Gearman Job Worker for PHP
    • Laravel 首發 !!!
    • Data Encrypt & Decrypt
  • Python
    • Django + Python 開發環境建置
  • Android
    • Android zipcode library of maven
    • Android use foreign object of OrmLite
    • ProgressBar while loading ListView of Android
    • AsyncTask download image by the Android
    • Use Thread control Android UI
    • Android Universal Image Loader
  • Ruby on Rails
    • Install rmagick on the Windows of Ruby on Rails
    • Ruby on Rails deploy on Heroku
    • Ruby on Rails 小問題
  • React
    • Ditched AngularJS for React
  • Tessel
    • 很潮的 Tessel
    • Connect to Slack on Tessel
    • Baby Help on Tessel
  • Node.js
    • CentOS 安装 Node.js 0.8.5
  • OOAD
    • Injection Principle Design Pattern
  • Linux
    • SSH免密碼登入遠端電腦
    • Apache與Tomcat的結合
    • The bash auto build
  • Hadoop
    • CentOS 5.5 + Hadoop 0.20
    • CentOS 5.5 + Hbase 0.94.8
    • Hadoop + Hbase 叢集環境
    • Hadoop 溝通橋梁之 Thrift 0.7
    • 使用MapReduce之替代方案Hive
    • 使用Sqoop將MySQL資料匯入Hbase
  • Database
    • 吃足苦頭的Mssql
  • IDE
    • Netbeans console中文亂碼解決方法
    • 用NetBeans開發Ruby On Rails
  • Agile
    • 淺談我的Agile
  • 協作工具
    • 建置專屬自己的Github之Gitlab
    • Gitlab 4.1 upgrade to Gitlab 6.0超偷懶方法
    • Install Phabricator and run on the Gitlab
    • Phabricator 基本應用
    • Phabricator review code應用
    • Redmine之基本建置與Scrum應用
    • Omnibus Gitlab 7 基礎操作
    • Git Push Notify to Slack on Gitlab
    • phabricator-extensions-Sprint 無法抓到正確的 Story Points
  • 其他
    • 慶祝Octopress開張
    • 走在時尚的尖端! Ghost
    • 大搬家
    • 網頁教學初體驗
    • 網路攻擊很猖狂
Powered by GitBook
On this page
  • 設置環境變數
  • 免密碼登入遠端電腦
  • 重新配置Hadoop
  • 重新配置Hbase
  • 安裝第二台電腦:slave

Was this helpful?

  1. Hadoop

Hadoop + Hbase 叢集環境

PreviousCentOS 5.5 + Hbase 0.94.8NextHadoop 溝通橋梁之 Thrift 0.7

Last updated 3 years ago

Was this helpful?

這是配合著以及建立的叢集系統,為了方便記錄,所以我分開介紹囉。但記錄畢竟有點久了,有些步驟還需要再架一次才會更正確。

因為Hadoop本身的優勢將文件的儲存和任務處理分散化,Hadoop分散式架構中有兩種負責不同功能的服務器Master服務器和Slave服務器,安裝時假設要為2台服務器安裝Hadoop架構。

本篇環境介紹

  1. 安裝了Java 1.6.x,或以後的版本

  2. 兩台服務器名稱為master和slave

  3. 兩台服務器操作系統均為centos5.*且版本大於等於5.4

  4. master將作為master主服務器使用,slave將作為slave服務器使用:

  5. master和slave的wget命令均可正常使用

  6. master和slave均正常運行且可正確聯繫

  7. master和slave空間足夠

  8. master和slave均已獲取root權限

  9. master的ip位址為192.168.1.28,slave的ip位址為192.168.1.29

設置環境變數

設置hosts在Master和slave的/etc/hosts下共同增加

$ vim /etc/hosts
192.168.1.28 master
192.168.1.29 slave

修改master的hostname文件

$ vim /etc/hostname
master

修改slave的hostname文件

$ vim /etc/hostname
slave

免密碼登入遠端電腦

重新配置Hadoop

配置core-site.xml,在節點下添加

$ vim /opt/hadoop/conf/core-site.xml
<property><name>hadoop.tmp.dir</name><value>/home/hadoop-${user.name}</value></property><property><name>fs.default.name</name><value>hdfs://master:9000</value></property>

配置mapred-site.xml,在節點下添加

$ vim /opt/hadoop/conf/mapred-site.xml
<property><name>mapred.job.tracker</name><value>master:9001</value></property>

修改master文件

$ vim /opt/hadoop/conf/master
master

修改slaves

$ vim /opt/hadoop/conf/slaves
slave

修改内容,注意不是添加是更改

重新配置Hbase

配置hbase-env.sh

$ vim /opt/hbase/conf/hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export HADOOP_CONF_DIR=/opt/hadoop/conf
export HBASE_HOME=/opt/hbase
export HBASE_LOG_DIR=/var/hadoop/hbase-logs
export HBASE_PID_DIR=/var/hadoop/hbase-pids
export HBASE_MANAGES_ZK=true
export HBASE_CLASSPATH=$HBASE_CLASSPATH:/opt/hadoop/conf

配置hbase-site.xml,在節點下添加

$ vim /opt/hbase/conf/hbase-site.xml
<configuration><property><name>hbase.rootdir</name><value>hdfs://master:9000/hbase</value><description>The directory shared by region servers.
	    </description></property><property><name>hbase.tmp.dir</name><value>/var/hadoop/hbase-${user.name}</value><description>Temporary directory on the local filesystem.</description></property><property><name>hbase.cluster.distributed</name><value>true</value><description>The mode the cluster will be in. Possible values are
	      false: standalone and pseudo-distributed setups with managed Zookeeper
	      true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
	        </description></property><property><name>hbase.zookeeper.property.clientPort</name><value>2222</value><description>Property from ZooKeeper's config zoo.cfg.
	    </description></property><property><name>hbase.zookeeper.quorum</name><value>master,slave</value><description>Comma separated list of servers in the ZooKeeper Quorum.
	    </description></property><property><name>hbase.zookeeper.property.dataDir</name><value>/var/hadoop/hbase-data</value></property><property><name>hbase.master</name><value>hdfs://master:60000</value></property></configuration>

將hadoop的設定放到hbase內

$ cd /opt/hbase/conf
$ cp /opt/hadoop/conf/core-site.xml ./
$ cp /opt/hadoop/conf/hdfs-site.xml ./
$ cp /opt/hadoop/conf/mapred-site.xml ./

替换其中内容,如果有加在slave則會變成Datanode

$ vim /opt/hbase/conf/regionservers
slave

這樣就算一台Hbase的叢集環境了

安裝第二台電腦:slave

複製第一台電腦的所有設定到此台機器內,因此於第二台電腦下指令

$ cd /opt/
$ scp -R 192.168.1.28:/opt/hbase ./
$ chown $USER:$USER ./hbase

在第一台電腦master電腦啟動Hbase叢集

$ /opt/hbase/bin/start-hbase.sh

若沒有出現錯誤訊息,代表成功,完整的程序可用jps來看。在第一台電腦上執行jps可以看到

$ jps
HQuorumPeer
HRegionServer
NameNode
HMaster
JobTracker
DataNode
TaskTracker
Jps

參考教學:

Jun 17th, 2013 2:32:00pm

請參考

CentOS 5.5 + Hadoop 0.20
CentOS 5.5 + Hbase 0.94.8
SSH免密碼登入遠端電腦
https://sites.google.com/site/waue0920/Home/hbase/hbase-cong-ji-an-zhuang