Sqoop的centos安装与Hbase使用
sqoop是用来在hadoop和关系数据库之间的数据迁移的一个工具。可以使用Sqoop从关系型数据库管理系统如MySQL、Oracle中将数据导入到Hadoop分布式文件系统(HDFS)中,也可以从HDFS导出数据到RDBMS中。
RDBMS需要提供数据所在的schema(数据库连接和用户名密码等信息),Sqoop使用MapReduce导入和导出数据,MR提供了容错机制和并行运算
1.Sqoop安装
1.1下载Sqoop
在官网找到合适的Hadoop2.X的sqoop进行下载(http://archive.apache.org/dist/sqoop/)选择合适的版本进行下载,一定要和自己的Hadoop版本和Hbase的版本进行对应。否则可能会出现版本不兼容的问题。我这里选择的是sqoop-1.4.7的版本,因为基本上对于2.x版本的Hadoop都可以兼容。
1.2安装准备
在master机器上的/usr/local/下新建一个sqoop的文件夹目录:
mkdir /usr/local/sqoop
然后将下载好的包,复制到该目录下面。并进行解压。
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
然后对该目录进行重命名,(名字太长,为了之后的使用方便)。
mv sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz sqoop-1.4.7
修改环境变量,修改profile文件,并添加以下内容:
vim /etc/profile
#然后输入以下内容
export SQOOP_HOME=/usr/local/sqoop/sqoop-1.4.7
#然后再PATH路劲下添加
:$SQOOP_HOME/bin
#添加后的全部文件应该为
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$HBASE_HOME/bin:$SQOOP_HOME/bin
#输入source /etc/profile使环境配置生效
source /etc/profile
1.3修改sqoop配置文件
进入到sqoop的conf目录下,输入cp sqoop-env-template.sh sqoop-env.sh 复制并重命名配置文件,然后修改配置文件
#复制模板配置文件
cp sqoop-env-template.sh sqoop-env.sh
#修改配置文件
vim sqoop-env.sh
#根据自己的需求配置几个环境变量,我这里为需要配置hadoop hive hbase
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/home/hadoop/hadoop
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop
#set the path to where bin/hbase