版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Loader数据导入导出实战实验背景大数据业务中经常涉及数据迁移操作,尤其是关系型数据库与大数据组件间的数据迁移操作,比如,实现MySql与HDFS/HBase间的数据迁移。Loader基于开源Sqoop组件1.99.x版本进行了功能增强。它的图形化操作使得数据迁移更加方便易行。图:Loader在FusionInsight产品中的位置组件原理通过MapReduce实现并行执行和容错Loader通过MapReduce作业实现并行的导入或者导出作业任务,不同类型的导入导出作业可能只包含Map阶段或者同时Map和Reduce阶段。Loader同时利用MapReduce实现容错,在作业任务执行失败时,可以重新调度。数据导入到HBase在MapReduce作业的Map阶段中从外部数据源抽取数据。在MapReduce作业的Reduce阶段中,按Region的个数启动同样个数的ReduceTask,ReduceTask从Map接收数据,然后按Region生成HFile,存放在HDFS临时目录中。在MapReduce作业的提交阶段,将HFile从临时目录迁移到HBase目录中。数据导入HDFS在MapReduce作业的Map阶段中从外部数据源抽取数据,并将数据输出到HDFS临时目录下(以“输出目录-ldtmp”命名)。在MapReduce作业的提交阶段,将文件从临时目录迁移到输出目录中。数据导出到关系型数据库在MapReduce作业的Map阶段,从HDFS或者HBase中抽取数据,然后将数据通过JDBC接口插入到临时表(StagingTable)中。在MapReduce作业的提交阶段,将数据从临时表迁移到正式表中。数据导出到文件系统在MapReduce作业的Map阶段,从HDFS或者HBase中抽取数据,然后将数据写入到文件服务器临时目录中。在MapReduce作业的提交阶段,将文件从临时目录迁移到正式目录中。实验目的掌握Loader的使用,能够在业务场景中实现数据迁移操作。实验前提实验环境创建成功后,请等待1-2分钟,后台在执行start-oms.sh脚本:执行sh${BIGDATA_HOME}/om-server/om/sbin/status-oms.sh命令查看OMS的状态,显示信息表示主备OMS服务启动正常再执行下一步。在windows-client打开GoogleChrome浏览器登录FusionInsightManager地址(00:8080/web)。用户名admin,密码Huawei!@34(如原密码过期,则自行修改密码)登录FusionInsightManager后,单击“服务管理”,选择“更多操作>启动集群”。在弹出的提示框中单击“确定”,开始启动集群。界面提示“操作成功。”,单击“完成”,集群成功启动。使用SecureCRT工具登录到fihsots-1节点上,接下来进行环境变量设置与用户认证。cd/opt/hadoopclient/切换到客户端安装目录。sourcebigdata_env配置环境变量。kinituser01进行用户认证,输入用户密码客户端文件安装于fihosts-1服务器的/opt/hadoopclient目录中,认证用户user01,密码Huawei!@34实验任务HBase数据导至HDFS首先点击服务管理,然后点击“Loader”。点击“LoaderServer(主)”。使用user01登录到Loader的web界面,然后点击新建作业。配置Loader,设置任务名称,选择类型(数据从HBase导出到HDFS,选择导出)。点击上图中的“添加”。选择hdfs-connector,名称自定义(不可重复)。点击测试,显示“测试成功”表明系统可用。基本信息配置如下,点击”下一步”。配置输入信息,源文件类型选择HBase,个数为Map的任务数,此处填1即可,然后点击下一步。配置转换步骤,点击左侧的输入,然后选择“HBase输入”,将“HBase输入”按钮拖动到右侧区域。接着点击左侧的“输出”,然后选择”文件输出”,将”文件输出”按钮拖动到右侧区域。配置输入输出,查询表cga_info中的内容。如果HBase中没有“cga_info”表,请参照《HBase常用操作》实验任务来创建数据表并增加数据>scan'cga_info'ROWCOLUMN+CELL123002column=info:address,timestamp=1523351932415,value=London123002column=info:age,timestamp=1523351887009,value=40123002column=info:gender,timestamp=1523351993106,value=female123002column=info:name,timestamp=1523351965188,value=Victoria123003column=info:address,timestamp=1523352194766,value=Redding123003column=info:age,timestamp=1523352108282,value=30123003column=info:gender,timestamp=1523352060912,value=female123003column=info:name,timestamp=1523352091677,value=Taylor123004column=info:address,timestamp=1523352217267,value=Cleveland123004column=info:age,timestamp=1523352229436,value=33123004column=info:gender,timestamp=1523352267416,value=male123004column=info:name,timestamp=1523352251926,value=LeBron3row(s)in0.0560seconds配置HBase输入,双击WebUI中HBase输入的按钮。首先输入表的名称“cga_info”,然后点击添加,依次输入列族名,列名,字段名,类型,第三步要勾选“主键”,最后点击确定。双击WebUI中文件输出按钮,配置HDFS输出。首先指定输出分隔符“.”,第二步点击关联,第三步在位置信息上依次输入编号,最后点击确定。连接“HBase输入”和“文件输出”。点击下一步进入输出设置。填写输出路径,选择文件格式,最后点击“保存并运行”。查看运行结果。查看HDFS输出结果:>hdfsdfs-cat/tmp/cg_hbasetohdfs/export_part_1522461215526_0104_0000000123002.Victoria.female.40.London123003.Taylor.female.30.Redding123004.LeBron.male.33.Cleveland由程序结果可以看出表“cga_info”的内容已经成功转移到/tmp/cg_hbasetohdfs目录下的export_part_1522461215526_0104_0000000文件上。HDFS数据导至HBase创建名为’cg_hdfstohbase’的表。>create'cg_hdfstohbase','info'0row(s)in0.4350seconds=>Hbase::Table-cg_hdfstohbase参照实验任务《HBase数据导至HDFS》的前三个步骤来到配置Loader的界面,设置基本信息。配置输入设置。“输入路径”为:/tmp/cg_hbasetohdfs/export_part_1522461215526_0104_0000000,“文件过滤器”为‘*‘,“编码类型”选择“UFT_8”,设置完毕后点击下一步。配置转换步骤,点击左侧的“输入”,然后选择“CSV文件输入”,将CSV文件输入按钮拖动到右侧区域。接着点击左侧的“输出”,然后选择“文件输出”,将文件输出按钮拖动到右侧区域。配置CSV文件输入,双击WebUI中CSV文件输入的按钮。首先输入表的分隔符“.”,然后点击添加,依次输入位置编号,字段名,类型,最后点击确定。配置HBase输出。双击WebUI中HBase输出的按钮,点击关联。勾选名称旁边的方框,然后点击确定。首先输入表名,然后勾选“rowkey”为主键,最后点击确定。连接“CSV文件输入”和“HBase输出”。点击下一步进入输出设置,“存储类型”设置为HBASE_PUTLIST,“个数”设置为1,最后点击“保存并运行”。查看结果。在HBase中查询表‘cg_hdfstohbase’中的内容。>scan'cg_hdfstohbase'ROWCOLUMN+CELL123002column=info:address,timestamp=1523623659052,value=London123002column=info:age,timestamp=1523623659052,value=40123002column=info:gender,timestamp=1523623659052,value=female123002column=info:name,timestamp=1523623659052,value=Victoria123003column=info:address,timestamp=1523623659052,value=Redding123003column=info:age,timestamp=1523623659052,value=30123003column=info:gender,timestamp=1523623659052,value=female123003column=info:name,timestamp=1523623659052,value=Taylor123004column=info:address,timestamp=1523623659052,value=Cleveland123004column=info:age,timestamp=1523623659052,value=33123004column=info:gender,timestamp=1523623659052,value=male123004column=info:name,timestamp=1523623659052,value=LeBron3row(s)in0.0480seconds由结果可以看到,已经将HDFS文件/tmp/cg_hbasetohdfs/export_part_1522461215526_0104_0000000的内容加载到表‘cg_hdfstohbase’中。HDFS数据导至MySql在服务器中安装MySql选择集群中一个节点登录并卸载系统默认的mysql-libs-5.1.71-1.el6.x86_64。接下来的实验以fihsots-1为例:使用命令查看系统之前是否已安装MySQL[root@fihosts-1~]#rpm-qa|grepmysqlmysql-libs-5.1.71-1.el6.x86_64删除旧版本的MySQL并删除旧的残留文件[root@fihosts-1~]#rpm-e--nodepsmysql-libs-5.1.71-1.el6.x86_64[root@fihosts-1~]#rm-rf/var/lib/mysql*[root@fihosts-1~]#rm-rf/usr/share/mysql*MySQL的安装包存放于WindowsClient的“C:\Users\Administrator\Downloads\MySQL\install\”目录中,将文件通过winscp上传至fihsots-1的/usr/local目录下安装libaio-0.3.107-10.el6.x86_64.rpm解压MySQL压缩包,并安装Mysql的Client与Server查看并修改MySQLroot用户初始密码[root@fihosts-1~]#more/root/.mysql_secret#TherandompasswordsetfortherootuseratThuJun1316:33:032019(localtime):wsVleSTnUlXUmnyd //查看mysql初始密码[root@fihosts-1~]#servicemysqlstart //启动Mysql服务StartingMySQL.[OK] //Mysql服务启动成功[root@fihosts-1~]#mysqladmin-uroot-pwsVleSTnUlXUmnydpassword'123456' //修改mysql密码为123456Warning:Usingapasswordonthecommandlineinterfacecanbeinsecure. //警告:在命令行界面上使用密码可能不安全。忽略即可出现默认密码过期的解决方法错误信息:mysqladmin:connecttoserverat'localhost'failed;error:'Yourpasswordhasexpired.Tologinyoumustchangeitusingaclientthatsupportsexpiredpasswords.'解决方法:[root@fihosts-1local]#mysql-uroot-p--port=33999Enterpassword:输入初始密码WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis4Serverversion:5.6.26再使用命令修改密码mysql>setpassword=password('123456');QueryOK,0rowsaffected(0.00sec)mysql>登录测试,初始密码修改成功输入以下命令,授权MySQL数据库允许其它机器登录mysql>GRANTALLPRIVILEGESON*.*TO'root'@'%'IDENTIFIEDBY'数据库的密码:123456'WITHGRANTOPTION;QueryOK,0rowsaffected(0.00sec)mysql>FLUSHPRIVILEGES;QueryOK,0rowsaffected(0.00sec)准备HDFS测试文件,首先在/tmp文件夹下创建一个名为test_mysql的文件,并且输入内容。>touchtest_mysql>vimtest_mysql要输入的内容参照步骤4将本地文件test_mysql上传文件到hdfs的/user/loader_test目录下。>hdfsdfs-mkdir/user/loader_test>hdfsdfs-put/tmp/test_mysql/user/loader_test>hdfsdfs-ls/user/loader_testFound1items-rw-r--r--+3stu01supergroup472018-04-1513:09/user/loader_test/test_mysql查看表test_mysql中的内容。>hdfsdfs-cat/user/loader_test/test_mysql1,tom,male,82,lily,female,243,lucy,female,50在Linux节点下进入MySql。>mysql-uroot–pEnterpassword:创建数据库test_database。mysql>createdatabasetest_database;QueryOK,1rowaffected(0.00sec)mysql>setnamesgbk;QueryOK,0rowsaffected(0.00sec)mysql>usetest_database;Databasechanged创建cga_mysql表。mysql>createtablecga_mysql(idint(4)notnullprimarykeyauto_increment,->namevarchar(255)notnull,->gendervarchar(255)notnull,->timeint(4));注:创建mysql表必须有主键。查询表cga_mysql中的内容。mysql>desccga_mysql;+--------+--------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+--------+--------------+------+-----+---------+----------------+|id|int(4)|NO|PRI|NULL|auto_increment||name|varchar(255)|NO||NULL|||gender|varchar(255)|NO||NULL|||time|int(4)|YES||NULL||+--------+--------------+------+-----+---------+----------------+4rowsinset(0.01sec)从widnowsclient节点中获取mysql链接jar包,上传到主备Loader指定目录下mysql链接jar包存放于windowsclient的“C:\Users\Administrator\Downloads\MySQL”目录下,通过WinSCP软件上传至主备Loader的lib路径:“${BIGDATA_HOME}/FusionInsight_Porter_V100R002C70SPC200/install/FusionInsight-Sqoop-1.99.3/FusionInsight-Sqoop-1.99.3/server/webapps/loader/WEB-INF/ext-lib”。使用root用户在主备节点分别执行以下命令修改权限:chownomm:wheeljar包文件名chmod600jar包文件名重启Loader。参照之前的实验,来到配置Loader基本信息的界面。点击编辑(或添加)进入mysql连接配置,选择“generic-jdbc-connector”通用连接器,mysql的密码为123456(或节点root账户密码),填完信息后点击测试,测试完成点击确定。JDBC驱动程序类:com.mysql.jdbc.DriverJDBC连接字符串输入:jdbc:mysql://192.168.10.X:3306/test_database(X为步骤1中选择安装MySQL的节点)配置“输入设置”。输入目录设置为:/user/loader_test/test_mysql。配置转换设置,点击左侧的输入,然后选择“CSV文件输入”,将”CSV文件输入”按钮拖动到右侧区域。接着点击左侧的输出,然后选择”表输出”,将”表输出”按钮拖动到右侧区域。配置CSV文件输入,双击WebUI中”CSV文件输入”的按钮。首先输入分隔符“,”,然后点击添加,依次输入位置,字段名,最后点击确定。配置表输出,双击WebUI中”表输出”的按钮。首先点击关联,然后勾选名称左边的方框,最后点击确定。输入字段名,表列名和类型,然后点击确定。连接”VCS输入”和”表输出”。点击下一步进入输出设置,输入表名,最后点击保存并运行。运行Loader作业,查看结果。查看mysql中表cga_mysql的内容。mysql>usetest_database;Databasechangedmysql>select*fromcga_mysql;+----+------+--------+------+|id|name|gender|time|+----+------+--------+------+|1|tom|male|8||2|lily|female|24||3|lucy|female|50|+----+------+--------+------+3rowsinset(0.00sec)由程序结果可见,HDFS中文件”test_mysql”的内容已经载入到mysql的表“cga_mysql”中。Mysql数据导至HDFS准备mysql表,使用上一个实验中生成的”cga_mysql”表数据。mysql>select*fromcga_mysql;+----+------+--------+------+|id|name|gender|time|+----+------+--------+------+|1|tom|male|8||2|lily|female|24||3|lucy|female|50|+----+------+--------+------+3rowsinset(0.00sec)参照实验1的步骤1到3,来到配置Loader基本信息的界面。点击下一步进入输入设置,输入表名。注:非default数据库表,表名当指定为:数据库.表名。点击下一步进入转换设置,点击左侧的输入,然后选择”表输入”,将”表输入”按钮拖动到右侧区域。点击左侧的输出,然后选择”文件输出”,将”文件输出”按钮拖动到右侧区域。配置表输入,双击WebUI中表输入的按钮。首先点击添加,然后依次输入位置,字段名和类型,后点击确定。配置文件输出,双击WebUI中文件输出的按钮。首先设定输处分隔符为“,”,然后点击关联,接着勾选名称左侧的方框,最后点击确定。连接”表输入”和”文件输处”,点击下一步。配置输处设置,输出目录填写/user/loader_test。运行Loader作业,查看结果。查看HDFS中的结果。>hdfsdfs-ls/user/loader_testFound3items……2018-04-1514:41/user/loader_test/_SUCCESS……2018-04-1514:41/user/loader_test/import_part_1522461215526_0114_0000000……2018-04-1513:09/user/loader_test/test_mysql>hdfsdfs-cat/user/loader_test/import_part_1522461215526_0114_00000001,tom,male,82,lily,female,243,lucy,female,50由程序结果可见,已经将mysql表“cga_mysql”导至了HDFS的/user/loader_test目录下。MySql数据导至HBase准备mysql表,使用实验任务3中的”cga_mysql”表数据。mysql>select*fromcga_mysql;+----+------+--------+------+|id|name|gender|time|+----+------+--------+------+|1|tom|male|8||2|lily|female|24||3|lucy|female|50|+----+------+--------+------+3rowsinset(0.00sec)创建HBase表:cg_mysqltohbase。>create'cg_mysqltohbase','info'0row(s)in0.5300seconds参照实验1的步骤1到3,来到配置Loader基本信息的界面。点击下一步进入输入设置,输入表名。点击下一步进入转换设置,点击左侧的输入,然后选择”表输入”,将”表输入”按钮拖动到右侧区域。点击左侧的输出,然后选择”HBase输出”,将”HBase输出”按钮拖动到右侧区域。配置表输入,双击WebUI中表输入的按钮。首先点击添加,然后依次输入位置,字段名和类型,最后点击确定。配置HBase输出,双击WebUI中HBase输出的按钮。首先点击关联,接着勾选名称左侧的方框,最后点击确定。依次输入HBase表名,列族名,列名和类型,选择id为主键,最后点击确定。连接”表输入”与”HBase输出“,然后点击下一步。配置输出信息,存储类型选择HBASE_PUTLIST,HBase实例选择HBase,个数填写1,最后点击保存并运行。运行Loader作业,查看结果。查看HBase表数据。>scan'cg_mysqltohbase'ROWCOLUMN+CELL2018-04-1515:21:33,777INFO[hconnection-0xaa61e4e-shared--pool4-t1]ipc.AbstractRpcClient:RPCServerKerberosprincipalnameforservice=ClientServiceishbase/@HADOOP.COM1column=info:gender,timestamp=1523776665511,value=male1column=info:name,timestamp=1523776665511,value=tom1column=info:time,timestamp=1523776665511,value=82column=info:gender,timestamp=1523776665511,value=female2column=info:name,timestamp=1523776665511,value=lily2column=info:time,timestamp=1523776665511,value=243column=info:gender,timestamp=1523776665511,value=female3column=info:name,timestamp=1523776665511,value=lucy3column=info:time,timestamp=1523776665511,value=503row(s)in0.0700secondsMysql表cga_mysql已经成功载入HBase表cg_mysqltohabse。HBase数据导至MySql使用上一个实验中的HBase数据表cg_mysqltohbase。同时在mysql数据库创建表cga_hbasetomysql。mysql>createtablecga_hbasetomysql(idint(4)notnullprimarykeyauto_increment,namevarchar(255)notnull,gendervarchar(255)notnull,timeint(4));QueryOK,0rowsaffected(0.09sec)由实验1的步骤1到3,来到配置Loader基本信息的界面。点击下一步进入输入设置,源文件类型选择HBASE,个数输入1。点击下一步进入转换设置,点击左侧的输入,然后选择”HBase输入”,将”HBase输入”按钮拖动到右侧区域。点击左侧的输出,然后选择”表输出”,将”表输出”按钮拖动到右侧区域。配置HBase输入,双击WebUI中HBase输入的按钮。首先输入HBase表名,然后点击添加,依次输入列祖名,列名,字段名和类型,接着选择id为主键,最后点击确定。配置表输出,双击WebUI中表输出的按钮。首先点击关联,接着勾选名称左侧的方框,最后点击确定。连接”HBase输入”和”表输出”,点击下一步。配置输出设置,填写表名cga_hbasetomysql,点击保存并运行。运行Loader作业,查看结果。查看mysql表cga_hbasetomysql中的内容。mysql>select*fromcga_hbasetomysql;+----+------+--------+------+|id|name|gender|time|+----+------+--------+------+|1|tom|male|8||2|lily|female|24||3|lucy|female|50|+----+------+-----
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年助动车安全培训内容核心要点
- 2026年智能水下机器人作业合同协议
- 2026年生物降解塑料OEM代工供应链协议
- 邯郸市大名县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年高速站安全培训内容专项突破
- 海北藏族自治州海晏县2025-2026学年第二学期五年级语文期中考试卷(部编版含答案)
- 眉山地区洪雅县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 2026年安全培训内容防护用具重点
- 宜昌市西陵区2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 锡林郭勒盟东乌珠穆沁旗2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 物业客诉培训课件
- 2025年血透室血传播疾病阴转阳的应急演练脚本
- 应急管理通论(第二版)课件 第9章 应急沟通职能
- 乙酰半胱氨酸的用药护理
- 要素式民事起诉状(侵害著作权及邻接权纠纷)
- 2025年新疆中考化学真题(原卷版)
- 2025年内江市中考地理试题(含答案解析)
- 皮肤外科进修汇报
- 2025年贵州省中考英语一模试题无答案
- 高三尖子生个性化辅导计划
- 办公室目标量化考核办法
评论
0/150
提交评论