2019独角兽企业重金招聘Python工程师标准>>>

HBase简介

基于Hadoop的NoSql数据库,适合存储半结构化、非结构化的稀疏数据,提供增删改查能力。因为其底层是hdfs,所以具有存储海量数据,高容错,高可用等特点,可以达到关系型数据库(市面上分布式关系型数据库除外)无法企及的上亿记录毫秒级查询能力。

具备行级别的事务能力。

利用hdfs存储数据,mr处理数据,zk作为协调工具

安装与配置

单机模式

解压:

tar -zxvf xxxxx.tar.gz

修改conf/hbase-site.xml

配置hbase使用的数据文件的位置,默认在/tmp/hbase-[username],此目录是linux的临时目录,可能会被系统清空,所以最好修改一下

        <property>      <name>hbase.rootdir</name>  <value>file:///<path>/hbase</value></property>

这种模式几乎不采用,建议学习使用伪分布模式

伪分布模式

解压:

tar -zxvf xxxxx.tar.gz

修改conf/hbase-env.sh

找到JAVA_HOME,将java的安装目录配置进去

修改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:hbase文件存放的目录,hadoop00是hostname(该值需先在/etc/hosts中配置)

dfs.replication:文件备份数,此配置需与hdfs中保持一致

启动:

进入到hbase的安装目录\bin

./start-hbase.sh

进入hbase操作界面:

./hbase shell

完全分布模式

解压:

tar -zxvf xxxxx.tar.gz

修改conf/hbase-env.sh

找到JAVA_HOME,将java的安装目录配置进去

export JAVA_HOME=/home/jionsvolk/proc/jdk1.8.0_65
#如果设置为TRUE会管理配置的ZK集群,这样会导致ZK集群管理的其他分布式组件失效,所以设置为FALSE
export HBASE_MANAGES_ZK false

修改conf/hbase-site.xml

                <property><name>hbase.rootdir</name><value>hdfs://hadoop00:9000/hbase</value></property><!-- 副本数一定要和使用的HDFS副本数配置一致,否则可能导致一些不可预料的问题 --><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>

修改conf/regionservers文件

此文件中配置所有的regionserver的列表

    hadoop01
    hadoop02
    hadoop03

启动集群:

在启动hbase之前,先要启动zookeeper集群和hadoop集群(或者hadoop的伪分布式模式)

./zkServer.sh ##在zk每个机器上启动zk

./start-all.sh ##在hadoop每个机器上启动hadoop伪分布式模式

./start-hbase.sh ##启动hbase集群,该命令会启动其他机器上的所有regionserver和某一台机器上的HMaster。

可以使用jps查看启动的进程,三台主机中只有一台有HMaster进程

如果要设置HMaster的高可用,需要启动它的备用节点,需在非HMaster机器上的执行

./hbase-daemon.sh start master

关闭集群 stop-hbase.sh

基本操作

 #帮助hbase>help#创建表,指定表名、列族,列不属于表的元数据,在添加数据的时候指定即可#test--表名;'colfam1','colfam2'--两个列族hbase>create 'test','colfam1','colfam2'#查看table列表hbase>list#查看表结构hbase>describe 'test'#插入数据#myrow-1 是行键;#q1 q2 q3就是列名;#value-1 value-2 value-3就是列对应的值hbase>put 'test','myrow-1','colfam1:q1','value-1'hbase>put 'test','myrow-2','colfam1:q2','value-2'hbase>put 'test','myrow-2','colfam1:q3','value-3'#查看表的数据hbase>scan 'test'#更新test表myrow-2行的colfam1:q3列对应的数据put 'test','myrow-2','colfam1:q3','value-33'#再次查看表的数据hbase>scan 'test'#根据行键查询数据,与scan的区别是可以查看列的所有版本数据hbase>get 'test','myrow-2'#删除列数据hbase>delete 'test','myrow-2','colfam1:q2'#查看表的数据hbase>scan 'test'#删除表全量数据hbase>truncate 'test'#使表失效hbase>disable 'test'#删除表、会将表结构一起删除hbase>drop 'test'#建表时可以指定VERSIONS,配置的是当前列族在持久化到文件系统中时,要保留几个最新的版本数据,这并不影响内存中的历史数据版本hbase>create 'test',{NAME=>'colfam1',VERSIONS=>3},{NAME=>'colfam2',VERSIONS=>1}hbase>put 'test','myrow-1','colfam1:q1','value-1'#直接使用scan而不加RAW=>true只能查询到最新版本的数据hbase>scan 'test'hbase>put 'test','myrow-1','colfam1:q1','value-2'hbase>scan 'test'hbase>put 'test','myrow-1','colfam1:q1','value-3'hbase>scan 'test'#可以在查询时加上RAW=>true来开启对历史版本数据的查询,VERSIONS=>3指定查询最新的几个版本的数据hbase>scan 'test',{RAW=>true,VERSIONS=>3}hbase>put 'test','myrow-1','colfam1:q1','value-4'hbase>scan 'test'hbase>scan 'test',{RAW=>true,VERSIONS=>3}hbase>put 'test','myrow-1','colfam2:x1','value-1'hbase>scan 'test'hbase>put 'test','myrow-1','colfam2:x1','value-2'hbase>scan 'test'hbase>scan 'test',{RAW=>true,VERSIONS=>3}

转载于:https://my.oschina.net/u/3049601/blog/1820242

HBase安装与命令行操作相关推荐

  1. git修改服务器的命令行,Git版本控制工具安装及命令行操作

    很多小伙伴不知道如何来安装Git版本控制工具,对于命令操作比较陌生.本文做了一个详细的文档,希望对大家有所帮助. 1.git 是什么一个分布式版本控制系统,和SVN类似,但远比SVN强大的一个版本控制 ...

  2. 在Linux下安装aws命令行操作

    使用安装包安装 环境: Linux, OS X, or Unix Python 2 version 2.6.5+ or Python 3 version 3.3+ 检查Python版本 $ pytho ...

  3. Hbase 完全分布式模式的搭建、命令行操作、Java API操作

    追风赶月莫停留,平芜尽处是春山. 文章目录 追风赶月莫停留,平芜尽处是春山. 环境 Hbase 完全分布式模式的搭建 一.下载安装包,解压到合适位置: 二.配置相关的文件: 三.将Hbase复制到其他 ...

  4. 数据仓库 — 07_Kafka的安装与部署(Kafka命令行操作指令、Kafka集群群起脚本、压力测试、节点数量计算、hadoop_zookeeper_flume_kafka群起脚本、默认端口总结)

    文章目录 1 Kafka的安装与配置 2 Kafka命令行操作 2.1 查看当前服务器中的所有topic 2.2 创建topic 2.3 删除topic 2.4 发送消息 2.5 消费消息 2.6 查 ...

  5. macos安装git命令行_MAC OS git客户端安装及操作

    1. 下载安装mac os 版本的git客户端及相关可视化软件 1.1 从git官网上下载匹配的git客户端.pkg格式的包,然后在系统偏好设置-> 安全性与隐私中打开系统默认禁止安装的这个程序 ...

  6. DOS命令行操作MySQL常用命令

    平时用可视化界面用惯了,如果紧急排查问题,没有安装可视化工具的话,只能通过命令来看了. 以备不时之需,我们要熟悉一下命令行操作MySQL. 打开DOS命令窗口:WIN + R 输入cmd,回车 然后输 ...

  7. 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出

    写在前面 个人认为:是否能熟悉使用Shell(项目流程搭建)+R(数据统计与可视化)+Perl/Python等(胶水语言,数据格式转换,软件间衔接)三门语言是一位合格生物信息工程师的标准. 之前分享过 ...

  8. github命令行操作

    首先做准备工作,安装github客户端Git Shell和GitHub,GitHub用于界面化操作,本次主要说一下如果用命令行操作, 1.打开Git Shell,进入本地项目库,cd F:gitdem ...

  9. gitlab ci 自动化部署_前端gitLab加jenkins自动化构建和部署,以及服务器常用的linux命令行操作,免密登录...

    常用的linux命令行操作 将项目部署到服务器后,需要查看文件是否已经部署成功,已经对文件进行增删改查操作,就需要用到命令行操作,常用操作如下: ll 罗列出当前文件或目录的详细信息,含有时间.读写权 ...

最新文章

  1. 索引的匹配方式有哪些?
  2. ITK:建立一个Hello World程序
  3. mysql 修改库的校对集_mysql数据库的基本操作(增删改查、字符集、校对集)
  4. Job 存储和持久化 (第三部分)
  5. python读音有道-Python版有道翻译
  6. webpack,vue中定义的别名怎么在模板, css sass less的图片地址上使用
  7. button执行onclick函数_可能你的react函数组件从来没有优化过
  8. 小榕重复数据清除器xp 怎么用
  9. 37.伪造参数错误的ICMP数据包
  10. 判断丑数python_263. 丑数(Python)
  11. Scarlett~スカーレット 有感,新的价值观
  12. python-用pyinstaller打包.py文件时,出现maxium recursion depth exceeded解决办法
  13. 【时序】时间序列领域的 GAN 模型综述论文笔记
  14. 126邮箱stmp服务器,免费邮箱
  15. 5个可以让你事半功倍的Python自动化脚本
  16. 电力系统中无线测温装置的设计与应用
  17. matlab sskf,[转载]fortran语言常用函数
  18. 将手机3.5mm耳机作为电脑麦克风
  19. Swin Transformer 不重叠窗口
  20. 风控知识点一:常用模型介绍

热门文章

  1. 提高C++性能的编程技术笔记:编码优化+测试代码
  2. Caffe源码中Solver文件分析
  3. tesseract3.01的训练和使用
  4. 神舟台式计算机图片,扩展性媲美台式机!神舟战神K780G拆机图赏
  5. 为什么博图中放置按下按钮无反应_如何更好的设计按钮
  6. 华为畅享8的悬浮窗在哪里_华为畅享8悬浮球设置 | 手游网游页游攻略大全
  7. 华南理工大学计算机应用基础随堂作业,华南理工大学计算机应用基础随堂练习题目及答案...
  8. Spring复习笔记:4
  9. 7-5 二分法求多项式单根 (20分)
  10. php改7z,PHP的7z扩展名? - php