Sqoop安装部署实战

1:概述        

        Sqoop是apache旗下的一款Hadoop和关系数据库之间传输数据”的工具。

        导入数据:将MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统。

        导出数据:从Hadoop的文件系统中导出数据到关系数据库。

 2:Sqoop的工作机制

将导入和导出的命令翻译成mapreduce程序实现

在翻译出的mapreduce中主要是对inputformat和outputformat进行定制

3:Sqoop2架构

版本号为1.99x为sqoop2

在架构上:sqoop2引入了sqoop server,对connector实现了集中的管理

访问方式:REST API、 JAVA API、 WEB UI以及CLI控制台方式进行访问

4:Sqoop安装部署

Sqoop安装很简单,解压好进行简单的修改就可以使用

1:下载安装包

https://mirrors.bfsu.edu.cn/apache/sqoop/1.4.7

2:上传并解压

将我们下载好的安装包上传到node03服务器的/soft路径下,然后进行解压

cd /soft/
tar -xzvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /install

3:修改配置文件

更改sqoop的配置文件

cd /install/sqoop-1.4.7.bin__hadoop-2.6.0/conf/
mv sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/install/hadoop-3.1.4

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/install/hadoop-3.1.4

#set the path to where bin/hbase is available
export HBASE_HOME=/install/hbase-2.2.7

#Set the path to where bin/hive is available
export HIVE_HOME=/install/apache-hive-3.1.2

#Set the path for where zookeper config dir is
export ZOOCFGDIR=/install/apache-zookeeper-3.6.2-bin

4:添加两个必要的jar包

sqoop需要两个额外依赖的jar包,将课件资料当中两个jar包添加到sqoop的lib目录下

cd /soft
cp java-json.jar mysql-connector-java-5.1.38.jar /install/sqoop-1.4.7.bin__hadoop-2.6.0/lib/

5:配置sqoop的环境变量

sudo vim /etc/profile	

添加如下内容

export SQOOP_HOME=/install/sqoop-1.4.7.bin__hadoop-2.6.0
export PATH=:$SQOOP_HOME/bin:$PATH

让环境变量生效

source /etc/profile

1:sqoop help有warning日志

执行命令sqoop help,有warning日志

 解决方案

[hadoop@node03 bin]$ pwd
/install/sqoop-1.4.7.bin__hadoop-2.6.0/bin
# 搜索HCAT_HOME,将下图红框内容注释掉
[hadoop@node03 bin]$ vim configure-sqoop

2:sqoop help有错误

   运行sqoop help有错误:

   错误: 找不到或无法加载主类 org.apache.hadoop.hbase.util.GetJavaProperty

   此错误,不影响sqoop的;可以忽略不管

   如果有洁癖,可以看如下方式解决

  解决方案一:

        简单的做法,直接用修改过的hbase文件,替换集群3个节点目录`/install/hbase-2.2.7/bin`中的hbase文件
        重启hbase集群即可

  解决方案二:

 ①node01修改hbase命令文件  

[hadoop@node01 bin]$ cd /install/hbase-2.2.7/bin/
[hadoop@node01 bin]$ vim hbase

如下图显示,找到指定的位置(根据行号或关键字内容进行定位)

  ②新增第一个红框的内容

  # Needed for GetJavaProperty check below
    add_to_cp_if_exists "${HBASE_HOME}/hbase-server/target/classes"

  ③si将第二个红框的内容注释掉

 

④继续查找hbase文件,定位到如下黄框内容

⑤在上图322行(第一个黄色框)增加下图①的代码

  temporary_cp=
  for f in "${HBASE_HOME}"/lib/hbase-server*.jar; do
    if [[ ! "${f}" =~ ^.*\-tests\.jar$ ]]; then
      temporary_cp=":$f"
    fi
  done

⑥将上图的第二个黄色框的内容修改成下图②的代码

  HADOOP_JAVA_LIBRARY_PATH=$(HADOOP_CLASSPATH="$CLASSPATH${temporary_cp}" "${    HADOOP_IN_PATH}" \

⑦保存退出
⑧将hbase分发到另外两个节点

[hadoop@node01 bin]$ pwd
/install/hbase-2.2.7/bin
[hadoop@node01 bin]$ scp hbase node02:$PWD
[hadoop@node01 bin]$ scp hbase node03:$PWD

⑨重启hbase

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不要迷恋发哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值