一.前提条件:

(1)文件存储在HDFS文件系统之上。因此必须启动hadoop服务。(namenode,datanode,resourcemanager,nodemanager,historyserver)
(2)源文件依赖于zookeeper。因此需要启动zookeeper服务。(./zkServer ./zkCli.sh)

二,HBase的安装(版本:5.3.6)

(1) tar -zxvf hbase-0.98.6-cdh5.3.6.tar.gz  -C /opt/modules  解压文件包

(2) cd /opt/modules/hbase-0.98.6-cdh5.3.6/conf 进入hbase conf目录下准备进行配置

(3) 编辑hbase-env.sh文件
##Java环境变量的配置
export JAVA_HOME=/opt/modules/jdk1.8.0_151
##是否默认zookeeper设置。自定义的话,选择false。建议自定义
export HBASE_MANAGES_ZK=true

(4) 编辑hbase-site.xml文件

<configuration>
<property>
<name>hbase.tmp.dir</name>
<value>/opt/modules/hbase-0.98.6-cdh5.3.6/data/tmp</value>
</property> <property>
<name>hbase.rootdir</name>
<value>hdfs://tonyliu.local.com:8020/hbase</value>
</property> <property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property> <property>
<name>hbase.zookeeper.quorum</name>
<value>tonyliu.local.com</value>
</property> </configuration>

(6) 编辑regionservers文件(分布式环境可以添加多台)
tonyliu.local.com

(7)启动Hbase
注意事项:启动之前一定要吧/etc/hosts文件中的以下两行注释掉再启动各个服务。
不然Hbase的master及regionserver服务会启动失败(启动后再消失)
##127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
##::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

1.启动master
bin/hbase-daemon.sh start master

2.启动regionserver
bin/hbase-daemon.sh start regionserver

##jps如果出现以下2个服务说明启动成功##

[liupeng@www hbase-0.98.6-cdh5.3.6]$ jps
2816 DataNode
28112 Jps
3713 org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
22850 HMaster
2757 SecondaryNameNode
3622 Main
22939 HRegionServer
2924 NodeManager
3101 QuorumPeerMain

(8)打开Hbase的web界面
http://tonyliu.local.com:60010/master-status

端口号版本不同也不同。我用的是60010的端口。如果web界面能够正常打开。说明Hbase的配置没有问题。

二,Hbase的基本命令
1. 进入Hbase 命令行界面
bin/hbase shell

##其他命令可以直接bin/hbase进行列表查看。

2.help命令查看Hbase中的shell命令

help

3. general于ddl相关命令及示例
##general没什么好说了可以通过以下命令来查看当前用户,版本,状态等基本信息。
(1)COMMAND GROUPS:
  Group name: general
  Commands: status, table_help, version, whoami

##shell命令中分2大块主要的操作命令。分别是ddl于dml。下面先一起来看一下ddl都有哪些常用命令
  Group name: ddl
 (2) Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, show_filters

Group name: namespace
  Commands: alter_namespace, create_namespace, describe_namespace, drop_namespace, list_namespace, list_namespace_tables

<1> 跟关系型数据库不同的是Hbase没有show database,show table等SQL式的命令。在Hbase中有space相关的概念。比如创建database的话用如下方法

【创建name_space】

hbase(main):026:0> create 'liupeng:employee','info','contect','group'

【查看name_space属性】

desc 'liupeng:employee'

【查看所有table表】
hbase(main):059:0> list
TABLE
liupeng:employee
student
2 row(s) in 0.0130 seconds

=> ["liupeng:employee", "student"]

【向table表中插入数据】

hbase(main):029:0> put 'liupeng:employee','1001','info:name','liupeng'
0 row(s) in 0.0300 seconds

hbase(main):030:0> put 'liupeng:employee','1001','info:age','34'
0 row(s) in 0.0120 seconds

hbase(main):031:0> put 'liupeng:employee','1001','contect:mail','liupliup@cn.ibm.com'
0 row(s) in 0.0070 seconds

hbase(main):032:0> put 'liupeng:employee','1001','contect:phone','15962459503'
0 row(s) in 0.0100 seconds

hbase(main):033:0> put 'liupeng:employee','1001','group:number','1'
0 row(s) in 0.0270 seconds

hbase(main):034:0> put 'liupeng:employee','1002','info:name','Jack_Ma'
0 row(s) in 0.0160 seconds

hbase(main):035:0> put 'liupeng:employee','1002','info:age','45'
0 row(s) in 0.0110 seconds

hbase(main):036:0> put 'liupeng:employee','1002','contect:mail','jackMa@alibaba.com'
0 row(s) in 0.0100 seconds

hbase(main):037:0> put 'liupeng:employee','1002','contect:phone','15977634464'
0 row(s) in 0.0210 seconds

hbase(main):038:0> put 'liupeng:employee','1002','group:number','1'
0 row(s) in 0.0110 seconds

hbase(main):039:0> put 'liupeng:employee','1003','info:name','kevin_shi'
0 row(s) in 0.0180 seconds

hbase(main):040:0> put 'liupeng:employee','1003','info:age','40'
0 row(s) in 0.0080 seconds

hbase(main):041:0> put 'liupeng:employee','1003','contect:mail','kevinshi@163.com'
0 row(s) in 0.0120 seconds

hbase(main):042:0> put 'liupeng:employee','1003','contect:phone','18665851263'
0 row(s) in 0.0090 seconds

hbase(main):043:0> put 'liupeng:employee','1003','group:number','2'
0 row(s) in 0.0110 seconds

【查看表中所有数据】
hbase(main):046:0> scan 'liupeng:employee'
ROW                             COLUMN+CELL
 1001                           column=contect:mail, timestamp=1522202414649, value=liupliup@cn.ibm.com
 1001                           column=contect:phone, timestamp=1522202430196, value=15962459503
 1001                           column=group:number, timestamp=1522202455929, value=1
 1001                           column=info:age, timestamp=1522202371257, value=34
 1001                           column=info:name, timestamp=1522202364156, value=liupeng
 1002                           column=contect:mail, timestamp=1522202508002, value=jackMa@alibaba.com
 1002                           column=contect:phone, timestamp=1522202527866, value=15977634464
 1002                           column=group:number, timestamp=1522202544626, value=1
 1002                           column=info:age, timestamp=1522202484166, value=45
 1002                           column=info:name, timestamp=1522202474669, value=Jack_Ma
 1003                           column=contect:mail, timestamp=1522202590768, value=kevinshi@163.com
 1003                           column=contect:phone, timestamp=1522202605976, value=18665851263
 1003                           column=group:number, timestamp=1522202617893, value=2
 1003                           column=info:age, timestamp=1522202568861, value=40
 1003                           column=info:name, timestamp=1522202561029, value=kevin_shi

【获取表中指定数据】
关于获取数据方法很多。这里只是简单演示一个基本的获取操作。

hbase(main):048:0> get 'liupeng:employee','1001',['info:name','info:age','group:1']
COLUMN                          CELL
 info:age                       timestamp=1522202371257, value=34
 info:name                      timestamp=1522202364156, value=liupeng

【删除数据表】
注意:Hbase中不允许直接删除table表。要删除的话需要先disable掉指定的表后再删除。更改也是一样。先disable更改后再enable。

hbase(main):048:0> disable 'liupeng:employee'
hbase(main):048:0> drop 'liupeng:employee'

【删除namespace】
hbase(main):048:0> drop_namespace 'liupeng'

【删除表中一列数据】
delete 'liupeng:employee','1002','contect:mail'
注释:'1002'指定删除的rowkey,指定要删除的列簇'contect:mail'。执行后会自动删除列簇中的value值

【更新表中数据】
hbase(main):030:0> put 'liupeng:employee','1002','contect:mail','tony@163.com'
注释:在Hbase中更新就是put,相当于在原有的基础上更新了数据。只要rowkey跟列簇的指定没有错,那么put的value就为更新后的value值。

HBase 伪分布式环境搭建及基础命令使用的更多相关文章

  1. 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建

    CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...

  2. Hadoop学习笔记1:伪分布式环境搭建

    在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...

  3. 【Hadoop】伪分布式环境搭建、验证

    Hadoop伪分布式环境搭建: 自动部署脚本: #!/bin/bash set -eux export APP_PATH=/opt/applications export APP_NAME=Ares ...

  4. 大数据:Hadoop(JDK安装、HDFS伪分布式环境搭建、HDFS 的shell操作)

    所有的内容都来源与 Hadoop 官方文档 一.Hadoop 伪分布式安装步骤 1)JDK安装 解压:tar -zxvf jdk-7u79-linux-x64.tar.gz -C ~/app 添加到系 ...

  5. hive-2.2.0 伪分布式环境搭建

    一,实验环境: 1, ubuntu server 16.04 2, jdk,1.8 3, hadoop 2.7.4 伪分布式环境或者集群模式 4, apache-hive-2.2.0-bin.tar. ...

  6. CentOS7下Hadoop伪分布式环境搭建

    CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...

  7. HDFS 伪分布式环境搭建

    HDFS 伪分布式环境搭建 作者:Grey 原文地址: 博客园:HDFS 伪分布式环境搭建 CSDN:HDFS 伪分布式环境搭建 相关软件版本 Hadoop 2.6.5 CentOS 7 Oracle ...

  8. Hadoop2.5.0伪分布式环境搭建

    本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...

  9. hbase伪分布式环境的搭建

    一,实验环境: 1, ubuntu server 16.04 2, jdk,1.8 3, hadoop 2.7.4 伪分布式环境或者集群模式 4, hbase-1.2.6.tar.gz 二,环境的搭建 ...

随机推荐

  1. 使用sqlloader向oracle导入文本数据

    文本文件如下,注意文件名必须有后缀,文本行首也需要|分隔符:[oracle@ycr test]$ more person.txt|aaa|123|m|aaa|123|m|aaa|123|m|aaa|1 ...

  2. oracle 比较两个用户表结构的区别。

    create table ESPACE_TABLE ( TABLE_NAME ) not null ) create table ESPACE_COLUMN ( TABLE_NAME ) not nu ...

  3. June 07th 2017 Week 23rd Wednesday

    Failure is the condiment that gives success its flavor. 失败是让成功变美味的调味料. There are kinds of flavors in ...

  4. Fiori里花瓣的动画效果实现原理

    Fiori里的busy dialog有两种表现形式,一种是下图里的花朵形状,由5个不断旋转的花瓣组成.另一种是下图的3/4个圆环不断旋转的效果. 关于前者的效果,可以看我制作的这个视频.这个视频是手动 ...

  5. What is a Thread?

    https://computing.llnl.gov/tutorials/pthreads/ Technically, a thread is defined as an independent st ...

  6. 【洛谷P3811】[模板]乘法逆元

    乘法逆元 题目链接 求逆元的三种方式: 1.扩欧 i*x≡1 (mod p) 可以化为:x*i+y*p=1 exgcd求x即可 inline void exgcd(int a,int b,int &a ...

  7. 读取静态的json文件

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  8. 用HTML写伪类选择器,结构伪类选择器,伪元素选择器样式

    html,css lorem乱序铭文 Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nesciunt, nihil? Lorem ...

  9. nginx 方向代理

    #nginx 监听原理 先监听端口 --> 再配置域名 -->匹配到就访问local 否则 没有匹配到域名就默认访问第一个监听端口的local地址 # vi nginx.conf user ...

  10. 数据恢复顾问(DRA)

    (1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文件和(某些环境下)控制文件的损坏,它不提供spfile和logfile的修复 ...