HBase(二)安装配置使用

安装

  1. 前提:jdk,hadoop,zookeeper
  2. 下载安装包
    在这里插入图片描述

安装-单机模式

  1. jdk,hadoop并且配置了环境变量
  2. 解压安装包
  3. 修改HBase的配置文件 conf/habse-site.xml
hbase.rootdir 这个选项指定了Hbase底层存储数据的磁盘位置
<property>
        <name>hbase.rootdir</name>
        <value>file:///<path>/hbase</value>
</property>
  1. 在单机模式下,此路径配置为磁盘路径,HBase将会基于普通的磁盘文件来进行工作,也即不使用HDFS作为底层存储,优点是方便,缺点是底层数据不是分布式存储,性能和可靠性没有保证,主要用作开发测试,不应用在生产环境下。

伪分布式安装

  1. 前提条件,安装jdk 和 hadoop,并配置了环境变量
  2. 解压安装包
  3. 修改conf/hbase-env.sh修改JAVA_HOME
export JAVA_HOME=xxxx
  1. 修改hbase-site.xml
<property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop00:9000/hbase</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
hbase.rootdir:指定底层存储位置
			在伪分布式模式下,底层使用HDFS存储数据,所以此处配置的是一个HDFS地址
dfs.replication:指定底层HDFS的副本存储数量
			配置了副本数据,明确告知了HBase底层HDFS保存数据时的版本数量

  1. 此种模式下,HBase采用hdfs作为存储具有完整的功能,但是只有一个节点工作,没有性能的提升,可以用作开发测试,不可用作生产环境下。

完全分布式的安装

  1. jdk和hadoop,并配置了环境变量
  2. 解压安装包
  3. 修改conf/hbase-env.sh修改JAVA_HOME
export JAVA_HOME=/home/software/jdk1.8.0_65
  1. 修改conf/hbase-site.xml
<property>
        <name>hbase.rootdir</name>
        <value>hdfs://hadoop00:9000/hbase</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
<property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
</property>
<property>
        <name>hbase.zookeeper.quorum</name>
        <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>
</property>

hbase.rootdir:指定底层存储位置
dfs.replication:指定底层HDFS的副本存储数量
hbase.cluster.distributed:是否开启集群模式
hbase.zookeeper.quorum:完全分布式模式下使用zk作为集群协调工具,通过这个选项配置使用的zk
  1. 修改conf/hbase-env.sh
export HBASE_MANAGES_ZK false
hbase默认HBASE_MANAGES_ZK为true,则HBase会自动管理zk,当HBase启动时,会自动去启动zk,在HBase关闭时,会自动关闭zk。
而在很多的场景下,zk不是专门为HBase服务器,不希望HBase在关闭时连带着关闭zk,此时需要 将此选项改为false
  1. 修改conf/regionservers文件

    在其中配置所有的hbase主机

    每个主机名独占一行

    hbase启动或关闭时会按照该配置启动或者关闭对应主机中的HBase进程

  2. 将配置好的habase拷贝到其他的机器中

scp -r hbase-0.98.17-hadoop2 root@hadoop02:/root/work
scp -r hbase-0.98.17-hadoop2 root@hadoop03:/root/work
  1. 启动关闭关闭hbase
-- 启动zookeeper
-- 启动hadoop
-- 启动hbase
start-hbase.sh
通过浏览器访问hbase:  http://xxx:60010
通过hbase shell 来访问hbase
启用备用的master实现高可用: hbase-daemon.sh satrt master 
关闭hbase:stop-hbase.sh

Hbase的shell操作

  1. hbase提供了shell命令行,便于用户操作

    使用hbase shell 进入命令行

    在hbase shell中,发现无法通过删除键删除数据 必须ctrl+删除键 才可以,用起来很不便利,此时可以修改xshell的配置,解决此问题:
    在这里插入图片描述

  2. HBase的shell命令

help命令:查看帮助信息
general命令组:
	status:查看hbase当前状态
	version:查看版本信息
	whoami:查看当前登录用户信息
ddl命令组:
	list:查看所有表
	create:创建表
	创建表必须指定表名和列族,列族至少有一个,列族可以直接指定一个名字
	>创建指定名称空间指定表名的表
		create 'ns1:t1'
	>create 't1'   指定表名
	>create 't1','cf1'   指定表名和列族
	
	describe:查看表的基本信息
	>desc 'park:tab1'
	
	disable禁用表
	>disable 't1'
	
	enable启用以禁用的表
	>enable 't1'
	
	drop删除表
	>drop 't1'

dml命令组
	put新增数据,修改数据
    指定的表,行,列和可选的时间戳
    >put 'ns1:t1','r1','c1','value'  向指定表,列族,列,行键中插入
    >put 't1','r1','c1','value'
    >put 't1','r1','c1','value',ts1
    
	get获取数据
	获取整行或者是制定单元格中的数据
	>get 't1','r1'
	>get 't1','r1','c1'
	
	scan扫描表
	扫描整表的数据,可以直接扫描整表,也可以带参数实现高级扫描
	>scan 'meta'
	
	delete 删除数据
	>delete 'ns1:t1','r1','c1',ts1

	truncate 摧毁并重建表,表中的数据全被删除,可以实现全表删除的效果
	>truncate 'tab1'

命名空间相关操作
	list_namespace列出所有命名空间
	create_namespace创建指定名称的命名空间
	>create_namespace 'ns1'
	list_namespace_tables列出命名空间中的所有的表
	drop_namespace删除指定的命名空间
	
	
	

猜你喜欢

转载自blog.csdn.net/ifenggege/article/details/84667175