Hadoop集群的基本操作(三:HBase的基本操作)

    xiaoxiao2022-07-14  149

    实验

    目的

    要求

     

    目的:

    MySQL数据库的基本命令;MySQL数据库中使用SQL语句;MySQL数据库中数据库,表,数据的操作;

    要求:

    完成MySQL的集群版的安装;MySQL集群的相关服务进程能够正常启动;MySQL集群的SQL服务能够作为系统服务开机自动启动;MySQL客户端能够远程连接MySQL集群的SQL服务;MySQL集群的SQL服务能够远程链接访问;创建表、查询数据等数据库操作能够正常进行;MySQL集群的数据库数据能够在多个SQL服务节点之间实现同步;MySQL数据库的基本命令和SQL语句的使用;正确完成练习内容;

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    五台独立PC式虚拟机;主机之间有有效的网络连接;每台主机内存2G以上,磁盘50G;所有主机上安装CentOS7-64位操作系统;所有主机已完成静态网络地址、主机名、主机地址映射的配置;已完成MySQL数据库平台的搭建;在安装MySQL服务节点的PC机或者虚拟机操作;

     

    软件版本:

            选用MySQL Cluster的7.5.7版本;

    集群规划:

              * MySQL数据库的集群版本有管理节点、 数据服务节点、 SQL服务节点总共3类服务节点, 集群中要求至少一台单独的主机作为管理节点, 而集群模式需要满足数据有备份和数据处理能够分布并行的基本要求, 所以需要两台或以上的主机作为数据服务节点以及两台或以上的主机作为SQL服务节点, 具体规划如下:

    主机名

    IP地址

    服务描述

    Cluster-01

    192.168.10.111

    MC管理节点

    Cluster-02

    192.168.10.112

    MC数据服务节点

    Cluster-03

    192.168.10.113

    MC数据服务节点

    Cluster-04

    192.168.10.114

    MC SQL服务节点

    Cluster-05

    192.168.10.115

    MC SQL服务节点

     

     

    练习内容

    步骤一:启动MySQL

    1、启动管理节点;

    2、启动数据服务节点;

    3、启动SQL服务节点;

    练习一:表的创建、插入数据;

    1、创建一个数据库;

    2、创建一个mytable表并显示表结构;

     

    3、向表中插入一条记录;

    4、查找表中已存在的数据;

     

    练习二:将TXT文件导入表中;

      1、在home目录下创建mysql.txt文件,并写入数据;

    2、给数据库导入TXT文件数据;

       命令:

    >load data local infile "/home/mysql.txt" into table mytable fields terminated by '\t' lines terminated by '\n';

    3、在MySQL连接工具中查看插入数据;

    练习三:SQL查询语句;

       1、查看表结构;

       

       2、查询所有列及指定列;

      

       3、查询指定行;

      

    作业一:数据库基本操作

    根据下列表格中所提供的关系型数据库的数据模型和数据,在MySQL数据库中创建和添加相应的数据库、表、数据。

    书籍信息表(BOOK_INFO)

    Title

    Borrower

    sex

    Munber

    lendingdate

    Returndate

    Yuncunchu

    Zhangsan

    f

    20170001

    2017-09-09

    2017-09-09

    Shujuku

    Lisi

    m

    20170002

    2017-09-09

    2017-09-09

    xunihuajishu

    wanger

    f

    20170003

    2017-09-09

    2017-09-09

    1、创建work数据库并插入数据;

    2、查看插入数据;

    3、指定行列查看数据;

    4、使用连接工具查看数据;

    作业二:将作业一常见的数据库机器中的数据导出为SQL脚本文件;

       1、导出数据;

       2、查看导出文件;

       

     

    出现的问题与解决方案

    本实验未遇到错误,介绍几个排错技巧:

    1、一般,报错的时候都会有error code。比如ERROR 1504,Error: 2303等等,遇到这些报错,我们可以先用mysql的报错工具perror查看,比如查看报错号为1504的错误,使用命令为: perror --ndb 1504

    2、在出现报错以后,查看WARNINGS或ERRORS信息,比如出现Error CODE : 1528 Failed TO CREATE LOGFILE GROUP后输入SHOW WARNINGS;,会显示出具体的报错信息:

      Got error 1504 'Out of logbuffer memory' FROM NDB

      Failed TO CREATE LOGFILE GROUP

    以上报错代码,均可在官网找到解决方案。

    知识拓展

    1、MySQL集群优缺点;

    优点:

    a) 99.999%的高可用性

    b)快速的自动失效切换

    c)灵活的分布式体系结构,没有单点故障

    d)高吞吐量和低延迟

    e)可扩展性强,支持在线扩容

    缺点:

    a)存在很多限制,比如:不支持外键

    b)部署、管理、配置很复杂

    c)占用磁盘空间大,内存大

    d)备份和恢复不方便

    e)重启的时候,数据节点将数据load到内存需要很长时间

     

    2、MySQL集群如何存储数据;

    a)Master执行提交语句时,事务被发送到slave,slave开始准备事务的提交。

    b)每个slave都要准备事务,然后向master发送OK(或ABORT)消息,表明事务已经准备好(或者无法准备该事务)。

    c)Master等待所有Slave发送OK或ABORT消息

    如果Master收到所有 Slave的OK消息,它就会向所有Slave发送提交消息,告诉Slave提交该事务;如果Master收到来自任何一个Slave的ABORT消息,它就向所有 Slave发送ABORT消息,告诉Slave去中止事务。

    e)每个Slave等待来自Master的OK或ABORT消息。

    如果Slave收到提交请求,它们就会提交事务,并向Master发送事务已提交 的确认;如果Slave收到取消请求,它们就会撤销所有改变并释放所占有的资源,从而中止事务,然后向Masterv送事务已中止的确认。

    f)当Master收到来自所有Slave的确认后,就会报告该事务被提交(或中止),然后继续进行下一个事务处理。

     

     

     

    3、使用SQLyog连接MySQL集群192.168.10.114或者192.168.10.115

    4、MySQL常用的相关命令

    登录数据库--mysql -u root -p远程登录数据库--mysql -h 主机名或IP地址 -u 用户名 -p导出数据库--mysqldump -u 用户名 -p 数据库名>导出的路径与导出的文件名:mysqldump -uroot -pmysqlabc mysql>/home/123.sql导出数据库中的指定表--mysqldump -u 用户名 -p 数据库名 表名>导出的路径与导出的文件名导出数据库的结构信息--mysqldump -u 用户名 -p -d --add-drop-table 数据库名>导出的路径与导出的文件名恢复数据库--mysqldump -u 用户名 -p 数据库名< 需要导入的文件名和路径在登录数据库后,使用source语句进行数据库恢复--use bb;source /home/123.sql;(2)Mysql 控制台命令设置密码--set password=password;创建数据库--create database abcDB;添加新用户  host:%; user:abc; password:1234;Grant all on abcDB.*to ‘abc’@’%’identified by ‘1234’with grant option;为用户授权“grant 权限 on 数据库名.表名 to 用户名@登录主机名IP地址 identified by ’自定义密码‘;”。--grant all on test.*to abc@’@’identified by ‘1234’刷新权限信息--flush privileges;查询用户信息--select user,host,authentication_string from mysql.user;显示数据库列表--show databases;删除数据库--drop database 数据库名;使用数据库--use 数据库名;删除用户--delete from user where user=’abc’and host=’%’;显示数据表列表--show tables;显示数据表详细描述信息--describe 表名;显示用户表信息--describe user;
    最新回复(0)