云计算与大数据实验七 HBase的安装与基本操作

简介: 云计算与大数据实验七 HBase的安装与基本操作

一、实验目的

  1. 回顾Hadoop和Zookeeper安装与配置
  2. 掌握HBase安装与配置
  3. 理解HBase工作原理
  4. 掌握HBase表的基本操作

二、实验内容

  1. HBase安装与配置
  2. 使用HBase shell指令创建表
  3. 使用HBase shell命令添加/删除数据
  4. 使用命令删除表

三、实验步骤

(一)HBase安装与配置

HBase安装

HBase的安装也分为三种,单机版、伪分布式、分布式;我们先来安装单机版。

单机版安装

首先我们去官网下载好HBase的安装包;

接下来,将压缩包解压缩到你想安装的目录:

1. mkdir /app
2. cd /opt
3. ulimit -f 1000000
4. tar -zxvf hbase-2.1.1-bin.tar.gz -C /app

安装单机版很简单,我们只需要配置JDK的路径即可,我们将JDK的路径配置到conf/下的hbase-env.sh中。

我们先输入echo $JAVA_HOME来复制JAVA_HOME的路径,以方便之后的配置:

接着我们编辑HBase conf目录下的hbase-env.sh文件,将其中的JAVA_HOME指向到你Java的安装目录,最后保存设置:

vim /app/hbase-2.1.1/conf/hbase-env.sh

然后编辑hbase-site.xml文件,在<configuration>标签中添加如下内容:

1. <configuration>
2.   <property>
3.        <name>hbase.rootdir</name>
4.        <value>file:///root/data/hbase/data</value>
5.   </property>
6.   <property>
7.        <name>hbase.zookeeper.property.dataDir</name>
8.        <value>/root/data/hbase/zookeeper</value>
9.   </property>
10.   <property>    
11.   <name>hbase.unsafe.stream.capability.enforce</name>
12.         <value>false</value>
13.   </property>
14. </configuration>

以上各参数的解释:

  • hbase.rootdir:这个目录是region server的共享目录,用来持久化Hbase。URL需要是'完全正确'的,还要包含文件系统的scheme。例如,要表示hdfs中的 /hbase目录,namenode运行在namenode.example.org的9090端口。则需要设置为hdfs://namenode.example.org:9000 /hbase。默认情况下Hbase是写到/tmp的。不改这个配置,数据会在重启的时候丢失;
  • hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。快照的存储位置,默认是:${hbase.tmp.dir}/zookeeper;
  • hbase.unsafe.stream.capability.enforce:控制HBase是否检查流功能(hflush / hsync),如果您打算在rootdir表示的LocalFileSystem上运行,那就禁用此选项。

配置好了之后我们就可以启动HBase了,在启动之前我们可以将Hbase的bin目录配置到/etc/profile中,这样更方便我们以后操作。 在etc/profile的文件末尾添加如下内容:

1. # SET HBASE_enviroment
2. HBASE_HOME=/app/hbase-2.1.1
3. export PATH=$PATH:$HBASE_HOME/bin

HBASE_HOME为你自己本机Hbase的地址。

不要忘了,source /etc/profile使刚刚的配置生效。

接下来我们就可以运行HBase来初步的体验它的功能了:

在命令行输入start-hbase.sh来启动HBase,接着输入jps查看是否启动成功,出现了HMaster进程即表示启动成功了。

启动成功之后,咱们就可以对Hbase进行一些基本的操作了。

根据上述步骤安装配置好HBase数据库,并启动成功。

请注意,HBase非常消耗资源,所以你在长时间没使用命令行后台会回收资源,如果你想保持环境不被注销,请在弹出延时窗口时点击延时,并且保持操作命令行,这样可以保持你的环境一直持续。

相关代码:

1. 1. #创建 app 目录
2. 2. mkdir /app
3. 3. #进入 /opt 目录下
4. 4. cd /opt
5. 5. #解压 Hbase 压缩包
6. 6. tar -zxvf hbase-2.1.1-bin.tar.gz -C /app
7. 7. #编辑hbase-env.sh配置文件
8. 8. vi /app/hbase-2.1.1/conf/hbase-env.sh
9. 9. 
10. 10. #进入后配置配置
11. 11. export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
12. 12. 
13. 13. #编辑hbase-site.xml配置文件
14. 14. vi /app/hbase-2.1.1/conf/hbase-site.xml
15. 15. 
16. 16. <configuration>
17. 17.   <property>
18. 18.        <name>hbase.rootdir</name>
19. 19.        <value>file:///root/data/hbase/data</value>
20. 20.   </property>
21. 21.   <property>
22. 22.        <name>hbase.zookeeper.property.dataDir</name>
23. 23.        <value>/root/data/hbase/zookeeper</value>
24. 24.   </property>
25. 25.   <property>
26. 26.   <name>hbase.unsafe.stream.capability.enforce</name>
27. 27.         <value>false</value>
28. 28.   </property>
29. 29. </configuration>
30. 30. 
31. 31. 
32. 32. 
33. 33. #配置Hbase环境变量
34. 34. vi /etc/profile
35. 35. 
36. 36. HBASE_HOME=/app/hbase-2.1.1
37. 37. export PATH=$PATH:$HBASE_HOME/bin
38. 38. 
39. 39. #是环境变量生效
40. 40. source /etc/profile
41. 41. 
42. 42. #启动HBase(环境变量配置好后)
43. 43. start-hbase.sh

(二)使用HBase shell指令创建表

Hbase shell操作

启动HBase之后,我们输入hbase shell进入到Hbase shell命令行窗口:

在这里我们输入hbase shell会启动一个加入了一些Hbase特有命令的JRuby JRB解释器,输入help然后按回车键可以查看已分组的shell环境的命令列表。

现在,我们来创建一个简单的表。

要新建一个表,首先必须要给它起个名字,并为其定义模式,一个表的模式包含表的属性和列族的列表。

例如:我们想要新建一个名为test的表,使其中包含一个名为data的列,表和列族属性都为默认值,则可以使用如下命令:

创建完毕之后我们可以输入list来查看表是否创建成功:

编程要求

然后继续在HBase中创建两张表,表名分别为:dept,emp,列都为:data。

相关代码:

1. 1. # 启动 HBase
2. 2. start-hbase.sh
3. 3. # 进入 hbase shell
4. 4. hbase shell
5. 5. create 'test','data'
6. 6. create 'dept','data'
7. 7. create 'emp','data'
8. 8. 
9. 9. 
10. 10. # 退出
11. 11. exit

(三)使用HBase shell命令添加/删除数据

添加数据

我们来给上一步创建的test表的列data添加一些数据:

从上面例子我们可以看出,使用put命令可以用来添加数据,使用get命令可以获取数据。

当然我们肯定还会有一个需求:查看所有的数据。

输入scan命令就可以查看所有的数据了。

删除数据、删除表

我们经常会添加错数据,想要删除然后重新添加应该怎么做呢?

删除整行数据:

deleteall 'test','row1'

指令:deleteall 表名,行名称即可删除整行数据。

有时候我们还想将创建好的表删除,怎么做呢?

为了移除test这个表,首先我们要把它设为禁用,然后在删除:

可以发现删除表需要两个步骤:

  1. disable 表名
  2. drop 表名

接着我们ctrl + c或者 输入exit退出HBase shell命令行。

编程要求

在HBase中创建表mytable,列为data,并在列族data中添加三行数据:

  • 行号分别为:row1,row2,row3;
  • 列名分别为:data:1,data:2,data:3;
  • 值分别为:zhangsan,zhangsanfeng,zhangwuji。

预期输出:

row1column=data:1,value=zhangsanrow2column=data:2,value=zhangsanfengrow3column=data:3,value=zhangwuji3row(s)

row1column=data:1,value=zhangsanrow2column=data:2,value=zhangsanfengrow3column=data:3,value=zhangwuji3row(s)

相关代码:

1. 1. # 启动 HBase
2. 2. start-hbase.sh
3. 3. # 进入 hbase shell
4. 4. hbase shell
5. 5. create 'mytable','data'
6. 6. put 'mytable','row1','data:1','zhangsan'
7. 7. put 'mytable','row2','data:2','zhangsanfeng'
8. 8. put 'mytable','row3','data:3','zhangwuji'
9. 9. 
10. 10. 
11. 11. 
12. 12. # 退出
13. exit

四、实验心得

会使用HBase shell指令创建表

会使用HBase shell命令添加/删除数据

会使用命令删除表

目录
相关文章
|
存储 弹性计算 分布式计算
云端智链:挖掘云计算中的大数据潜能
云端智链:挖掘云计算中的大数据潜能
399 21
|
安全 大数据 虚拟化
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显
随着云计算和大数据技术的发展,Hyper-V在虚拟化领域的地位日益凸显。作为Windows Server的核心组件,Hyper-V具备卓越的技术性能,支持高可用性、动态迁移等功能,确保虚拟机稳定高效运行。它与Windows深度集成,管理便捷,支持远程管理和自动化部署,降低管理成本。内置防火墙、RBAC等安全功能,提供全方位安全保障。作为内置组件,Hyper-V无需额外购买软件,降低成本。其广泛的生态系统支持和持续增长的市场需求,使其成为企业虚拟化解决方案的首选。
|
存储 分布式计算 大数据
大数据与云计算:无缝结合,开启数据新纪元
大数据与云计算:无缝结合,开启数据新纪元
1018 11
|
人工智能 大数据
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
阿里云云计算ACA、大数据ACA、人工智能ACA三门认证升级调整公告
|
人工智能 运维 安全
中企出海大会|打造全球化云计算一张网,云网络助力中企出海和AI创新
阿里云网络作为全球化战略的重要组成部分,致力于打造具备AI技术服务能力和全球竞争力的云计算网络。通过高质量互联网服务、全球化网络覆盖等措施,支持企业高效出海。过去一年,阿里云持续加大基础设施投入,优化海外EIP、GA产品,强化金融科技与AI场景支持。例如,携程、美的等企业借助阿里云实现业务全球化;同时,阿里云网络在弹性、安全及性能方面不断升级,推动中企迎接AI浪潮并服务全球用户。
2303 8
|
存储 安全 网络安全
云计算与网络安全的深度探讨###
【10月更文挑战第21天】 云计算作为信息技术领域的重要组成部分,正在迅速改变我们的工作方式和生活模式。然而,随着云服务的普及,网络安全问题也日益凸显。本文将详细探讨云计算的基本概念、服务模型及其对网络安全的影响,并深入分析数据保护、身份与访问管理、应用程序安全等关键技术领域的最新进展。通过实际案例和技术手段,展示如何在云计算环境下实现全面的安全防护。最后,对未来网络安全的发展进行展望,提供一些启示和建议。 ###
434 5
|
监控 安全 网络安全
云计算与网络安全:技术挑战与解决方案
随着云计算技术的飞速发展,其在各行各业的应用越来越广泛。然而,随之而来的网络安全问题也日益凸显。本文将从云服务、网络安全和信息安全等技术领域出发,探讨云计算面临的安全挑战及相应的解决方案。通过实例分析和代码示例,旨在帮助读者更好地理解云计算与网络安全的关系,提高网络安全防护意识。
497 56
|
存储 安全 网络安全
云计算与网络安全的深度探讨###
本文旨在全面解析云计算环境下的网络安全挑战,涵盖云服务模型、数据安全、身份与访问管理等关键技术领域。通过剖析云计算对网络安全格局的影响,探讨如何构建和维护坚实的安全防护体系,确保云环境中的数据安全、隐私保护及业务连续性。 ###
|
存储 安全 网络安全
云计算与网络安全:技术融合与安全挑战
随着云计算技术的飞速发展,其在各行各业的应用日益广泛。然而,随之而来的网络安全问题也日益凸显,成为制约云计算发展的重要因素。本文将从云服务、网络安全、信息安全等方面探讨云计算与网络安全的关系,分析云计算环境下的网络安全挑战,并提出相应的解决方案。
|
存储 安全 网络安全
云计算与网络安全:技术融合的双刃剑
在数字化浪潮中,云计算如同一股不可阻挡的力量,推动着企业和个人用户步入一个高效、便捷的新时代。然而,随之而来的网络安全问题也如影随形,成为制约云计算发展的阿喀琉斯之踵。本文将探讨云计算服务中的网络安全挑战,揭示信息保护的重要性,并提供实用的安全策略,旨在为读者呈现一场技术与安全的较量,同时指出如何在享受云服务带来的便利的同时,确保数据的安全和隐私。
408 6