hbase伪分布式配置
软件环境
RedHat5.4 x64
hadoop-1.1.1 http://mirror.bjtu.edu.cn/apache/hadoop/common/hadoop-1.1.1/hadoop-1.1.1-bin.tar.gz
hbase-0.94.4 http://mirror.bjtu.edu.cn/apache/hbase/stable/hbase-0.94.4.tar.gz
java jdk1.6
jdk安装和配置
略过...
安装和配置ssh
确认ssh是否安装
[root@localhost ~]# which ssh
/usr/bin/ssh
[root@localhost ~]# which sshd
/usr/sbin/sshd
[root@localhost ~]# which ssh-keygen
/usr/bin/ssh-keygen
配置SSH,使其可以自动登录
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
测试:$ ssh localhost
关闭防火墙
这个非常坑爹,一定要关了。
$ chkconfig iptables off
配置hadoop
配置hadoop
将hadoop解压后,配置conf目录下的四个文件:
conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.3.206:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/log/hadoop_data</value>
</property>
</configuration>
conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.3.206:8021</value>
</property>
</configuration>
conf/hadoop-env.sh
将 #export JAVA_HOME=/usr/lib/jvm/java-6-sun
改为 export JAVA_HOME=***/***(自己的JAVA_HOME的主目录)
通过以上步骤hadoop即安装配置完成,进入bin目录
$./start-all.sh //启动hadoop的各个监护进程
可以通过http://localhost:50070 和http://localhost:50030 查看namenode和jobtracker。
$./stop-all.sh //关闭hadoop的各个监护进程
配置hbase
./hbase-0.94.4 /conf/hbase-env.sh
修改下面的行:
# export JAVA_HOME=/usr/java/jdk1.6.0/
export JAVA_HOME=/usr/java/jdk1.6.0_38
# export HBASE_MANAGES_ZK=true
export HBASE_MANAGES_ZK=true
./hbase-0. 94.4/conf/hbase-site.xml
修改为下面的:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.3.206:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.3.206</value>
</property>
</configuration>
hdfs://192.168.3.206:8020与hadoop中core-site.xml的配置项一致
替换Hbase中的jar包
需要{HADOOP_HOME}下hadoop-core-*.jar和{HBASE_HOME}/lib下hadoop-core-*.jar保持一致。如果不一致Hbase启动时会因为hadoop和Hbase的客户端协议不一致而导致HMaster启动异常。报错如下:
localhost: Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41)
设置hosts
[root@xiekang-pc bin]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost localhost
192.168.3.206 xiekang-pc xiekang-pc
启动
完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop,再启动Hbase,关闭顺序:先关闭Hbase,再关闭Hadoop。
官网资料
部分翻译过的中文资料,解决了我的阅读障碍。。。
http://abloz.com/hbase/book.html