天天看點

Centos6.4-Hadoop1.2.1-Hbase-0.95.2 配置分布式伺服器

轉發請說明出處     http://blog.csdn.net/ligy2005/article/details/12112455

由于自己搭建 是以 沒有 cloudera manager   快 但是 cloudera manager 架起來 對一兩個 機器 負擔 還是 有點 大   管理類和監控類工具過多  導緻 使用記憶體 量  很大   

廢話不多說了直接開始   

我的是64位  是以糾結了一陣  

Centos6.4 x86-64 安裝就不說了  

兩台機器 

192.168.1.117 hadoop.first

192.168.1.118 hadoop.second

需要無密碼直接登陸 配置  這配置 網上有很多  但是我隻配置出來 root的 無密碼登陸  

JDK 需要 1.6.0_45 64位

hadoop-1.2.1-bin.tar.gz  下載下傳下來     http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/

{CSDN:CODE: # tar zxvf hadoop-1.2.1-bin.tar.gz }

hbase-0.95.2-hadoop1-bin.tar.gz      http://mirror.esocc.com/apache/hbase/hbase-0.95.2/

{CSDN:CODE: # tar zxvf hbase-0.95.2-hadoop1-bin.tar.gz }

配置檔案

# vi  /etc/profile
           

#JDK

JAVA_HOME=/tarfile/jdk1.6.0_45

JRE_HOME=/tarfile/jdk1.6.0_45/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

#HADOOP

export HADOOP_DEV_HOME=/tarfile/hadoop-1.2.1

export PATH=$PATH:$HADOOP_DEV_HOME/bin

#HBASE

export HBASE_HOME=/tarfile/hbase-0.95.2-hadoop1

export PATH=$PATH:$HBASE_HOME/bin

zookeeper 用的是Hbase 自帶的

下面是hadoop 配置

core-site.xml

<property>
   <name>hadoop.tmp.dir</name>
   <value>/hadoop/hdtemp</value>
   <description>A base for other temporary directories.</description>
</property>
<property>
   <name>fs.default.name</name>
   <value>hdfs://hadoop.first:8250/</value>
</property>
           

hadoop tmp  目錄 修改了  如果不改 重新開機centos 資料就沒有了

namenode  端口号  8250 在hadoop.first  這台機器上

hadoop-env.sh

這個檔案 需要 

export JAVA_HOME=/tarfile/jdk1.6.0_45   

導入之後  就在這個目錄下的 jdk 上  啟動 hadoop  

hdfs-site.xml

hdfs 檔案系統檔案配置

<property>
	<name>dfs.name.dir</name>
	<value>/hadoop/temp/dfs/name</value>
</property>
<property>
	<name>dfs.data.dir</name>
	<value>/hadoop/temp/dfs/data</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>2</value>
</property>
<property>
        <name>dfs.datanode.max.xcievers</name>
        <value>4096</value>
</property>
           

dfs.name.dir

存放namenode 的資料元檔案

dfs.data.dir

存放HDFS 資料檔案

dfs.replication

有幾台分布式機器

dfs.datanode.max.xcievers

datanode所允許同時執行的發送和接受任務的數量,此項可以導緻記憶體不足

mapred-site.xml

JobTracker 的配置

<property>
  	<name>mapred.job.tracker</name> 
        <value>hadoop.first:49001</value>
</property>
<property>  	
        <name>mapred.local.dir</name> 	
        <value>/hadoop/mapred</value>
</property>
           

mapred.job.tracker

JobTracker  服務的機器和端口  使用的是hadoop.first 主機  端口 49001

mapred.local.dir

存儲 MapReduce 中間資料

下面 是配置 主機和 副機的兩個配置檔案

masters  master機     192.168.1.117

slaves     datanode機      

192.168.1.117  

192.168.1.118

# vi /etc/hosts
           

192.168.1.117 hadoop.first

192.168.1.118 hadoop.second

這裡添加上 hadoop兩個機器的  位址

hadoop 配置完成

# cd  /tarfile/hadoop1.2.1/bin
           

進入 hadoop bin 目錄

執行  

# service iptables stop
# ./start-all.sh
           

沒有修改 防火牆 是以每次 重新開機 完 centos  都要關閉一下

hadoop 啟動了

# jps
           

jps 一下 

192.168.1.117 主機

2882 NameNode

3302 TaskTracker

17536 Jps

2987 DataNode

3104 SecondaryNameNode

3186 JobTracker

192.168.1.118 副機

2836 DataNode

11900 Jps

2910 TaskTracker

服務啟動了 

192.167.1.117:50030  Master  界面

192.167.1.117:50070 NameNode  界面

hadoop dfsadmin -report  看下 有沒有報錯 

一般也就是防火牆 沒有關閉   副機 服務起不起來  

Hbase 配置

hbase etc/profile 已經在 前面就配置了 現在就直接進入 conf  吧

hbase-env.sh

導入jdk路徑

export JAVA_HOME=/tarfile/jdk1.6.0_45

<property>
    <name>hbase.rootdir</name>
    <value>hdfs://hadoop.first:8250/hbase/data</value>
    <description>The directory shared byRegionServers.
    </description>
  </property>
<property>
    <name>hbase.master</name>
    <value>hadoop.first:60000</value>
</property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description>The mode the clusterwill be in. Possible values are
     		false: standalone and pseudo-distributedsetups with managed Zookeeper
     		true: fully-distributed with unmanagedZookeeper Quorum (see hbase-env.sh)
    </description>
  </property>
    <property>
      <name>hbase.zookeeper.property.clientPort</name>
      <value>2222</value>
      <description>Property fromZooKeeper's config zoo.cfg.
      		The port at which the clients willconnect.

    </description>
    </property>
    <property>
      <name>hbase.zookeeper.quorum</name>
      <value>hadoop.first,hadoop.second</value>
      <description>Comma separated listof servers in the ZooKeeper Quorum.
      		For example,"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".
     		By default this is set to localhost forlocal and pseudo-distributed modes
    		of operation. For a fully-distributedsetup, this should be set to a full
    		list of ZooKeeper quorum servers. IfHBASE_MANAGES_ZK is set in hbase-env.sh
     		this is the list of servers which we willstart/stop ZooKeeper on.
      </description>
    </property>
    <property>
      <name>hbase.zookeeper.property.dataDir</name>
      <value>/hadoop/zookeeper</value>
      <description>Property fromZooKeeper's config zoo.cfg.
                   The directory where the snapshot isstored.
      </description>
    </property>

           

hbase.rootdir 

hbase 的資料存儲地方  存在了192.168.1.117 上  /hbase/data 下面

hbase.master

Hmaster 的啟動 端口  和機器   192.168.1.117:60000

hbase.cluster.distributed

這個為true  是 用hbase 自帶的 zookeeper  false 需要自己安裝 zookeeper 

hbase.zookeeper.property.clientPort

zookeeper 的 用戶端 連接配接時的  端口

hbase.zookeeper.quorum

啟動zookeeper 的機器    我配置的是  192.168.1.117 和 192.168.1.118

hbase.zookeeper.property.dataDir

ZooKeeper儲存資料的目錄

regionservers  配置此檔案 

hadoop.first

hadoop.second

hbase 配置完成  兩台機器配置 需要一緻

hbase 可能有點相容問題  

log 日志 工具 jar 包沖突 但是 不影響  運作

為了 能讓 hadoop 和hbase  相容  

把hadoop下  hadoop-core-1.2.1.jar  放到  hbase 的lib 下   并修改  原來的   hadoop-core-1.1.2.jar   為 hadoop-core-1.1.2.jar.backup

其他問題還木有 遇到  

然後進入 bin 目錄

# ./start-hbase.sh
           

再看看程序 192.168.1.117  主機  hadoop.first 2882 NameNode

3302 TaskTracker

7911 HMaster

2987 DataNode

8065 HRegionServer

18641 Jps

3104 SecondaryNameNode

3186 JobTracker

7851 HQuorumPeer

192.168.1.118 副機  hadoop.second 4469 HRegionServer

2836 DataNode

4389 HQuorumPeer

11900 Jps

2910 TaskTracker

HQuorumPeer  就是zookeeper  的程序 

注意事項

Hbase 的hbase.rootdir  路徑  hdfs://hadoop.first:8250/hbase/data

Hadoop 的 fs.default.name  路徑  hdfs://hadoop.first:8250/

這兩個 配置項 路徑可以不一樣  但是 端口 必須一樣  要不然  Hmaster  啟動起來  過一會 就自動 結束了

為了同步 副機的檔案 有個快捷方法   

scp -r  路徑/檔案  192.168.1.118:/目标路徑