设为首页 收藏本站
查看: 1016|回复: 0

[经验分享] hadoop插件sqoop使用案例

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-23 09:34:33 | 显示全部楼层 |阅读模式
sqoop是hadoop项目中一个插件,可以把分布式文件系统hdfs中内容导入到mysql指定表里面,也可以把mysql中内容导入到hdfs文件系统中进行后续操作。


测试环境说明:
hadoop版本:hadoop-0.20.2
sqoop版本:sqoop-1.2.0-CDH3B4
java版本:jdk1.7.0_67
mysql版本:5.1.65

特别说明:
因为我安装的是hadoop-0.20.2版本,sqoop不支持这个版本,但是可以使用CDH3版本的hadoop,也可以通过copy相关文件,达到目的。
下载链接:
http://archive.cloudera.com/cdh/3/hadoop-0.20.2-CDH3B4.tar.gz
http://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz

sqoop-1.2.0-CDH3B4依赖hadoop-core-0.20.2-CDH3B4.jar,所以你需要下载hadoop- 0.20.2-CDH3B4.tar.gz,解压缩后将hadoop-0.20.2-CDH3B4/hadoop-core-0.20.2- CDH3B4.jar复制到sqoop-1.2.0-CDH3B4/lib中。
另外,sqoop导入mysql数据运行过程中依赖mysql-connector-java-*.jar,所以你需要下载mysql-connector-java-*.jar并复制到sqoop-1.2.0-CDH3B4/lib中

一 sqoop基本配置:

1)profile环境变量说明:

1
2
3
4
5
6
7
8
9
10
11
export JAVA_HOME=/usr/local/jdk1.7.0_67/
export JRE_HOME=/usr/local/jdk1.7.0_67/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PIG_HOME=/usr/local/pig-0.9.2
#告诉pig客户端,本机hadoop配置文件在什么地方
export PIG_CLASSPATH=/usr/local/hadoop-0.20.2/conf
export HBASE_HOME=/usr/local/hbase-0.90.5
export HADOOP_HOME=/usr/local/hadoop-0.20.2
export SQOOP_HOME=/usr/local/sqoop-1.2.0-CDH3B4
export HIVE_HOME=/usr/local/hive-0.8.1
export PATH=$JAVA_HOME/bin:$PATH:/usr/local/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin:$PIG_HOME/bin:$PIG_CLASSPATHi:$HIVE_HOME/bin:$SQOOP_HOME/bin:$PATH



2)由于本测试案例不需要sqoop检查到hbase和zookeeper环境变量,所以要做一***释:

编辑文件/usr/local/sqoop-1.2.0-CDH3B4/bin/configure-sqoop,修改一下行,增加在注释:

1
2
3
4
5
6
7
8
9
10
#if [ ! -d "${HBASE_HOME}" ];then
#  echo "Error: $HBASE_HOME does not exist!"
#  echo 'Please set $HBASE_HOME to the root of your HBase installation.'
#  exit 1
#fi
#if [ ! -d "${ZOOKEEPER_HOME}" ]; then
#  echo "Error: $ZOOKEEPER_HOME does not exist!"
#  echo 'Please set $ZOOKEEPER_HOME to the root of your ZooKeeperinstallation.'
#  exit 1
#fi




3)创建sqoop库,平且授权:
mysql> GRANT ALL PRIVILEGES ON sqoop.* TO 'sqoop'@'172.16.41.%' identified by 'routon' with grant option;
mysql> flush privileges;

4)创建students表,并且插入数据:
mysql> create table students (id int not null primary key, name varchar(20), age int);

插入测试数据:
1
2
3
4
5
insert into studentsvalues('001','abc',29);
insert into students values('002','def',28);
insert into students values('003','aaaa',26);
insert into students values('004','efsaz',60);
insert into students values('005','kiass',63);



表中数据为:
mysql> select * from students;
+----+-------+------+
| id | name  | age  |
+----+-------+------+
|  2 | def   |   28 |
|  3 | aaaa  |   26 |
|  4 | efsaz |   60 |
|  5 | kiass |   63 |
+----+-------+------+
4 rows in set (0.00 sec)

5)在master设备node1节点上测试sqoop能否成功连接远程主机node29上的mysql,如何出现mysql库中创建的表,就说明已经连接成功了。
wKioL1RHa16gTePuAAFl12i8EMM960.jpg
如图所示,通过sqoop,可以查看远端测试mysql数据库中students表;

6)将mysql数据库中数据导入到hdfs文件系统中:

wKiom1RHa-iw-z6ZAAGonEYmHME428.jpg 在hdfs文件系统中查看是否已经导入成功:
wKioL1RHbIPD5PagAAH0w3gK8ig189.jpg

wKioL1RHbbmR4BjTAAil9nd-y-w858.jpg

说明mysql中国内容,已经导入到分布式文件系统中!

7)hdfs文件系统中文件导入到mysql
说明:数据导入前,先清空students表中数据,使用命令:delete from students;

在master服务器上执行sqoop命令,将hdfs文件内容,导入到mysql数据中students表内!



查看mysql表:

mysql> select * from students;
+----+-------+------+
| id | name  | age  |
+----+-------+------+
|  2 | def   |   28 |
|  3 | aaaa  |   26 |
|  4 | efsaz |   60 |
|  5 | kiass |   63 |
+----+-------+------+
4 rows in set (0.00 sec)




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-26524-1-1.html 上篇帖子: hadoop+hive+sqoop安装 下篇帖子: Hadoop 性能测试工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表