概述
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
最后
以上就是威武眼神为你收集整理的Sqoop安装部署实战1:概述 2:Sqoop的工作机制3:Sqoop2架构4:Sqoop安装部署的全部内容,希望文章能够帮你解决Sqoop安装部署实战1:概述 2:Sqoop的工作机制3:Sqoop2架构4:Sqoop安装部署所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复