如何在Ubuntu 16.04上安装apache sqop

时间:2020-03-05 15:27:46  来源:igfitidea点击:

Apache SQOOP是一个用于有效地在Apache Hadoop和结构化数据存储之间有效传输批量数据的工具,如关系数据库。
例如:MySQL,Oracle,Microsoft SQL Server。
我们可以在关系数据库和Hadoop之间导入和导出数据。
我们还可以从/导出/导出/导入半结构化数据源,例如HBase和Cassandra(NoSQL数据库)。
SQOOM作为一个二进制包,包含两个单独的零件客户端和服务器。

  • 服务器 - 我们需要在群集中的单个节点上安装服务器。然后,此节点将作为所有SQOP客户端的入口点。
  • 客户端 - 客户端可以安装在任意数量的机器上。

以下是在Ubuntu 16.04上设置Apache Sqoop的步骤。
下载所需的SQOOP包,这将具有sqoop-1.99.7-bin-hadoop200.tar.gz文件。

1)使用WGet下载SQOOP

在文件系统上使用以下命令下载SQOOP。

wget http://archive.apache.org/dist/sqoop/1.99.7/sqoop-1.99.7-bin-hadoop200.tar.gz

检查文件是否已正确下载。

2)提取SQOOM TAR文件

提取下载的文件。

tar -xvf sqoop-1.99.7-bin-hadoop200.tar.gz

检查文件是否已正确提取。

3)移动SQOOM目录

将SQOOM目录移动到/usr/lib /

sudo mv sqoop-1.99.7-bin-hadoop200 /usr/lib/

SQOPOOP Server充当Hadoop客户端,因此在此节点上必须在此节点上使用Hadoop库(yarn,mapReduce和HDFS jar文件)和配置文件(Core-site.xml,mapreduce-stail.xml,...)。

4)设置Hadoop和Sqoop环境变量

我们应该在.bashrc文件中设置hadoop环境变量。

# Set Hadoop-related environment variables
export HADOOP_HOME=$HOME/hadoop-2.7.3
export HADOOP_CONF_DIR=$HOME/hadoop-2.7.3/etc/hadoop
export HADOOP_MAPRED_HOME=$HOME/hadoop-2.7.3 
export HADOOP_COMMON_HOME=$HOME/hadoop-2.7.3 
export HADOOP_HDFS_HOME=$HOME/hadoop-2.7.3
export HADOOP_YARN_HOME=$HOME/hadoop-2.7.3

此外,在.bashrc文件中设置sqoop环境变量。

sudo gedit .bashrc

放入.bashrc文件下面。

export SQOOP_HOME=/usr/lib/sqoop-1.99.7-bin-hadoop200 
export PATH=$PATH:$SQOOP_HOME/bin 
export SQOOP_CONF_DIR=$SQOOP_HOME/conf 
export SQOOP_CLASS_PATH=$SQOOP_CONF_DIR

使用以下命令将变更生效。

source .bashrc

5)将所需的JAR文件复制到SQOOM Server Lib目录

将Hadoop-common,Hadoop-mapreduce,Hadoop-HDFS,Hadoop-yarn jars复制到/usr/lib/sqoop-1.99.7-bin-hadoop200/server/lib(Sqoop Server lib目录)。
下面是我们需要将所有JAR复制到SQOOP Server Lib目录的路径。

/home/ubuntu/hadoop-2.7.3/share/hadoop/common 
/home/ubuntu/hadoop-2.7.3/share/hadoop/common/lib 
/home/ubuntu/hadoop-2.7.3/share/hadoop/hdfs 
/home/ubuntu/hadoop-2.7.3/share/hadoop/hdfs/lib 
/home/ubuntu/hadoop-2.7.3/share/hadoop/mapreduce 
/home/ubuntu/hadoop-2.7.3/share/hadoop/mapreduce/lib 
/home/ubuntu/hadoop-2.7.3/share/hadoop/yarn 
/home/ubuntu/hadoop-2.7.3/share/hadoop/yarn/lib

6)编辑core-site.xml

SQOOM Server需要模拟用户在群集中或者外部的用户访问群集的HDF和其他资源,而不是运行服务器的用户。
我们需要配置Hadoop的Core-site.xml并将以下2个属性添加到它。

<property>
<name>hadoop.proxyuser.ubuntu.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.ubuntu.groups</name>
<value>*</value>
</property>

7)初始化Metadeta存储库

在第一次启动SQOOP 2服务器之前,需要在启动SQOOP 2服务器之前初始化元数据存储库。

./bin/sqoop2-tool upgrade

8)启动SQOOP Server

启动SQOP服务器。

./bin/sqoop2-server start

检查SQOPOOP Server服务是否已启动。

jps

9)启动SQOOP客户端

只需在目标计算机上复制SQOP分发工件并将其解压缩在所需的位置,我们可以启动客户端。
我也使用与客户相同的机器。
启动SQOOM客户端

./bin/sqoop2-shell

10)下载RDBMS连接器

使用以下链接下载MySQL,Oracle和SQL Server的连接器。
需要这些连接器来在SQOOP和RDBMS之间进行连接。

检查是否已下载所有连接器。

ls Downloads/

11)设置环境变量以使用RDBMS连接器

将所有连接器移动到目录并将该目录设置为环境变量。

sudo mkdir -p /var/lib/sqoop2/
sudo chmod 777 /var/lib/sqoop2/
mv Downloads/*.jar /var/lib/sqoop2/
ls -l /var/lib/sqoop2/
export SQOOP_SERVER_EXTRA_LIB=/var/lib/sqoop2/