sqoop简介
sqoop 即 SQL to Hadoop ,是一款方便的在传统关系数据库与 Hadoop 之间进行数据迁移的工具,充分利用 MapReduce 并行特点以批处理的方式加快数据传输,发展至今主要演化了二大版本,sqoop1和sqoop2。
sqoop : clouder 公司开发
sqoop特点
sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。
Sqoop 由两部分组成:客户端(client)和服务端(server)。需要在集群的其中某个节点上安装server,该节点的服务端可以作为其他 Sqoop 客户端的入口点。
在 server 端的节点上必须安装有 Hadoop。client 可以安装在任意数量的机子上。在装有客户端的机子上不需要安装 Hadoop。
sqoop 官网 : https://sqoop.apache.org
sqoop2 常用命令
环境
Command Line shell 1.99.4-cdh5.3.6
模式
两种模式 communicating with Sqoop 2 server using REST interface
- interactive (Interactive mode supports all available commands.)
batch mode
Sqoop uses unique names or persistent ids to identify connectors, links, jobs and configs https://sqoop.apache.org/docs/1.99.4/CommandLineClient.html
show command…
show version -a show server --all show driver show connector show link show job
set command…
show server --all set server --host localhost --port 12000 --webapp sqoop set server -h 192.168.**.** set option (set various client side options)
create link and job
实践经验
> show version -all Exception has occurred during processing command Exception: org.apache.sqoop.common.SqoopException Message: CLIENT_0001:Server has returned exception 根本不知道这个提示说什么,通过修改设置: > set option --name verbose --value true 再次执行 show version -all,显示出有用的出错信息:
sqoop:000> show connector
Id Name Version Class Supported Directions 1 hdfs-connector 1.99.4-cdh5.3.6 org.apache.sqoop.connector.hdfs.HdfsConnector FROM/TO 2 generic-jdbc-connector 1.99.4-cdh5.3.6 org.apache.sqoop.connector.jdbc.GenericJdbcConnector FROM/TO sqoop:000> create link –cid 2
属性 Value Name First Link JDBC Driver Class com.mysql.jdbc.Driver JDBC Connection String jdbc:mysql://192.168.xxx.xx:3306/libin_test_db?useUnicode=true&characterEncoding=UTF-8 Username your username Password your password entry# protocol=tcp sqoop:000> create link –cid 1
属性 Value Name Second Link HDFS URI hdfs://nameservice1:8020/ sqoop:000> show links -all
sqoop:000> create job -f 1 -t 2
sqoop:000> update job –jid 1
sqoop:000> start job –jid 1
sqoop:000> status job –jid 1
sqoop:000> stop job –jid 1
调研感悟与结果
暂时放弃使用 sqoop2,拥有太多的问题难以解决 和 有待解决
参见 : http://blog.selfup.cn/1510.html
参见 : http://blog.csdn.net/zhangzhaokun/article/details/44256569