CentOS安装Sqoop

                                  CentOS安装Sqoop

        Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

安装环境:
操作系统:Linux系统(CentOS 7 64位)
sqoop版本:1.4.7
Hadoop:2.7.7
MySQL:5.7.24
注意:sqoop1与sqoop2完全不兼容,1.4.6及之前的版本是sqoop1,之后的是sqoop2

获取Sqoop的链接地址:http://www.apache.org/dyn/closer.lua/sqoop/1.4.7,选择sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz进行下载。

我的方法仍旧是,在Windows系统上下载好,通过Xshell传到CentOS 7的Hadoop用户里。或者,可以通过Linux直接下载。请登录Linux系统(本教程是使用hadoop用户名登录),然后,在Linux的浏览器(一般自带的是火狐Firefox浏览器)中,打开本网页,点击http://www.apache.org/dyn/closer.lua/sqoop/1.4.7,下载Sqoop安装文件sqoop-1.4.7.bin__hadoop-2.6.0-alpha.tar.gz。浏览器默认会被下载文件保存到当前登录用户的下载目录下面。

下面执行以下命令

cd ~  #进入当前用户的用户目录
sudo tar -zxvf  sqoop-1.4.7.bin__hadoop-2.6.0-alpha.tar.gz -C /usr/local #解压安装文件
cd /usr/local
sudo mv sqoop-1.4.7.bin__hadoop-2.6.0-alpha sqoop                        #修改文件名
sudo chown -R hadoop:hadoop sqoop
#修改文件夹属主,如果你当前登录用户名不是hadoop,请修改成你自己的用户名


#如果是通过Linux系统,直接下载的请先执行
cd ~/下载                                                                #再进行解压操作

修改配置文件sqoop-env.sh

cd sqoop/conf/
cat sqoop-env-template.sh  >> sqoop-env.sh  #将sqoop-env-template.sh复制一份并命名为sqoop-env.sh
vim sqoop-env.sh #编辑sqoop-env.sh

修改sqoop-env.sh的如下信息

#“=”后边是各个程序的安装路径,请根据自己的实际情况一一对照填写,路径一定要写对
export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HBASE_HOME=/home/hadoop/hbase
export HIVE_HOME=/usr/local/hive
#export ZOOCFGDIR= #如果读者配置了ZooKeeper,也需要在此配置ZooKeeper的路径

配置环境变量
打开当前用户的环境变量配置文件:

vim ~/.bashrc

 在配置文件键入如下信息:

export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SBT_HOME/bin:$SQOOP_HOME/bin
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib

保存该文件,退出vim编辑器。
然后,执行下面命令让配置文件立即生效:

source ~/.bashrc

将mysql驱动包拷贝到$SQOOP_HOME/lib
下面要把MySQL驱动程序拷贝到$SQOOP_HOME/lib目录下。在上一篇中,我们用的是mysql-connector-java-5.1.47.tar.gz

已经解压完毕了,如果你已经把它给删除了,别急,咱们再来一遍。我的百度网盘,关于mysql-connector-java-5.1.47.tar.gz的提取链接:https://pan.baidu.com/s/1lZB0O7hwI7kDZVxEMsI8oQ 无密码,直接下就可以(这个CSDN我还不知道怎么传附件)。官方的下载路径链接:https://dev.mysql.com/downloads/connector/j/ 。

cd ~
sudo tar -zxf  mysql-connector-java-5.1.47.tar.gz  #解压mysql驱动包
ls #这时就可以看到解压缩后得到的目录mysql-connector-java-5.1.47
sudo cp ./mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/local/sqoop/lib

测试与MySQL的连接

首先请确保mysql服务已经启动了,如果没有启动,请执行下面命令启动MySQL服务:

service mysql start

然后就可以测试sqoop与MySQL之间的连接是否成功:

sqoop list-databases --connect jdbc:mysql://Master:3306/ --username root -P

 

执行完毕之后,会让你输入一个密码,此密码是MySQL的root密码,输入就可以了。

Sqoop list-databases 命令, 用于输出MySQL数据库中的所有数据库名,如果输出上述结果,表示Sqoop连接MySQL成功,Master为运行MySQL数据库服务器的机器名,也可以是机器IP地址(在Hadoop集群中,我将MySQL装在了Master上,所以用的就是Master的IP映射)。特别注意,不能是localhost或127.0.0.1,因为Sqoop的执行方法为分布式/集群,这就使分布式集群中的每个节点都去访问MySQL数据库,实际上有可能MySQL安装在专门的服务器上。

MySQL的数据库列表显示在屏幕上表示连接成功。!

 

 

 

本文参考了厦门大学大数据实验室博客,链接:http://dblab.xmu.edu.cn/blog/install-sqoop1/,是在安装的时候参考的,感谢!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值