应用场景
当我们按照hadoop完全分布式集群搭建博客搭建了hadoop以后,发现这是一个空的hadoop,只有YARN,MapReduce,HDFS,而这些实际上我们一般不会直接使用,而是需要另外部署Hadoop的其他组件,来辅助使用。比如我们需要把关系型数据库中的数据,抽取到hadoop分布式文件系统中时,我们需要额外安装Spoop组件来方便数据抽取导入操作。
操作步骤
1. Sqoop压缩包下载
sqoop下载地址,将下载的压缩包复制到namenode的/opt目录下
注:sqoop只需要在namenode下安装即可
2. Sqoop解压缩修改目录
# cd /opt
# tar -xzvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
# mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop1.4.6
# chmod 777 -R /opt/sqoop1.4.6 # 对sqoop目录进行赋权
3. 配置sqoop的环境变量
# vim /etc/profile
export JAVA_HOME=/opt/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/hadoop2.6.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HIVE_HOME=/opt/hive2.1.1
export HIVE_CONF_DIR=$HIVE_HOME/conf
export CLASSPATH=.:$HIVE_HOME/lib:$CLASSPATH
export PATH=$PATH:$HIVE_HOME/bin
export SQOOP_HOME=/opt/sqoop1.4.6
export PATH=$PATH:$SQOOP_HOME/bin
#在最后加上最后两行
# source /etc/profile # 使环境变量生效
4. 修改sqoop-env.sh
# cd /opt/sqoop1.4.6/conf/
# cp sqoop-env-template.sh sqoop-env.sh
# vim sqoop-env.sh
# 在最后添加如下配置
export HADOOP_COMMON_HOME=/opt/hadoop2.6.0
export HADOOP_MAPRED_HOME=/opt/hadoop2.6.0
export HIVE_HOME=/opt/hive2.1.1
5. 上传mysql的驱动到sqoop的lib下
mysql驱动下载地址
下载后,上传到【/opt/sqoop1.4.6/lib/】目录中
6. sqoop使用
# sqoop help # 测试sqoop是否安装成功
# sqoop list-tables --username root --password 11111 --connect jdbc:mysql://192.168.210.70:3306/hive?characterEncoding=UTF-8 #测试通过sqoop查看mysql中hive库的所有表