• 大数据平台搭建2024(三)


    三:HBase安装

    提前上传hbase安装包至虚拟机

    1 上传、解压

    tar -zxvf hbase-2.0.0-alpha2-bin.tar.gz -C /hadoop
    
    • 1

    2 修改配置文件

    /hadoop/hbase-2.0.0-alpha2-bin/conf文件夹里

    vi /hadoop/hbase-2.0.0-alpha2/conf/hbase-env.sh
    
    • 1

    修改hbase-env.sh文件

    export JAVA_HOME=/usr/java/jdk1.8.0_161
    export HBASE_MANAGES_ZK=false #不使用HBase内置的zk,使用外部配置好的zk
    
    • 1
    • 2

    修改hbase-site.xml文件

    在最后的configuration标签改成如下内容:

    <configuration>
    	
    	<property>
    		<name>hbase.rootdirname>
    		<value>hdfs://ns1/HBasevalue>
    	property>
    	
    	<property>
    		<name>hbase.cluster.distributedname>
    		<value>truevalue>
    	property>
    	
    	<property>
    		<name>hbase.mater.info.portname>
    		<value>16010value>
    	property>
    	
    	<property>
    		<name>hbase.regionserver.info.portname>
    		<value>16030value>
    	property>
    	
    	<property>
    		<name>hbase.zookeeper.quorumname>
    		<value>node01,node02,node03value>
    	property>
    configuration>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在这里插入图片描述

    配置regionservers

    vi /hadoop/hbase-2.0.0-alpha2/conf/regionservers
    
    • 1
    node01
    node02
    node03
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    配置环境变量,(02\03可以不配置hbase的环境变量)

    vi /etc/profile
    
    • 1

    添加如下内容

    export HBASE_HOME=/hadoop/hbase-2.0.0-alpha2
    export PATH=$PATH:$HBASE_HOME/bin
    
    • 1
    • 2

    在这里插入图片描述

    使配置文件生效

    source /etc/profile
    
    • 1

    在这里插入图片描述

    复制hadoop(/hadoop/hadoop-2.7.7/etc/hadoop/)里的hdfs-site.xmlcore-site.xml到hbase(/usr/opt/hadoop/hbase-2.0.0-alpha2/conf)中

    cp /hadoop/hadoop-2.7.7/etc/hadoop/hdfs-site.xml /hadoop/hbase-2.0.0-alpha2/conf/
    cp /hadoop/hadoop-2.7.7/etc/hadoop/core-site.xml /hadoop/hbase-2.0.0-alpha2/conf/
    
    • 1
    • 2

    3 复制01的hbase到02、03节点

    scp -r /hadoop/hbase-2.0.0-alpha2/ root@node02:/hadoop
    scp -r /hadoop/hbase-2.0.0-alpha2/ root@node03:/hadoop
    
    • 1
    • 2

    4 启动Hadoop

    要先启动Hadoop和zookeeper

    cd ~
    sh start-all.sh
    
    • 1
    • 2

    多起几次确保服务等能起来(看到通过jps查看到namenode,再启动一次即可)
    启动hbase

     start-hbase.sh
    
    • 1

    使用jps查看
    出现HMaster和HRegionServer即可
    在这里插入图片描述

    可能也会出现服务掉线的情况,再启几次即可
    浏览器输入
    http://node01:16010 能看到3台节点的信息
    在这里插入图片描述

    5 HBase的终端

    进入hbase的命令界面

    hbase shell 
    
    • 1

    6 HBase测试

    6-1 显示hbase中的表
    list
    
    • 1
    6-2 创建表user,包含info、data两个列族
    create 'user','info','data'
    
    • 1
    6-3 向user中插入数据
    put 'user' , 'rk0001','info:name', 'zhangsan' 
    put 'user','rk0001','info:gender','female'
    put 'user','rk0001','info:age',20
    put 'user','rk0001','data:pic','http://xxxx.jpg'
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述

    6-4 get查询

    查看user中rk0001的所有信息

    get 'user','rk0001'
    
    • 1

    查看user中rk0001的info列族所有信息

    get 'user','rk0001','info'
    
    • 1

    查看user中rk0001的info列族中name,age的信息

    get 'user','rk0001','info:name','info:age'
    
    • 1

    查看user中rk0001的info,data列族的信息

    get 'user','rk0001','info','data'
    
    • 1

    表达式查询

    get 'user','rk0001',{COLUMN=>['info','data']}
    get 'user','rk0001',{COLUMN=>['info:name','data:pic']}
    
    • 1
    • 2

    获取user的rk0001时,HBase默认的版本为VERSIONS为1,只会取一个版本的数据,需要修改表的版本号

    alter 'user',{NAME=>'info',VERSIONS=>3}
    
    • 1

    再向info:name插入数据,就可一查看历史版本的数据

    get 'user','rk0001',{COLUMN=>'info:name',VERSIONS=>3}
    
    • 1

    在这里插入图片描述

    6-5 其他操作

    查询列中包含a的信息

    get 'user','rk0001',{FILTER=>"(QualifierFilter(=,'substring:a'))"}
    
    • 1

    在这里插入图片描述

    查询user的所有信息

    scan 'user'
    
    • 1

    在这里插入图片描述

    user表添加列族

    alter 'user',NAME=>'f1'
    
    • 1

    在这里插入图片描述

    删除f1列族

    alter 'user','delete'=>'f1'
    
    • 1

    在这里插入图片描述

    删除user的rk0001的info:age的数据

    delete 'user','rk0001','info:age'
    
    • 1

    停用表

    disable 'user'
    
    • 1

    删除表(要先停用再删除)

    drop 'user'
    
    • 1

    在这里插入图片描述

    7 打快照

    关闭所有服务

    sh stop-all.sh
    
    • 1

    关闭hbase服务

    hbase-daemon.sh stop regionserver
    hbase-daemon.sh stop master
    
    • 1
    • 2

    在这里插入图片描述

    内容:HBase环境配置成功(3个节点都打快照)
    在这里插入图片描述

    据说关机,再打快照,更省空间
    请添加图片描述
    感谢大家的支持,关注,评论,点赞!
    再见!!!

  • 相关阅读:
    PHP 大文件分块上传 底层实现
    烽火传递——单调队列优化dp问题
    如何为勒索软件攻击做准备?
    Java 替换PDF中的字体
    NTP/NTPD-时间同步服务
    使用composer开发自己的扩展包
    “银行家算法”大揭秘!在前端表格中利用自定义公式实现“四舍六入五成双”
    无法将类型为“Newtonsoft.Json.Linq.JObject”的对象转换为类型“Newtonsoft.Json.Linq.JArray”解决方法
    Linux 系统与本地 windows 系统相差30s左右问题解决方案
    【vscode远程开发】使用SSH远程连接服务器 「内网穿透」
  • 原文地址:https://blog.csdn.net/weixin_51202460/article/details/137269951