云计算技术 实验五 Hbase的安装和基础编程

这篇具有很好参考价值的文章主要介绍了云计算技术 实验五 Hbase的安装和基础编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考资料为:

教材代码-林子雨编著《大数据基础编程、实验和案例教程(第2版)》教材所有章节代码_厦大数据库实验室博客

1.实验学时

4学时

2.实验目的

  • 熟悉Hbase的安装和配置。
  • 熟悉Hbase的相关命令。
  • 实现Hbase的Java编程调用。

3.实验内容

(一)安装Hbase,能够查询Hbase的版本。

首先将压缩包传入linux中进行压缩:

云计算技术 实验五 Hbase的安装和基础编程

云计算技术 实验五 Hbase的安装和基础编程

后面把文件名改了,将hbash目录的权限赋值给hadoop用户:

         云计算技术 实验五 Hbase的安装和基础编程

然后在hbash路径下修改文件,配置环境变量:

先改变路径到hbash文件夹:

云计算技术 实验五 Hbase的安装和基础编程

然后vim编译文件,加入路径名字:

云计算技术 实验五 Hbase的安装和基础编程

然后使修改立刻生效:

云计算技术 实验五 Hbase的安装和基础编程

然后添加用户权限:

将HBase安装目录下的所有文件所有者改成hadoop

云计算技术 实验五 Hbase的安装和基础编程

然后查看版本号:

云计算技术 实验五 Hbase的安装和基础编程

安装成功。

(二)单机运行Hbase系统。

先配置环境:(单机环境)

先配置java环境变量:

使用命令进入hbse-env.sh文件(vim进入):路径为/usr/local/hbase/conf/hbase-env.sh

云计算技术 实验五 Hbase的安装和基础编程

找到这两行修改:

云计算技术 实验五 Hbase的安装和基础编程

云计算技术 实验五 Hbase的安装和基础编程

修改成:

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162

export HBASE_MANAGES_ZK=true

然后修改hbase-site.xml,使用下面指令进入文件。

vim /usr/local/hbase/conf/hbase-site.xml

添加配置:

云计算技术 实验五 Hbase的安装和基础编程

然后测试运行hbase

先打开目录,然后再启动Hbase

云计算技术 实验五 Hbase的安装和基础编程

启动成功:

云计算技术 实验五 Hbase的安装和基础编程

然后可以停止运行hBase:

云计算技术 实验五 Hbase的安装和基础编程

(三)实现Hbase的伪分布式启动。

进入要修改的文件

云计算技术 实验五 Hbase的安装和基础编程

先配置hbase-env.sh文件,修改路径

云计算技术 实验五 Hbase的安装和基础编程

然后再配置hbase-site.xml

云计算技术 实验五 Hbase的安装和基础编程

然后启动hbase :

先登录ssh

云计算技术 实验五 Hbase的安装和基础编程

然后启动hadoop :

云计算技术 实验五 Hbase的安装和基础编程

输入jps命令,然后发现进程namenode、secondarynamenode、datanode都启动了

云计算技术 实验五 Hbase的安装和基础编程

切换目录之后再启动hbase

出现以下进程说明启动成功:

云计算技术 实验五 Hbase的安装和基础编程

进入hbase 的shell命令,

云计算技术 实验五 Hbase的安装和基础编程

然后关闭hbase :

云计算技术 实验五 Hbase的安装和基础编程

(四)运行Hbase相关的Shell命令,实现表的创建,数据插入,数据删除,以及数据查看等操作。

先启动hadoop:

云计算技术 实验五 Hbase的安装和基础编程

然后启动hbase:

云计算技术 实验五 Hbase的安装和基础编程

然后进入hbase的shell命令

云计算技术 实验五 Hbase的安装和基础编程

1.创建表:

云计算技术 实验五 Hbase的安装和基础编程

然后可以查看建完的表的信息:

云计算技术 实验五 Hbase的安装和基础编程

2.然后是添加数据

云计算技术 实验五 Hbase的安装和基础编程

3.添加多组数据

云计算技术 实验五 Hbase的安装和基础编程

云计算技术 实验五 Hbase的安装和基础编程

4.查看数据,这里返回95001行的数据;

这里使用get命令

云计算技术 实验五 Hbase的安装和基础编程

使用scan命令

云计算技术 实验五 Hbase的安装和基础编程

5.删除数据:

云计算技术 实验五 Hbase的安装和基础编程

已经删除了这个信息:

云计算技术 实验五 Hbase的安装和基础编程

删除全部信息:

云计算技术 实验五 Hbase的安装和基础编程

6.然后是删除表的操作:

先让表不可使用

云计算技术 实验五 Hbase的安装和基础编程

删除student表

云计算技术 实验五 Hbase的安装和基础编程

7.查询历史信息:

先建立一个teacher表保存信息

云计算技术 实验五 Hbase的安装和基础编程

插入数据后更新数据:

然后指定查询信息:

云计算技术 实验五 Hbase的安装和基础编程

退出数据库,完成操作。

云计算技术 实验五 Hbase的安装和基础编程

(五)实现Hbase的Java编程,在eclipse中创建项目,ExampleForHbase。java代码。

先启动hadoop,然后启动hbase

云计算技术 实验五 Hbase的安装和基础编程

然后启动eclipse:

云计算技术 实验五 Hbase的安装和基础编程

创建新的项目:

云计算技术 实验五 Hbase的安装和基础编程

然后next之后在下一个界面点击libraries,之后选择add external jars

然后在usr/local/hbase/lib目录下选择要导入的jar包

云计算技术 实验五 Hbase的安装和基础编程

然后进入最上面的目录导入剩下的jar包

云计算技术 实验五 Hbase的安装和基础编程

完成之后点击finsh

之后右键新创建的hbaseexmaple创建一个新的class

云计算技术 实验五 Hbase的安装和基础编程

然后输入代码:下面为java代码

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.*;
import org.apache.hadoop.hbase.client.*;
import org.apache.hadoop.hbase.util.Bytes;
 
import java.io.IOException;
public class ExampleForHBase {
    public static Configuration configuration;
    public static Connection connection;
    public static Admin admin;
    public static void main(String[] args)throws IOException{
        init();
        createTable("student",new String[]{"score"});
        insertData("student","zhangsan","score","English","69");
        insertData("student","zhangsan","score","Math","86");
        insertData("student","zhangsan","score","Computer","77");
        getData("student", "zhangsan", "score","English");
        close();
    }
 
    public static void init(){
        configuration  = HBaseConfiguration.create();
        configuration.set("hbase.rootdir","hdfs://localhost:9000/hbase");
        try{
            connection = ConnectionFactory.createConnection(configuration);
            admin = connection.getAdmin();
        }catch (IOException e){
            e.printStackTrace();
        }
    }
 
    public static void close(){
        try{
            if(admin != null){
                admin.close();
            }
            if(null != connection){
                connection.close();
            }
        }catch (IOException e){
            e.printStackTrace();
        }
    }
 
    public static void createTable(String myTableName,String[] colFamily) throws IOException {
        TableName tableName = TableName.valueOf(myTableName);
        if(admin.tableExists(tableName)){
            System.out.println("talbe is exists!");
        }else {
            TableDescriptorBuilder tableDescriptor = TableDescriptorBuilder.newBuilder(tableName);
            for(String str:colFamily){
                ColumnFamilyDescriptor family = 
ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes(str)).build();
                tableDescriptor.setColumnFamily(family);
            }
            admin.createTable(tableDescriptor.build());
        } 
    }
 
    public static void insertData(String tableName,String rowKey,String colFamily,String col,String val) throws IOException { 
        Table table = connection.getTable(TableName.valueOf(tableName));
        Put put = new Put(rowKey.getBytes());
        put.addColumn(colFamily.getBytes(),col.getBytes(), val.getBytes());
        table.put(put);
        table.close(); 
    }
 
    public static void getData(String tableName,String rowKey,String colFamily, String col)throws  IOException{ 
        Table table = connection.getTable(TableName.valueOf(tableName));
        Get get = new Get(rowKey.getBytes());
        get.addColumn(colFamily.getBytes(),col.getBytes());
        Result result = table.get(get);
        System.out.println(new String(result.getValue(colFamily.getBytes(),col==null?null:col.getBytes())));
        table.close(); 
    }
}

云计算技术 实验五 Hbase的安装和基础编程

然后运行代码:

云计算技术 实验五 Hbase的安装和基础编程

程序运行成功:

云计算技术 实验五 Hbase的安装和基础编程

在新的终端中启动hbase的shell命令之后查看list

云计算技术 实验五 Hbase的安装和基础编程

发现有student的表

然后再查看student表中的数据

云计算技术 实验五 Hbase的安装和基础编程

完成编译。

4.思考题

(一)Hbase和传统的关系型数据库相比,有哪些特点?

1.Hbase的容量十分大,它里面的表可以存储很多行和列组成的数据。

2.Hbase的版本十分的多,它表中的每一个列的数据都有多个版本,一般来说,每一个列对应着一条数据,可能有的数据会对应着多个版本。每个版本对应的查看相对方便。

3.Hbase中的表中的列可以是空的,对于空列,它不会占用空间,对于表的设计可以相对随意。

4.对于Hbase当存储空间不够的时候,由于Hbase底层使用HDFS,可以动态增加机器解决空间问题。

5.Hbase的可靠性更高,由于底层使用HDFS,所以HDFS具有备份的机制,当Spark集群发生严重的问题的时候,Hbase中的机制可以保证数据不会发生丢失或者损毁。

(二)Hbase创建的应用程序,需要导入哪些安装包,这些安装包里面有什么功能?

1.在单机配置的时候,需要导入java的jdk文件,用于后面调用eclipse进行java项目的编写,配置hbase-env.sh文件还需要加上对应的路径。

2.在使用eclipse的时候,导入的jar包用于实现java项目的编写,对应的有向Hbase中输入数据的jar包,连接Hbase数据库的包,使用shell命令的包等。

3.在配置伪分布式模式的时候,需要设置好对应的访问路径用于使用hadoop等,这些访问路径对应的包是已经安装好的。

5.实验结论或体会

1.在添加用户权限的时候,需要注意对应的文件夹不要配置错误权限。

2.Hbase中使用Shell命令的时候,需要注意退出之后,要重新使用对应的进入命令才能继续使用Shell命令操作Hbase

3.退出数据库的时候,需要注意路径的问题可能导致退出失败。

4.在操作eclipse的时候,导入jar包的时候,对应的包需要全部导入,路径不要错了。

5.操作eclipse之前,一定要运行hadoopHbase之后,运行代码才会有结果,对应的Hbase中才会出现数据。文章来源地址https://www.toymoban.com/news/detail-503757.html

到了这里,关于云计算技术 实验五 Hbase的安装和基础编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hbase--技术文档--单机docker基础安装(非高可用)

    配置Linux服务器华为云耀云服务器之docker安装,以及环境变量安装 java (虚拟机一样适用)_docker配置java环境变量_一单成的博客-CSDN博客 说明:         本文章安装方式为学习使用的单体hbase项目。主要是 学习!学习!         在docker中直接拉取镜像运行,将端口映射出来

    2024年02月11日
    浏览(30)
  • 计算机网络-基础编程实验(JAVA\Python3)

            通过本实验,学习采用Socket(套接字)设计简单的网络数据收发程序,理解应用数据包是如何通过传输层进行传送的。 学习套接字编程,完成以下的网络数据收发程序。 1.采用TCP进行数据发送的简单程序 2.采用UDP进行数据发送的简单程序 3.多线程/线程池对比 4.简

    2024年02月01日
    浏览(37)
  • HBase的编程实践(实验3_熟悉常用的HBase操作)

    一、Hbase中使用Shell命令: ① HBase中创建表:(create 命令:第一个变量是表名,然后是列族名) 语法:create \\\'表名称\\\',\\\'列族名称1\\\',\\\'列族名称2\\\',\\\'列族名称N\\\' 通过命令 describe \\\'student\\\'  进行查看表的结构: (desc ‘表名’,查看表的结构) ✿ 增加数据 ② put: (put 命令:第一

    2024年02月01日
    浏览(43)
  • 云计算技术 实验八 数据仓库Hive的安装和使用

    参考资料为:   教材代码-林子雨编著《大数据基础编程、实验和案例教程(第2版)》教材所有章节代码_厦大数据库实验室博客 1 . 实验学时 4学时 2 . 实验目的 熟悉Hive的安装 熟悉Hive的基本用法 3. 实验内容 (一)完成Hive的安装和配置Mysql接口。 先进行hive安装包的安装。

    2024年02月06日
    浏览(62)
  • 云计算技术 实验三 安装Hadoop系统并熟悉hadoop命令

    参考资料为: 教材代码-林子雨编著《大数据基础编程、实验和案例教程(第2版)》教材所有章节代码_厦大数据库实验室博客 1 . 实验学时 4学时 2 . 实验目的 熟悉Hadoop系统的安装 掌握Hadoop系统的两种安装方式 掌握Hadoop系统的基本命令 3 . 实验内容 安装虚拟机和Linux环境。

    2024年02月07日
    浏览(39)
  • 云计算技术 实验一 安装docker系统并熟悉docker命令

    环境为windows11,虚拟机为16.04。 需要使用厦门大学林子雨老师的实验镜像进行实验,使用的操作系统为VirtualBox。 VirtualBox下载地址为:Downloads – Oracle VM VirtualBox 镜像为:大数据Linux实验环境虚拟机镜像文件_厦大数据库实验室博客 如若系统之前安装过docker,则可以完全卸载干

    2024年02月05日
    浏览(33)
  • 计算机网络技术与JAVA网络编程URL编程-----JAVA入门基础教程-----计算机网络经典

    import org.junit.jupiter.api.Test; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class URLTest { public static void main(String[] args) { //URL:统一资源定位符(种子),一个URL就定位着互联网上某个资源的地址 //http:应用层协议,IP地址,端口号,资源地址,参数

    2024年02月15日
    浏览(57)
  • 计算机网络技术与JAVA网络编程UDP编程-----JAVA入门基础教程-----计算机网络经典

    import org.junit.jupiter.api.Test; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.*; public class UDP { public static void main(String[] args) { DatagramSocket datagramSocket = null; try { datagramSocket = new DatagramSocket(); InetAddress inetAddress = InetAddress.getByName(\\\"127.0.0.1\\\"); int port = 9090; byte[] byte

    2024年02月15日
    浏览(49)
  • 【李老师云计算】HBase+Zookeeper部署及Maven访问(HBase集群实验)

    本篇博客内容大部分参考了涛哥的博客,在此基础上进行了整合、补充以及融合了我自己的操作,向学长表示敬意! 本次操作,为什么说是操作不是实验呢,因为这个不算课内的作业,而是必须要完成的额外任务,是在完成了【李老师云计算】实验一:Hadoop伪分布式集群部署

    2023年04月20日
    浏览(38)
  • 云计算于大数据入门实验三——熟悉常用的 HBase 操作

    理解HBase在Hadoop体系结构中的角色 熟练使用HBase操作常用的shell命令 熟悉HBase操作常用的Java API 保存程序,并自行存档 最终的程序都必须经过测试,验证是正确的 按照实验报告格式,认真记录实验过程及结果,回答实验报告中的问题。实验报告模板在学习通的资料里面下载。

    2024年02月05日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包