Sqoop2安装
# 下载
http://www-us.apache.org/dist/sqoop/ (opens new window)
打开以上链接,开始下载sqoop2
下载后得到:sqoop-1.99.7-bin-hadoop200.tar.gz文件
其中sqoop1和sqoop2区别可以参考以下链接 重拾初心——Sqoop1和Sqoop2的刨析对比 (opens new window)
# 安装
安装步骤参考官方文档 (opens new window)
# 解压tar包
将sqoop-1.99.7-bin-hadoop200.tar.gz上传至服务器中,这里安装到/usr/local/hadoop/sqoop-1.99.7目录中
# 拷贝tar包到/usr/local/hadoop/中
cp sqoop-1.99.7-bin-hadoop200.tar.gz /usr/local/hadoop/
# 解压tar包
tar -xvf sqoop-1.99.7-bin-hadoop200.tar.gz
# 为文件夹重命名
mv sqoop-1.99.7-bin-hadoop200 sqoop-1.99.7
2
3
4
5
6
# 配置sqoop2
- 确保sqoop2所依赖的环境变量 sqoop2需要hadoop的依赖(HADOOP_COMMON, HADOOP_HDFS, HADOOP_MAPRED, HADOOP_YARN),所以你的环境变量中需要存在如下的环境变量
export HADOOP_HOME=/..
或者
export HADOOP_COMMON_HOME=/...
export HADOOP_HDFS_HOME=/...
export HADOOP_MAPRED_HOME=/...
export HADOOP_YARN_HOME=/...
2
3
4
如果配置了HADOOP_HOME,则sqoop会自动寻找$HADOOP_HOME/share/common相应的目录。
配置sqoop2的环境变量
在/etc/profire文件中增加如下配置,注意SQOOP2_HOME的位置
#Sqoop配置
export SQOOP2_HOME=/usr/local/hadoop/sqoop-1.99.7
export CATALINA_BASE=$SQOOP2_HOME/server
#Sqoop外部jar包存放路径,以后mysql-**.jar,odbc*.jar文件都放到extra-lib中即可
export SQOOP_SERVER_EXTRA_LIB=$SQOOP2_HOME/server/lib/extra-lib
export PATH=$PATH:$SQOOP2_HOME/bin
2
3
4
5
6
- sqoop访问hdfs的配置 sqoop需要模拟用户访问hdfs,所以需要在hadoop的core-site.xml中配置相应的访问地址和组 在hadoop的core-site.xml中增加如下配置
<property>
<name>hadoop.proxyuser.sqoop2.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.sqoop2.groups</name>
<value>*</value>
</property>
2
3
4
5
6
7
8
- 配置sqoop访问的hadoop配置文件的位置
在/usr/local/hadoop/sqoop-1.99.7/conf/sqoop.properties文件中,修改如下变量的值为你hadoop配置文件目录
org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/usr/local/hadoop/hadoop-2.7.4/etc/hadoop
# 初始化sqoop仓库
因为sqoop2中存储着元数据信息,所以首次安装时需要初始化仓库
sqoop2-tool upgrade
初始化完成后,可以做一次验证
sqoop2-tool verify
当出现Verification was successful.字样时,表示初始化成功。
# 启动sqoop
执行sqoop2-server start启动sqoop,同理。执行sqoop2-server stop会停止sqoop
sqoop2-server start
执行完以上命令后,启动信息如下。
然后执行jps命令查看启动了哪些进程,可以看到sqoop server只启动了SqoopJettyServer进程。
# 启动sqoop客户端
由于我现在是伪分布式,所以sqoop server和sqoop client都在一台机器上,直接执行sqoop2-shell命令即可启动sqoop客户端
可以查看sqoop2的版本,执行show version --all命令
sqoop:000> show version --all
client version:
Sqoop 1.99.7 source revision 435d5e61b922a32d7bce567fe5fb1a9c0d9b1bbb
Compiled by abefine on Tue Jul 19 16:08:27 PDT 2016
0 [main] WARN org.apache.hadoop.util.NativeCodeLoader - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
server version:
Sqoop 1.99.7 source revision 435d5e61b922a32d7bce567fe5fb1a9c0d9b1bbb
Compiled by abefine on Tue Jul 19 16:08:27 PDT 2016
API versions:
[v1]
sqoop:000>
2
3
4
5
6
7
8
9
10
11