轉發請說明出處 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:/目标路徑