HBase 伪分布式安装配置
2016-04-08 22:27
225 查看
我用的版本是hbase-0.20.6,hadoop-0.20.2,将hbase-0.20.6.tar.gz解压到系统主目录下,伪分布式的配置如下:
(1)编辑{HBASE_HOME}/conf/hbase-env.sh 文件,设置JAVA_HOME和HBASE_CLASSPATH变量
export JAVA_HOME=/usr/java/jdk1.6.0_33 (自己的JAVA_HOME主目录,即在/下的目录)
export HBASE_CLASSPATH=/hadoop-0.20.2/conf (自己的HADOOP_HOME主目录,即在/下的目录)
(2)编辑{HBASE_HOME}/conf/hbase-site.xml 文件,增加以下内容
<property>
<name>hbase.rootdir</name>
<value> hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
注:以上表格中标红色的路径一定要跟hadoop中core-site.xml中fs.default.name中的路径相同,否则会出错。
(3)替换Hbase中的jar包
用{HADOOP_HOME}下的hadoop-0.20.2-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-core-0.20.2-core.jar。如果不替换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)
所以如果遇到以上错误,就通过替换jar包解决。
完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。
启动Hbase的命令,进入到hbase安装主目录的bin目录下
$ ./start-hbase.sh //启动hbase
$ ./hbase shell //进入shell模式
$ ./stop-all.sh //停止hbase
如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。
注意:
(1)hbase的运行需要用到zookeeper,而hbase-0.90.3自带了zookeeper,所以可以使用hbase自带的zookeeper,在conf/hbase-env.sh 文件中 export
HBASE_MANAGES_ZK=true ,true表示使用hbase自带的zookeeper,如果不想使用其自带的zookeeper,自己下载包安装的化,该项设置为false。当然如果自己安装zookeeper,启动及关闭先后顺序为:启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集群—>停止Hadoop。
(2) hbase启动时报错:localhost:
Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41) ,原因就是上面hbase安装第三步中提到的没有替换jar包的原因。
下面是一些常用的shell 命令。
$ ./stop-all.sh //停止hbase
注意:在安装HBase时,请尽量与Hadoop 的版本保持一致,否则会影响HBase的稳定性。
默认情况下,HBase的lib文件夹下对应的Hadoop版本相对稳定。如果用户想用其他版本的Hadoop,则需要将Hadoop 安装目录下的had00p-xxx.-core.jar拷贝到HBase的lib文件夹下以替换其他版本的Hadoop 文件。
另外,如果HBase成功安装并启动,会在Hadoop 进程中看到HRegionServer之类的进程。
(1)编辑{HBASE_HOME}/conf/hbase-env.sh 文件,设置JAVA_HOME和HBASE_CLASSPATH变量
export JAVA_HOME=/usr/java/jdk1.6.0_33 (自己的JAVA_HOME主目录,即在/下的目录)
export HBASE_CLASSPATH=/hadoop-0.20.2/conf (自己的HADOOP_HOME主目录,即在/下的目录)
(2)编辑{HBASE_HOME}/conf/hbase-site.xml 文件,增加以下内容
<property>
<name>hbase.rootdir</name>
<value> hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
注:以上表格中标红色的路径一定要跟hadoop中core-site.xml中fs.default.name中的路径相同,否则会出错。
(3)替换Hbase中的jar包
用{HADOOP_HOME}下的hadoop-0.20.2-core.jar 替换掉{HBASE_HOME}/lib目录下的hadoop-core-0.20.2-core.jar。如果不替换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)
所以如果遇到以上错误,就通过替换jar包解决。
完成以上操作,就可以正常启动Hbase了,启动顺序:先启动Hadoop——>再启动Hbase,关闭顺序:先关闭Hbase——>再关闭Hadoop。
启动Hbase的命令,进入到hbase安装主目录的bin目录下
$ ./start-hbase.sh //启动hbase
$ ./hbase shell //进入shell模式
$ ./stop-all.sh //停止hbase
如果在操作Hbase的过程中发生错误,可以通过hbase安装主目录下的logs子目录查看错误原因。
注意:
(1)hbase的运行需要用到zookeeper,而hbase-0.90.3自带了zookeeper,所以可以使用hbase自带的zookeeper,在conf/hbase-env.sh 文件中 export
HBASE_MANAGES_ZK=true ,true表示使用hbase自带的zookeeper,如果不想使用其自带的zookeeper,自己下载包安装的化,该项设置为false。当然如果自己安装zookeeper,启动及关闭先后顺序为:启动Hadoop—>启动ZooKeeper集群—>启动HBase—>停止HBase—>停止ZooKeeper集群—>停止Hadoop。
(2) hbase启动时报错:localhost:
Exception in thread "main" org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 42, server = 41) ,原因就是上面hbase安装第三步中提到的没有替换jar包的原因。
下面是一些常用的shell 命令。
名称 | 命令表达式 |
创建表 | create '表名称', '列名称1','列名称2','列名称N' |
添加记录 | put '表名称', '行名称', '列名称:', '值' |
查看记录 | get '表名称', '行名称' |
查看表中的记录总数 | count '表名称' |
删除记录 | delete '表名' ,'行名称' , '列名称' |
删除一张表 | 先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步 drop '表名称' |
查看所有记录 | scan "表名称" |
查看某个表某个列中所有数据 | scan "表名称" , ['列名称:'] |
注意:在安装HBase时,请尽量与Hadoop 的版本保持一致,否则会影响HBase的稳定性。
默认情况下,HBase的lib文件夹下对应的Hadoop版本相对稳定。如果用户想用其他版本的Hadoop,则需要将Hadoop 安装目录下的had00p-xxx.-core.jar拷贝到HBase的lib文件夹下以替换其他版本的Hadoop 文件。
另外,如果HBase成功安装并启动,会在Hadoop 进程中看到HRegionServer之类的进程。
相关文章推荐
- Facebook's New Real-time Messaging System: HBase to Store 135+ Billion Messages a Month
- Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别
- 基于HBase Thrift接口的一些使用问题及相关注意事项的详解
- 如何解决struts2日期类型转换
- 基于Java实现杨辉三角 LeetCode Pascal's Triangle
- hbase shell基础和常用命令详解
- 手把手教你配置Hbase完全分布式环境
- 实战:在Java Web 项目中使用HBase
- HBase RowKey设计的那些事
- Spark中将对象序列化存储到hdfs
- HBase基本原理
- HBase中的基本概念
- 【原创】基于分布式存储的开源系统在实时数据库海量历史数据存储项目上的预研
- HBase0.96.x开发使用(一)--安装
- 基于外部ZooKeeper的GlusterFS作为分布式文件系统的完全分布式HBase集群安装指南
- 基于solr实现hbase的二级索引
- HBase伪分布式安装
- HBase 快速入门之 --数据模型(逻辑结构)