大数据学习笔记——Sqoop完整部署流程
Sqoop详细部署教程
Sqoop是一个将hadoop与关系型数据库之间进行数据传输,批量数据导入导出的工具,注意,导入是指将数据从RDBMS导入到hadoop而导出则是指将数据从hadoop导出到RDBMS,本篇博客承接上篇Hive的部署教程,废话不多说,直接开始流程
1. 安装准备
准备好以下安装包,使用的版本为1.4.7
2. 正式安装
1. 使用Xftp将tar.gz文件放到/home/centos/downloads目录下
2. 解压缩
cd /home/centos/downloads
tar -xzvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /soft
3. 创建符号链接
cd /soft
ln -s sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
4. 配置环境变量
nano /etc/profile
在文件末尾添加:
#sqoop环境变量
export SQOOP_HOME=/soft/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
#添加hive依赖到hadoop的classpath下
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HIVE_HOME/lib/*
保存退出后:
source /etc/profile
5. 修改配置文件
cd /soft/sqoop/conf
mv sqoop-env-template.sh sqoop-env.sh
nano sqoop-env.sh
修改以下代码后保存退出:
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/soft/hadoop
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/soft/hadoop
#set the path to where bin/hbase is available
#export HBASE_HOME=
#Set the path to where bin/hive is available
export HIVE_HOME=/soft/hive
#Set the path for where zookeper config dir is
export ZOOCFGDIR=/soft/zk/conf
6. 放入mysql的驱动程序:
cp /soft/hive/lib/mysql-connector-java-5.1.44.jar /soft/sqoop/lib/
7. 查看sqoop的版本,sqoop version,出现以下信息说明配置成功!
3. 后续收尾
至此,sqoop的配置已经完成了,接下去还有一个后续工作要做,由于最新版的sqoop很有可能和hive或其他大数据组件版本上不兼容,导致以后在做导入导出操作的时候会报java异常,因此还需要进行以下4步操作
1. 复制hive的hive-site.xml文件到sqoop的conf下
cp /soft/hive/conf/hive-site.xml /soft/sqoop/conf
2. 修改jre下lib文件夹中的配置
cd /soft/jdk/jre/lib/security
修改java.policy中的内容
nano java.policy
在grant{}里添加以下内容:
// JMX Java Management eXtensions
permission javax.management.MBeanTrustPermission "register";
3. 将sqoop/lib下的jackson的jar包做备份,使用ipython将所有jackson的jar包加上.bak做备份
ipython
import os
back_up_file = [i for i in os.listdir('/soft/sqoop/lib') if i.startswith('jackson') and i.endswith('jar')]
new_file_name = [i + '.bak' for i in back_up_file]
D = '/soft/sqoop/lib/'
for i,j in zip(back_up_file, new_file_name):
os.rename(D+i, D+j)
exit
4. 将hive/lib下所有的jackson的jar包复制到sqoop/lib下
cp /soft/hive/lib/jackson*.jar /soft/sqoop/lib
最新文章
- px、dp和sp,这些单位有什么区别?
- vs切换当前编辑文件时自动定位目录树
- 硅谷新闻8--TabLayout替换ViewPagerIndicator
- BZOJ3745 : [Coci2014]Norma
- IPhone 设备状态、闪光灯状态
- Maven Build Profiles--reference
- 界面动态加载时报NullPointException
- iOS-NSSDate的使用
- optimize table 表优化问题
- http://www.lanceyan.com/tech/mongodb/mongodb_repset1.html
- 无法识别的配置节 applicationSettings
- [原创]HBase学习笔记(4)- 数据导入
- hadoop环境搭建及Wordcount案例实验
- java如何获取一个对象的大小【转】
- angular-环境搭建
- 42 【docker】run命令
- 全排列(Perm)的递归实现算法
- python学习笔记_week7
- SpringBoot08 请求方式、参数获取注解、参数验证、前后台属性名不一致问题、自定义参数验证注解、BeanUtils的使用
- nmap扫描工具
热门文章
- MySQL如何永久解决由dos编码格式导致MySQ的显示乱码
- vuejs学习之新的components组件挂载
- 使用图数据库 Nebula Graph 数据导入快速体验知识图谱 OwnThink
- ecryptfs
- Beta阶段贡献分配
- 【论文阅读】Binary Multi-View Clustering
- 内核升级在线安装报错:Could not retrieve mirrorlist http://mirrors.elrepo.org/mirrors-elrepo-kernel.el7 error was14: curl#6 - ";Could not resolve host: mirrors.elrepo.org; 未知的错误";
- logistic回归介绍以及原理分析
- 在React项目中添加ESLint
- 【RN - 基础】之React Native组件的生命周期