概述
说明:由于Sqoop的运行需要借助于Hadoop的MapReduce,所以在安装Sqoop之前,应确保Hadoop集群已安装完毕并运行(Hadoop集群的安装请参考:http://blog.csdn.net/u010476994/article/details/71479584)。另外,本文以Mysql数据库为例,介绍Sqoop的使用方法,所以Mysql数据库也要提前安装好(mysql 的安装本文不作介绍)。
具体安装步骤:
1、上传安装包,并解压到/home/目录下(路径自己定义)
sqoop文件夹的名字太长了,此处重命名一下。
[root@hadoop1 home]# tar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /home/
[root@hadoop1 home]# cd /home
[root@hadoop1 home]# mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop-1.4.6
2、修改环境变量,编辑/etc/profile , 在文档末尾添加如下配置:
export SQOOP_HOME=/home/sqoop-1.4.6
export PATH=$PATH:$SQOOP_HOME/bin
保存退出,使用resource命令将/etc/profile文件的配置重新读入内存:
[root@hadoop1 sqoop-1.4.6]# source /etc/profile
3、sqoop在导入/导出时,需要与关系型数据库(本文以mysql为例)进行交互,因此需要将关系型数据库的驱动包拷贝到sqoop的lib目录下,即/home/sqoop-1.4.6/lib下。
4、关于sqoop的配置文件。sqoop在conf文件夹下提供了配置文件的模板
sqoop-env-template.sh
,把该文件重命名为
sqoop-env.sh。在该文件中可以配置关于Hadoop、HBase、Hive等一些环境变量信息,可以进行配置,也可以不配置。如果此处进行配置,路径需要与系统环境变量中配置的Hadoop、HBase、Hive的路径保持一致。如果不配置,sqoop会自动从系统环境变量中读取相应的路径。此处我们不进行
配置,由sqoop去系统环境变量中取值。
5、sqoop的配置已经完成,可以使用sqoop version命令查看sqoop版本信息:
[root@hadoop1 conf]# sqoop version
Warning: /home/sqoop-1.4.6/../hbase does not exist! HBase imports will fail.
Please set $HBASE_HOME to the root of your HBase installation.
Warning: /home/sqoop-1.4.6/../hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /home/sqoop-1.4.6/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
17/05/15 15:49:54 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
Sqoop 1.4.6
git commit id c0c5a81723759fa575844a0a1eae8f510fa32c25
Compiled by root on Mon Apr 27 14:38:36 CST 2015
在打印出的日志,可以看出我们的sqoop版本为 1.4.6。 同时,打印的信息中有类似的信息:
HBase imports will fail.
这是因为当前主机的环境变量中并没有HBase/HCatalog/Accumulo的值(因为当前主机没有安装)。但是并不影响sqoop的正常使用,可忽略这些提示。可以采用如下方式,取消提示信息的输出:在sqoop安装根目录下的bin文件夹里,有一个名为configure-sqoop的文件,将该文件夹中的如下代码全部注释即可:
## Moved to be a runtime check in sqoop.
if [ ! -d "${HBASE_HOME}" ]; then
echo "Warning: $HBASE_HOME does not exist! HBase imports will fail."
echo 'Please set $HBASE_HOME to the root of your HBase installation.'
fi
## Moved to be a runtime check in sqoop.
if [ ! -d "${HCAT_HOME}" ]; then
echo "Warning: $HCAT_HOME does not exist! HCatalog jobs will fail."
echo 'Please set $HCAT_HOME to the root of your HCatalog installation.'
fi
if [ ! -d "${ACCUMULO_HOME}" ]; then
echo "Warning: $ACCUMULO_HOME does not exist! Accumulo imports will fail."
echo 'Please set $ACCUMULO_HOME to the root of your Accumulo installation.'
fi
测试验证成功:
[root@hadoop1 bin]# sqoop list-databases --connect jdbc:mysql://192.168.152.101:3306/ --username root --password 123456
17/05/15 17:18:43 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6
17/05/15 17:18:43 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
17/05/15 17:18:43 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
information_schema
mysql
test
[root@hadoop1 bin]#
最后
以上就是外向水壶为你收集整理的Sqoop的安装的全部内容,希望文章能够帮你解决Sqoop的安装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复