0


Sqoop安装配置

1、软件准备:http://archive.apache.org/dist/sqoop/1.4.7/

安装 Sqoop 组件需要与 Hadoop 环境适配。使用 root 用户在 Master 节点上进行部署,

将 /root/package/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 压缩包解压到/usr/local 目录下

[root@master src]# cd /root/package/

[root@master package]# tar -zxvf /root/package/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local

将解压后生成的 sqoop-1.4.7.bin__hadoop-2.6.0 文件夹更名为 sqoop。

[root@master package]# cd /usr/local

[root@master local]# mv ./sqoop-1.4.7.bin__hadoop-2.6.0 sqoop

2、配置 Sqoop 环境

2.1. 创建 Sqoop 的配置文件 sqoop-env.sh。

复制 sqoop-env-template.sh 模板,并将模板重命名为 sqoop-env.sh。

[root@master local]# cd /usr/local/sqoop/conf/

[root@master conf]# cp sqoop-env-template.sh sqoop-env.sh

2.2. 修改 sqoop-env.sh 文件,添加 Hdoop、Hbase、Hive 等组件的安装路径。

注意,下面各组件的安装路径需要与实际环境中的安装路径保持一致。

[root@master conf]# vi sqoop-env.sh

export HADOOP_COMMON_HOME=/usr/local/hadoop-2.8.5

export HADOOP_MAPRED_HOME=/usr/local/hadoop-2.8.5

export HBASE_HOME=/usr/local/hbase-1.2.4/

export HIVE_HOME=/usr/local/apache-hive-1.2.2-bin

2.3. 配置 Linux 系统环境变量,添加 Sqoop 组件的路径。

[root@master conf]# vi /etc/profile

#在文件末尾添加

set sqoop environment

export SQOOP_HOME=/usr/local/sqoop

export PATH=$PATH:$SQOOP_HOME/bin

export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib

为使环境变生效,执行如下命令:source /etc/profile

2.4. 连接数据库

为了使 Sqoop 能够连接 MySQL 数据库,将hive中的表同步到hadoop-1服务器的MySQL 5.7数据库中,所以拷贝前面安装的hive的lib目录下的MySQL的驱动包到Sqoop的lib目录下

cp /usr/local/apache-hive-1.2.2-bin/lib/mysql-connector-java-5.1.37.jar /usr/local/sqoop/lib/

测试验证:使用如下命令测试Sqoop是否配置完成可以使用:sqoop help

为去掉Warning,使用vim编辑配置文件configure-sqoop:

vi /usr/sqoop-1.4.7/bin/configure-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

3、启动 Sqoop

3.1. 执行 Sqoop 前需要先启动 Hadoop 集群。

在 master 节点切换到 hadoop 用户执行 start-all.sh 命令启动 Hadoop 集群。

[root@master ~]# su - hadoop

[hadoop@master ~]$ source /etc/profile

[hadoop@master ~]$ start-all.sh

3.2 检查 Hadoop 集群的运行状态。

[root@master ~]# jps

2610 Jps

1992 NameNode

2347 ResourceManager

2190 SecondaryNameNode

3.3. 测试 Sqoop 是否能够正常连接 MySQL 数据库。

Sqoop 连接 MySQL 数据库 P 大写 密码 414894038m

sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P

[root@master ~]# sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -P

22/02/22 15:52:35 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/usr/local/hadoop-2.8.5/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/usr/local/hbase-1.2.4/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

Enter password: # 此处需要输入密码

22/02/22 15:52:41 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.

information_schema

farm

flume

hive

mysql

performance_schema

Sys

能 够 查 看 到 MySQL 数 据 库 中 的information_schema、farm、flume、hive、mysql、performance_schema、sys等数据库,说明 Sqoop 可以正常连接 MySQL。

3.4. 连接 hive

为了使 Sqoop 能够连接 Hive,需要将 hive 组件/usr/local/apache-hive-1.2.2-bin/lib/目录下的hive-common-1.2.2.jar也放入 Sqoop 安装路径的 lib 目录中。

[hadoop@master ~] cp /usr/local/src/hive/lib/hive-common-2.0.0.jar

/usr/local/src/sqoop/lib/

标签: sqoop hadoop 数据库

本文转载自: https://blog.csdn.net/weixin_46474921/article/details/123068609
版权归原作者 Siobhan. 明鑫 所有, 如有侵权,请联系我们删除。

“Sqoop安装配置”的评论:

还没有评论