在线支持
在线支持
微信支持
微信支持
【集成方案】Sqoop对接TDH手把手教学贴
2022-10-24 17:14:43
189次阅读
0个评论

本篇帖子将手把手教大家如何使用开源的Sqoop工具对接社区版TDH来进行数据导入导出的操作,我们一起来看看吧。


下载安装sqoop

(1)官网下载安装sqoop

首先我们先到官网下载Sqoop, 选择合适的版本下载。我们这里使用的是Sqoop1.4.7的版本进行演示。

下载地址:http://archive.apache.org/dist/sqoop/


(2)产品包解压

# 创建一个文件夹放置下载的Sqoop

mkdir /opt/module

# 然后输入以下命令解压下载好的Sqoop产品包

tar -zxvf sqoop-1.4.7.bin_hadoop-2.6.0.tar.gz - C /opt/module

# 打开之前创建好的文件夹后就可以看到我们解压后的文件了

cd /opt/module


(3)重命名

# 将解压出来的文件名sqoop-1.4.7.bin_hadoop-2.6.0改名为sqoop-1.4.7

mv sqoop-1.4.7.bin_hadoop-2.6.0 sqoop-1.4.7


下载TDH Client及修改配置

下载TDH-Client

(1)获取客户端安装包

在Transwarp Manager界面右上角上点击 → 下载客户端 ,下载TDH客户端

image.png

(2)选择客户端需要访问的集群以及服务

image.png

image.png


(3)解压文件

# 将下载的tdh-client.tar文件放在集群中的任意机器上,然后于该机器上执行下述命令解压文件:

tar -xvf tdh-client.tar

执行成功后文件会被解压至目录TDH-Client中。

image.png


(4)执行脚本

# 请执行位于目录TDH-Client内的脚本。

source TDH-Client/init.sh

注意:用户必须使用source命令执行该脚本。 当新建一个连接到服务的终端session时,都需要重新执行source init.sh,bash init.sh 和 ./init.sh 都不起作用。

image.png

修改配置
解压TDH-Client.tar后假设放置在/root/TDH-Client目录下,对sqoop作如下修改

(1)执行下述操作后使用vi命令或其他工具打开配置文件

cd /opt/module/sqoop-1.4.7/conf

cp sqoop-env-template.sh sqoop-env.sh

vi sqoop-env.sh


(2)修改下述参数,对应当前环境的TDH-Client目录

image.png

执行下述配置后保存退出,配置生效


(3)拷贝需要导出的数据库的驱动到/opt/module/sqoop-1.4.7/lib目录。

此处用mysql 驱动mysql-connector-java-5.1.36.jar举例。


数据库连接验证
上述配置修改完成后,可以通过下述步骤验证数据库连接。
(1)mysql登陆

这里假设Mysql数据库主机名是mysql-server,端口3308。连接上数据库建立测试用的用户,数据库表等。

image.png

(2)创建实验用户

TDH集群的节点IP分别是172.26.5.8~10

image.png


(3)将全部权限赋给集群的三个节点

image.png


(4)使赋权生效

flush privileges


(5)准备实验数据

(6)创建并切换使用数据库

create database sqoop_export;

use sqoop_export;

show tables;


(7)创建表,并插入10条数据

create table tbl_sqoop(name varchar(11),age int,sex varchar(11));

image.png


(8)查看表中的数据

select * from tbl_sqoop;


(9)退出MySQL

exit;


(10)实验连接数据库

image.png


数据导入到TDH中的HDFS

用sqoop将mysql中的表数据导入TDH集群中的HDFS,可以通过下述步骤。
步骤1  执行TDH Client中的init.sh脚本。比如source /root/TDH-Client/init.sh
步骤2  如果当前环境开启了guardian安全,需要再执行kinit {user},使当前session具备安全访问集群的能力
步骤3  把Mysql里的某张表导出到集群HDFS中

image.png

步骤4  执行成功后,可以通过下述命令检查HDFS中的文件

image.png


使用导入数据建表

(1)执行TDH-Client的init.sh脚本

source /root/TDH-Client/init.sh


(2)通过beeline连接Quark Server,执行下列命令

没开安全:

beeline -u "jdbc:hive2://node01:10000/default" --maxWidth=15000

开了安全:执行knit admin,输入密码后链接数据库

beeline -u "jdbc:hive2://node01:10000/default;principal=hive/node01@TDH" --maxWidth=15000


(3)创建数据库

create database sqoop_test;

use sqoop_test;


(4)建立外表

image.png


(5)查看外表数据

select * from tbl_sqoop_ext


(6)建立内表,从外表导入

image.png

完成

收藏 0 0

登录 后评论。没有帐号? 注册 一个。

admin

官方人员
  • 0 回答
  • 0 粉丝
  • 0 关注