HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系
2016-08-02 07:36
302 查看
HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,HBase的安装到数据库表的操作.包含内容1.HBase单例安装2.HBase伪分布式安装(基于Hadoop的HDFS)过程,3.HBase的shell编程,对HBase表的创建,删除等的命令,HBase对数据的增删查等操作.4.简单概述了Hbase的架构体系.5.zookeeper的单例安装和常用操作.
可以通过输入
在test表为 disable 状态下,删除test表
输入
使用stop-hbase.sh退出hbase
首先停止2HBase(2.8.退出shell并停止HBase)
5.1.创建conf/zoo.cfg
wxl@wxl-pc:/opt/zookeeper$ cp conf/zoo_sample.cfg conf/zoo.cfg
查看zookeeper配置信息
(注意此处为了测试所以dataDir=/tmp/zookeeper,这里每次重启计算机数据就会丢失,如果保留可以放入其他路径,如/home/wxl/zookeeper)
其中,
- tickTime
- tickTime是ZooKeeper的毫秒级计量单位,表示正常的会话时间,如果超过设置值的两倍就会连接超时.
- dataDir
- 设置HBase的路径用于保存内存数据快照和更新数据库事务的日志.
- clientPort
- 设置监听连接客户端的接口
连接zookeeper
5.3.2.HBase创建Znode为zk_test_wangxiaolei
再次get节点zk_test_wangxiaolei可以看到数据已经改变
1.HBase单例安装
1.1下载
1.2.解压并放置特定路径如 /opt
wxl@wxl-pc:~/Downloads$ sudo mv hbase /opt/
1.3.设置JAVA_HOME 环境变量
(注意,如果本机已经设置好JAVA_HOME系统变量则此不步骤不是必须的)进入到hbase路径下/opt/hbase
wxl@wxl-pc:/opt/hbase$ vim conf/hbase-env.sh
#增加JAVA_HOME路径,根据自己jdk安装位稍有不同 export JAVA_HOME=/opt/java/
1.4.编辑conf/hbase-site.xml
HBase默认存储在/tmp路径下,可是每次机器重启,/tmp下的数据会被清除,所以首席那应该更改存储路径,如存在/home/wxl 路径下,并且会创建新的hbase文件夹(如果没有安装zookeeper,没关系,不影响在开发和测试环境下的HBase使用)wxl@wxl-pc:/opt/hbase$ vim conf/hbase-site.xml
<configuration> <property> <name>hbase.rootdir</name> <value>file:///home/wxl/hbase</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/home/wxl/zookeeper</value> </property> </configuration>
1.5.启动HBase
wxl@wxl-pc:/opt/hbase$ bin/start-hbase.sh
2.HBase的shell命令操作
2.1连接HBase shell
wxl@wxl-pc:/opt/hbase$ ./bin/hbase shell
可以通过输入
help命令,来大致了解可以输入命令和Hbase存储的数据结构
2.2.创建表
必须输入表名和列族名(ColumnFamily name)hbase(main):002:0> create 'test','cf'
2.3.查看表
hbase(main):003:0> list 'test' TABLE test 1 row(s) in 0.0320 seconds => ["test"]
2.4.给表赋值
hbase(main):004:0> put 'test', 'wangxiaolei', 'cf:a', 'wov@outlook.com' 0 row(s) in 0.2010 seconds hbase(main):005:0> put 'test', '王小雷','cf:b;','bio get it done' 0 row(s) in 0.0120 seconds hbase(main):006:0> put 'test', 'row3', 'cf:c', 'value3' 0 row(s) in 0.0240 seconds
2.5.对列表计数
使用scan关键字2.6.查询列表中某行
如查询第二行,输入hbase(main):009:0> get 'test','王小雷'
2.7.更改表(删除,修改表)
在更改表之前需要将表的状态更改为disable,在更改完之后可以
enable
hbase(main):009:0> disable 'test' 0 row(s) in 2.5870 seconds hbase(main):010:0> enable 'test' 0 row(s) in 1.2680 seconds hbase(main):011:0> disable 'test' 0 row(s) in 2.2370 seconds
在test表为 disable 状态下,删除test表
hbase(main):012:0> drop 'test' 0 row(s) in 1.2590 seconds
2.8.退出shell并停止HBase
在shell中使用quit命令(或者exit),可以退出hbase shell,但是hbase仍在运行输入
jps可以查看HMaseter守护程序还在
使用stop-hbase.sh退出hbase
wxl@wxl-pc:/opt/hbase$ ./bin/stop-hbase.sh stopping hbase.......
3.HBase伪分布式安装
如果没有安装Hadoop请安装伪分布式的Hadoop教程如下Ubuntu16.04安装Hadoop2.6+Spark1.6+开发实例首先停止2HBase(2.8.退出shell并停止HBase)
3.1.配置伪分布式的hbase-site.xml文件
设置distributed为true,是为了让jvm模拟集群,再者是修改数据保存路径,放置到HDFS上,配置rootdir,其中hdfs://localhost:9000根据自己hadoop配置指定(也可能是hdfs://localhost:8020/hbase)(但是可以不配至,HBase会自动寻找HDFS路径)<configuration> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property>
3.2.启动HBase
wxl@wxl-pc:/opt/hbase$ ./bin/start-hbase.sh
3.3.在HDFS上查看HBase文件
wxl@wxl-pc:/opt/hbase$ hadoop fs -ls /hbase
3.4.HBase上的数据操作,创建表,赋值,删除表等见步骤1.2-1.5
4.HBase的HRegionServer和HMaster及架构体系图
4.1此时使用jps(我开启来hadoop,spark,hbase)
可见,HBase的HRegionServer和HMaster已经开启.wxl@wxl-pc:/opt/hbase$ jps 18065 Master 17795 NodeManager 19379 HRegionServer 17331 DataNode 17669 ResourceManager 17511 SecondaryNameNode 19255 HMaster 19991 Jps 17177 NameNode 19181 HQuorumPeer 18206 Worker 18607 SparkSubmit
4.2.关于HBase的HRegionServer和HMaster是什么,什么样的体系结构,如下图.
5.1 ZooKeeper-3.4.8安装+常用操作实践
版本ZooKeeper-3.4.8 系统Ubuntu16.045.1.创建conf/zoo.cfg
wxl@wxl-pc:/opt/zookeeper$ cp conf/zoo_sample.cfg conf/zoo.cfg
查看zookeeper配置信息
(注意此处为了测试所以dataDir=/tmp/zookeeper,这里每次重启计算机数据就会丢失,如果保留可以放入其他路径,如/home/wxl/zookeeper)
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/tmp/zookeeper clientPort=2181
其中,
- tickTime
- tickTime是ZooKeeper的毫秒级计量单位,表示正常的会话时间,如果超过设置值的两倍就会连接超时.
- dataDir
- 设置HBase的路径用于保存内存数据快照和更新数据库事务的日志.
- clientPort
- 设置监听连接客户端的接口
5.2. 执行zookeeper
开启zookeeperwxl@wxl-pc:/opt/zookeeper$ bin/zkServer.sh start
连接zookeeper
wxl@wxl-pc:/opt/zookeeper$ bin/zkCli.sh -server 127.0.0.1:2181
5.3. zookeeper基本命令
[zk: 127.0.0.1:2181(CONNECTED) 0] help ZooKeeper -server host:port cmd args stat path [watch] set path data [version] ls path [watch] delquota [-n|-b] path ls2 path [watch] setAcl path acl setquota -n|-b val path history redo cmdno printwatches on|off delete path [version] sync path listquota path rmr path get path [watch] create [-s] [-e] path data acl addauth scheme auth quit getAcl path close connect host:port
5.3.1. ls查看路径下有那些文件(在zoo.cfg设置的的参数datadir)
查看#如果没安装HBase此处只显示zookeeper [zk: 127.0.0.1:2181(CONNECTED) 1] ls /
5.3.2.HBase创建Znode为zk_test_wangxiaolei
[zk: 127.0.0.1:2181(CONNECTED) 2] create /zk_test_wangxiaolei my_data
5.3.3.验证(查看)zk_test_wangxiaolei节点下数据
[zk: 127.0.0.1:2181(CONNECTED) 3] get /zk_test_wangxiaolei my_data cZxid = 0x66 ctime = Mon Aug 01 22:06:36 CST 2016 mZxid = 0x66 mtime = Mon Aug 01 22:06:36 CST 2016 pZxid = 0x66 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 7 numChildren = 0
5.3.4.set命令来改变某(如zk_test_wangxiaolei)节点下的数据
[zk: 127.0.0.1:2181(CONNECTED) 4] set /zk_test_wangxiaolei junk cZxid = 0x66 ctime = Mon Aug 01 22:06:36 CST 2016 mZxid = 0x69 mtime = Mon Aug 01 22:29:46 CST 2016 pZxid = 0x66 cversion = 0 dataVersion = 1 aclVersion = 0 ephemeralOwner = 0x0 dataLength = 4 numChildren = 0
再次get节点zk_test_wangxiaolei可以看到数据已经改变
5.3.5.最后删除测试节点
[zk: 127.0.0.1:2181(CONNECTED) 5] delete /zk_test_wangxiaolei [zk: 127.0.0.1:2181(CONNECTED) 6] ls / [zookeeper, hbase] [zk: 127.0.0.1:2181(CONNECTED) 7]
相关文章推荐
- HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系
- Kafka+Storm+HDFS整合实践
- MapReduce(十六): 写数据到HDFS的源代码分析
- Hadoop实验:按规则读取本地文件写入HDFS文件系统
- 使用MapReduce从HBase中读取数据存入HDFS路径问题
- 2、 分布式文件系统HDFS
- flume 中的 hdfs sink round 和roll
- HDFS HA系列实验之四:HA+Federation
- 模拟使用Flume监听日志变化,并且把增量的日志文件写入到hdfs中
- HDFS常用命令
- sparkSQL写数据到hdfs中出现Snappy报错
- Hadoop读书笔记(四)HDFS体系结构
- Hadoop之HDFS工作原理
- HDFS读写数据块--${dfs.data.dir}选择策略
- 利用Flume将MySQL表数据准实时抽取到HDFS
- 炼金术笔记====1 HDFS体系结构简介及优缺点
- HDFS For hdfs-site.xml
- HDFS的运行原理
- HDFS 用户指南
- HDFS介绍