分享

Sqoop安装过程详解

pig2 2013-12-30 14:47:28 发表于 实操演练 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 1 14998
本帖最后由 pig2 于 2014-1-9 17:44 编辑

Sqoop介绍
         Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
为什么要使用sqoop
         因为业务的不断增长导致mysql数据库中数据太多,影响数据查询效率,所以使用sqoop把现有mysql中数据导入到HBase中,使用HBase支撑大数据量的查询。
下面给大家详细介绍一下:

Sqoop CDH版本:h
ttp://archive.cloudera.com/cdh/3/sqoop-1.2.0-CDH3B4.tar.gz


之前已经安装Hadoop-0.20.2(见 http://www.linuxidc.com/Linux/2013-05/84082.htm),因sqoop官方版本不支持此版本,但可使用CDH3版本,如上面的下载链接。为了测试方便,可以通过拷贝相应的包到sqoop-1.2.0-CDH3B4/lib下,依然可以使用Hadoop-0.20.2版本。


sqoop版本: sqoop-1.2.0-CDH3B4
Hadoop版本:0.20.2
mysql版本: 5.6.11
1)解压缩sqoop安装文件
[hadoop@node01 ~]$ tar -xzvf sqoop-1.2.0-CDH3B4.tar.gz
2)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中。
[hadoop@node01 ~]$ cp hadoop-core-0.20.2-CDH3B4.jar sqoop-1.2.0-CDH3B4/lib
[hadoop@node01 ~]$ ls -l sqoop-1.2.0-CDH3B4/lib/hadoop-core-0.20.2-CDH3B4.jar
-rw-r--r--. 1 hadoop root 3452461 May
9 05:40 sqoop-1.2.0-CDH3B4/lib/hadoop-core-0.20.2-CDH3B4.jar
3)另外,sqoop导入mysql数据运行过程中依赖mysql-connector-java-*.jar,所以你需要下载mysql-connector-java-*.jar并复制到sqoop-1.2.0-CDH3B4/lib中
[hadoop@node01 ~]$ cp mysql-connector-java-5.1.24-bin.jar sqoop-1.2.0-CDH3B4/lib
[hadoop@node01 ~]$ ls -l sqoop-1.2.0-CDH3B4/lib/mysql-connector-java-5.1.24-bin.jar
-rw-r--r--. 1 hadoop root 846263 May
9 05:43 sqoop-1.2.0-CDH3B4/lib/mysql-connector-java-5.1.24-bin.jar
4)修改SQOOP的文件configure-sqoop,注释掉hbase和zookeeper检查(除非你准备使用HABASE等HADOOP上的组件),否则在进行hbase和zookeeper检查时,可能会卡在这里。
[hadoop@node01 bin]$ pwd
/home/hadoop/sqoop-1.2.0-CDH3B4/bin
[hadoop@node01 bin]$ vi configure-sqoop
#if [ -z "${HBASE_HOME}" ]; then
#
HBASE_HOME=/usr/lib/hbase
#fi
#if [ -z "${ZOOKEEPER_HOME}" ]; then
#
ZOOKEEPER_HOME=/usr/lib/zookeeper
#fi
#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 ZooKeeper installation.'
#
exit 1
#fi
5)在使用sqoop之前不要忘记先启动hadoop, 如果已经启了hadoop就不用再启
[hadoop@node01 bin]$ start-all.sh
[hadoop@node01 bin]$ jps
2732 Jps
2478 NameNode
2665 JobTracker
2600 SecondaryNameNode

已有(1)人评论

跳转到指定楼层
Summer-Su 发表于 2014-6-9 11:10:02
你好,请问在解压sqoop时是以root用户解压还是hadooop用户解压?还有 hadoop-core-0.20.2-CDH3B4.jar 这个文件跟 hadoop-0.20.2-core.jar文件一样么?我之前装的是Hadoop-0.20.2, 还需要再安装hadoop-0.20.2-CDH3B4.gz么?谢谢,新手各种不懂。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条