安装HBASE先决条件
SHH安装,并且有公用ssh无密码跳转账号:admin(机器默认会安装SSH)
在namenode和各个slave上用机器名互相ping,ping不通的话,无法进行
JAVA环境安装(JDK1.6即可兼容HBASE-0.90.3版本)
Hadoop环境安装(HADOOP版本为0.20.2完全兼容HBASE-0.90.3版本)
安装路径:/home/admin/deploy/hadoop-0.20.2
安装HBASE
安装HBASE版本为HBASE-0.90.3
安装路径:/home/admin/deploy/ HBASE-0.90.3
核心配置文件
hbaseenv.sh:该文件用来配置hbase所需的特殊环境变量:
HBASE环境变量的设置(如果在~/.bash_profile中设置了环境变量,这里可以不进行配置)
export JAVA_HOME=/home/admin/deploy/java6
export HADOOP_HOME=/home/admin/deploy/hadoop-0.20.2
expoet HBASE_HOME=/home/admin/deploy/HBASE-0.90.3
JAVA虚拟机性能调优(省略不用修改的内容)
export HBASE_MASTER_OPTS="-ea-Xmx2048m -Xms1024m -Xmn512m
exportHBASE_REGIONSERVER_OPTS="-Xmx2048m -Xms1024m -Xmn512m
export HBASE_ZOOKEEPER_OPTS="-Xmx2048m-Xms1024m -Xmn512m
补充解释:
这里的XMS与XMX指的是JAVA虚拟机内存分配策略中的最大可用内存和最小内存设置。
不建议将XMS与XMX设置成一样。因为java的垃圾回收器在内存使用达到XMS值的时候才会开始回收,如果2个值一样,那么JAVA会在使用完所有内存时才会回收垃圾,导致内存LOAD一直很高。
关于XMN这个参数是JAVA内存机制中的年轻代。
整个JVM内存大小=年轻代大小 + 年老代大小 +持久代大小。
持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。这里为了便于计算,取整个堆的一半。
另外:如果JAVA内存设置过小,HBASE启动会报错
Error occurred during initialization of VM
hbase-site.xml:hbase-site. xml配置文件,重要参数如下:
<property>
<name>dfs.tmp.dir</name>
<value>/home/admin/deploy/hdfs/</value>
</property>
设置hdfs本地存放路径,与hadoop保持一致即可。
property>
<name>hbase.rootdir</name>
<value>hdfs://xxxxxxxxxx:9000/hbase</value>
<description>The directory shared by regionservers.</description>
</property>
Hbase根目录地址,启动hadoop配置的路径hdfs://xxxxxxxxxx:9000/后跟hbase即可。
<property>
<name>hbase.tmp.dir</name>
<value>/home/admin/deploy/hdfs/hbase</value>
<description>Temporary directory on the local filesystem.
</description>
Hbase文件存放的本地路径。
<property>
<name>hbase.zookeeper.quorum</name>
<value> xxxxxxxxxx </value>
</property>
HBASE集群的zookeeper的地址,本次安装部署为单机部署,所以集群内容只有一个机器。
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/admin/deploy/hdfs/zookeeper</value>
<description>Property from ZooKeeper's config zoo.cfg.
The directory where the snapshot is stored.
</description>
</property>
HBASE集群的zookeeper数据存放的地址
配置regionservers:
xxxxxxxxxx
添加关联机器地址即可,单机部署只需要Master
启动与停止
启动脚本:start-hbase.sh(直接启动即可):
/home/admin/deploy/hbase-0.90.3-cdh3u1/bin/start-hbase.sh
xxxxxxxxxx: starting zookeeper, logging to /home/admin/deploy/hbase-0.90.3-cdh3u1/bin/../logs/hbase-admin-zookeeper-xxxxxxxxxx.out
starting master, logging to /home/admin/deploy/hbase-0.90.3-cdh3u1/bin/../logs/hbase-admin-master-xxxxxxxxxx.out
xxxxxxxxxx: starting regionserver, logging to /home/admin/deploy/hbase-0.90.3-cdh3u1/bin/../logs/hbase-admin-regionserver-xxxxxxxxxx.out
停止脚本:stop-all.sh(返回内容如下):
stopping hbase....
xxxxxxxxxx: stopping zookeeper.
一些潜规则(权限切换)
在admin账号下使用hbase,需要更改hbase上的目录的权限,此时需要在hbase账号下执行以下两条命令:
hadoopfs -chown -R admin:admin /
hadoop fs -chown -R hadoop:hadoop /user/hadoop/mapred/system