1、下载安装包
下载地址:
http://mirror.bit.edu.cn/apache/sqoop/1.99.7/
2、上传安装包,解压目录。我的安装目录为 /opt
tar -zxvf sqoop-1.99.7-bin-hadoop200.tar.gz
mv sqoop-1.99.7-bin-hadoop200 sqoop
3、配置环境变量
vim /etc/profile
export SQOOP_HOME=/opt/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
刷新配置
source /etc/profile
4、配置Sqoop2
修改conf目录下的 sqoop.properties文件
# 设置日志文件的目录
0,%s/@LOGDIR@/\/opt\/sqoop\/logs/g
# 设置数据的存放目录
0,%s/@BASEDIR@/\/opt\/sqoop\/bin\/BASEDIR/g
因为如果不设置这两文件的话,会在bin目录下生成名为@LOGDIR、@BASEDIR文件,下次就启动失败,删除这两个文件后,上次运行的link、job就都没有啦。
还需要修改一个地方的配置,也就是现有hadoop集群的目录
org.apache.sqoop.submission.engine.mapreduce.configuration.directory=/opt/hadoop/hadoop-2.7.7/etc/hadoop/
5、设置hadoop代理
修改hadoop的core-site.xml
添加代理:
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
完整文件如下,另外hdfs://master:9000 这个目录需要记下,也就是后期创建link链接的地址。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/xdb/hadoop-2.7.7/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
6、添加mysql驱动包到 sqoop安装的 /server/lib 目录下
mysql-connector-java-5.1.38.jar
7、初始化sqoop2
bin目录下
sqoop2-tool upgrade
sqoop2-tool verify
如果出现下述结果,即表示验证成功。
Verification was Successful.
Tool class ...... has finished correctly
若出现,caused by java.lang.ClassNotFoundException:org.apache.hadoop.conf.Configuration 即表示sqoop找不到hadoop路径,这时配置下 sqoop.sh 文件。找到下面几行:
HADOOP_COMMON_HOME=${HADOOP_COMMON_HOME:-${HADOOP_HOME}/share/hadoop/common}
HADOOP_HDFS_HOME=${HADOOP_HDFS_HOME:-${HADOOP_HOME}/share/hadoop/hdfs}
HADOOP_MAPRED_HOME=${HADOOP_MAPRED_HOME:-${HADOOP_HOME}/share/hadoop/mapreduce}
HADOOP_YARN_HOME=${HADOOP_YARN_HOME:-${HADOOP_HOME}/share/hadoop/yarn}
将其修改为:
HADOOP_COMMON_HOME=${HADOOP_HOME}/share/hadoop/common
HADOOP_HDFS_HOME=${HADOOP_HOME}/share/hadoop/hdfs
HADOOP_MAPRED_HOME=${HADOOP_HOME}/share/hadoop/mapreduce
HADOOP_YARN_HOME=${HADOOP_HOME}/share/hadoop/yarn
然后重新验证。
8、启动sqoop server服务。
sqoop2-server start
启动成功后,可通过jps查看是否有下面的进程.
如果有,则sqoop2服务启动成功,服务关闭命令为
sqoop2-server stop
通过shell命令就可创建任务。
sqoop2-shell
若sqoop2-shell启动时,出现Xmanager导致启动失败,运行下述命令即可.
export DISPLAY=:0
Sqoop2 shell命令的使用详见链接: Sqoop2 shell命令的使用