当前位置: 首页 > 科技观察

HBase集群部署及基本命令

时间:2023-03-18 20:03:56 科技观察

HBase集群部署在安装hbase之前,需要搭建一个hadoop集群和一个zookeeper集群。从http://archive.apache.org/dist/hbase/1.3.1/下载安装包。解压到安装目录。tar-zxvfhbase-1.3.1-bin.tar.gz我解压了。/opt/lagou/servers/hbase-1.3.1目录。修改配置文件,将hadoop中配置的core-site.xml和hdfs-site.xml复制到hbaseln-s/opt/lagou/servers/hadoop-2.9.2/etc/hadoop/core-site下的conf目录下.xml/opt/lagou/servers/hbase-1.3.1/conf/core-site.xmlln-s/opt/lagou/servers/hadoop-2.9.2/etc/hadoop/hdfs-site.xml/opt/lagou/servers/hbase-1.3.1/conf/hdfs-site.xml修改hbase-env.sh。#添加java环境变量exportJAVA_HOME=/opt/module/jdk1.8.0_231#指定使用外部zk集群exportHBASE_MANAGES_ZK=FALSE修改hbase-site.xml。hbase.rootdirhdfs://linux2:9000/hbasehbase.cluster.distributedtruehbase.zookeeper.quorumlinux2:2181,linux3:2181,linux4:2181/配置>修改区域服务器。linux2linux3linux4在hbase的conf目录下创建文件backup-masters。内容如下:linux2在各节点配置环境变量,vi/etc/profile。exportHBASE_HOME=/opt/lagou/servers/hbase-1.3.1exportPATH=$PATH:$HBASE_HOME/bin执行命令使配置生效。source/etc/profile将hbase-1.3.1目录分发到其他2个节点。scp-rhbase-1.3.1linux3:/opt/lagou/servers/scp-rhbase-1.3.1linux4:/opt/lagou/servers/启动集群。#启动命令start-hbase.sh#停止命令stop-hbase.sh启动完成后可以访问地址:HMaster的ip:16010。HBaseshell的基本操作进入HBase客户端命令操作界面。如果在hbaseshellshell命令行中输入了错误的命令,需要使用Ctrl+Backspace删除。查看帮助命令。help查看当前数据库中的表列表创建一个user表,包括两个列族user_info和extra_info。create'user','base_info','extra_info'#或指定版本create'user2',{NAME=>'base_info',VERSIONS=>'3'},{NAME=>'extra_info',VERSIONS=>'3'}添加数据。在user表的行键为rk1的列族base_info的name列中插入值'xiaowang'。put'user','rk1','base_info:name','xiaowang'将值30插入user表中行键为rk1、列族为base_info的age列。put'user','rk1','base_info:age',30将值'shanghai'插入user表的address列,行键为rk1,列族为extra_info。put'user','rk1','extra_info:address','shanghai'查询数据。查询user表中行键为rk1的所有信息。get'user','rk1'查询user表中行键为rk1的base_info列族的所有信息。get'user','rk1','base_info'查询user表中指定列族和指定字段的值。get'user','rk1','base_info:name','base_info:age'查询user表中多个列族的信息。基于行键和列值获取'user','rk1','base_info','extra_info'查询。get'user','rk1',{FILTER=>"ValueFilter(=,'binary:shanghai')"}根据行键和列名进行模糊查询。查询列名:address。get'user','rk1',{FILTER=>"QualifierFilter(=,'substring:add')"}查询表中的所有数据。scan'user'查询表中列族为base_info的信息。scan'user',{COLUMNS=>'base_info'}#扫描时可以设置是否开启Raw模式,如果开启Raw模式,返回包含添加删除标记但未真正删除的数据#VERSIONS指定查询扫描的最大版本数'user',{COLUMNS=>'base_info',RAW=>true,VERSIONS=>3}查询user表中列族为base_info、extra_info的数据,列名包含字符添加。扫描'user',{COLUMNS=>['base_info','extra_info'],FILTER=>"(QualifierFilter(=,'substring:add'))"}rowkey范围值查询。scan'user',{COLUMNS=>'base_info',STARTROW=>'rk1',ENDROW=>'rk3'}指定rowkey模糊查询。查询user表中rowkey以rk开头的数据。扫描'user',{FILTER=>"PrefixFilter('rk')"}更新数据。update操作和insert操作完全一样,只是有数据就更新,没有数据就追加。更新数据值。将user表中rowkey为rk1的base_info列族下的name修改为xiaoliaoput'user','rk1','base_info:name','xiaoliao',删除数据和表。指定要删除的行键和列名。delete'user','rk2','base_info:name'指定要删除的行键、列名和时间戳。delete'user','rk2','base_info:age',1662245345710删除列族。alter'user','delete'=>'extra_info'清除表数据truncate'user'删除表。#先禁用,再drop,否则会报错disable'user'drop'user'