一、概念
? ? ? ?Sqoop(發(fā)音:skup)是一款開源的工具坡疼,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(mysql、postgresql...)間進(jìn)行數(shù)據(jù)的傳遞衣陶,可以將一個關(guān)系型數(shù)據(jù)庫(例如 : MySQL ,Oracle ,Postgres等)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中回梧,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫中。
二祖搓、環(huán)境與軟件安裝
操作系統(tǒng):Red Hat 4.8.3-9
Apache hadoop: 2.7.2
Apache Zookeeper:3.4.9
Apache Sqoop: 1.4.6
mysql JDBC:5.1.4
1、登錄 linux 湖苞,擁有root權(quán)限
2拯欧、cd /opt
3、下載sqoop 的包wget
4财骨、tar -zxvf ?sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
5镐作、配置環(huán)境變量
vi /etc/profile
export SQOOP_HOME=/opt/sqoop-1.4.6.bin__hadoop-2.0.4-alpha
export PATH=$PATH:$SQOOP_HOME/bin
source /etc/profile
6藏姐、在Sqoop根目錄下,進(jìn)入conf目錄该贾,找到其中的sqoop-env-template.sh羔杨,復(fù)制成sqoop-env.sh:
修改其中的環(huán)境變量,此處使用的主要是四個:
#Set?path?to?where?bin/hadoop?is?available
export?HADOOP_COMMON_HOME=${HADOOP_HOME}
#Set?path?to?where?hadoop-*-core.jar?is?available
export?HADOOP_MAPRED_HOME=${HADOOP_HOME}
#set?the?path?to?where?bin/hbase?is?available
export?HBASE_HOME=${HBASE_HOME}
#Set?the?path?for?where?zookeper?config?dir?is
export?ZOOCFGDIR=${ZOOKEEPER_HOME}/conf
注:若未安裝zookeeper杨蛋,需先安裝zookeeper
7兜材、檢測使用:bin/sqoop?help
注意,這里可能會報警告:
Warning: /home/hadoop/deploy/sqoop-1.4.6.bin__hadoop-2.0.4-alpha//../hcatalog does not exist! HCatal 逞力;
Warning: /home/hadoop/deploy/sqoop-1.4.6.bin__hadoop-2.0.4-alpha//../accumulo does not exist! Accumulo imports will fail.
這主要是因為集群中沒有安裝HCatal和accumulo環(huán)境變量曙寡,但sqoop默認(rèn)會檢測這兩個組件。若非要去掉這兩個檢測寇荧,可以修改bin/config-sqoop文件举庶,很容易找到這兩個組件的檢測位置。