一、安装
sqoop2 安装包包含client和server两部分,server部分需要安装在hadoop集群中的某一个节点上,作为client的服务器。client可以安装任意多个实例,可以安装到任意多个机器上。
1、server部分的安装
把sqoop2的安装包拷贝到需要运行Sqoop Server的机器上。sqoop server 实际上相当于一个Hadoop的客户端,因此,hadoop的各种库文件和配置文件都需要能在此机器上能够访问到(例如Yarn, MapReduce, HDFS的jar文件、以及core-site.xml、mapreduce-site.xml)。此以你应该能在此机器上执行下面这条命令
hadoop fs -ls /
sqoop 的当前版本支持Hadoop 2.6.0及后续版本。下面是安装解压的命令:
# Decompress Sqoop distribution tarball
tar -xvf sqoop--bin-hadoop.tar.gz
# Move decompressed content to any location
mv sqoop--bin-hadoop.tar.gz /usr/lib/sqoop
# Change working directory
cd /usr/lib/sqoop
2、hadoop依赖
具体来说,sqoop server 的安装机器上应该能够访问到下面的环境变量:
$HADOOP_COMMON_HOME
$HADOOP_HDFS_HOME
$HADOOP_MAPRED_HOME
$HADOOP_YARN_HOME
或者配置了环境变量$HADOOP_HOME,和上边四条环境变量只需要满足任意一个条件。
如果设置了$HADOOP_HOME变量,sqoop2 server 将会查找下边的位置:
$HADOOP_HOME/share/hadoop/common
$HADOOP_HOME/share/hadoop/hdfs
$HADOOP_HOME/share/hadoop/mapreduce
$HADOOP_HOME/share/hadoop/yarn.
注:如果没有找到HADOOP的环境变量,sqoop2 server 将不会运行。
2、hadoop配置
sqoop2 server需要模拟用户访问HDFS,所以需要在core-site.xml中增加两条配置
hadoop.proxyuser.$SERVER_USER.hosts , hadoop.proxyuser.$SERVER_USER.groups,$SERVER_USER 是运行sqoop2 server的用户,大多数情况下 配置成 * 应该足够用,更详细的配置请参考hadoop文档。下面是配置实例。
hadoop.proxyuser.sqoop2.hosts
*
hadoop.proxyuser.sqoop2.groups
*
3、第三方依赖
对于sqoop2 可能依赖的第三方依赖,例如RDBMS的驱动jar文件,应该放到一个文件夹里,并用环境比变量 $SQOOP_SERVER_EXTRA_LIB指向该文件夹。
# Create directory for extra jars
mkdir -p /var/lib/sqoop2/
# Copy all your JDBC drivers to this directory
cp mysql-jdbc*.jar /var/lib/sqoop2/
cp postgresql-jdbc*.jar /var/lib/sqoop2/
# And finally export this directory to SQOOP_SERVER_EXTRA_LIB
export SQOOP_SERVER_EXTRA_LIB=/var/lib/sqoop2/
注:由于licenses不兼容,sqoop2 的安装包里并没有附带JDBC的驱动,需要用户自行下载并放到上述文件夹中。
4、配置路径 $PATH
sqoop2 建议用户将sqoop2 的bin路径配置到$PATH 中,例如 export PATH=$PATH:`pwd`/bin
5、配置sqoop2 server
sqoop2 server的配置文件位于安装包的conf目录下, sqoop.properties文件包含了大部分对sqoop的配置
6、初始化metadata
第一次启动sqoop2 server之前,需要初始化sqoop的元数据库
$ sqoop2-tool upgrade # 初始化metadata
$ sqoop2-tool verify # 验证
7、启动关闭sqoop2 server
$ sqoop2-server start
$ sqoop2-server stop
# sqoop2 server 默认运行在端口12000上,通过在sqoop.properties中配置org.apache.sqoop.jetty.port改变端口号
8、sqoop2 client的安装
client的安装很简单,只需要解压安装包到需要安装客户端的机器上,然后运行
$ sqoop2-shell
注:sqoop2 的client不需要hadoop的配置文件和jar
翻译自:http://sqoop.apache.org/docs/1.99.7/admin/Installation.html