更新時間:2021-01-26 來源:黑馬程序員 瀏覽量:
Sqoop的安裝配置非常簡單,前提是部署Sqoop工具的機器需要具備Java和Hadoop的運行環(huán)境。接下來,本書將采用編寫時最新穩(wěn)定版本Sqoop-1.4.6來講解Sqoop的安裝配置,下載地址http://archive.apache.org/dist/sqoop/1.4.6/。
1**.Sqoop**安裝
首先將下載好的安裝包上傳至hadoop01主節(jié)點的/export/software目錄中,并解壓至/export/servers路徑下,然后對解壓包進行重命名,具體指令如下。
$ tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /export/servers/ $ mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha/ sqoop-1.4.6
執(zhí)行完上述Sqoop的下載解壓后,就完成了Sqoop的安裝。
2**.Sqoop**配置
(1)先進入Sqoop解壓包目錄中的conf文件夾目錄下,將sqoop-env-template.sh文件復制并重命名為sqoop-env.sh,對該文件中的如下內容進行修改。
export HADOOP_COMMON_HOME=/export/servers/hadoop-2.7.4 export HADOOP_MAPRED_HOME=/export/servers/hadoop-2.7.4 export HIVE_HOME=/export/servers/apache-hive-1.2.1-bin
在sqoop-env.sh配置文件中,需要配置的是Sqoop運行時必備環(huán)境的安裝目錄,Sqoop運行在Hadoop之上,因此必須指定Hadoop環(huán)境。另外,在配置文件中還要根據(jù)需要自定義配置Hbase、Hive和Zookeeper等環(huán)境變量(例如本章后續(xù)將會使用到Hive,所以必須配置Hive的環(huán)境變量,而其他無關環(huán)境變量如果未配置,使用過程中可能會出現(xiàn)警告提示,但不影響其他操作)。
小提示:
需要說明的是,本書講解的Hadoop是Apache社區(qū)版本,Hadoop重要的組件都是安裝在一個安裝包中,所以上述配置文件中配置的HADOOP_COMMON_HOME與HADOOP_MAPRED_HOME指定的Hadoop安裝目錄一致。如果使用第三方的Hadoop,這些組件都是可選擇配置的,那么這兩個路徑可能會有所不同。
(2)為了后續(xù)方便Sqoop使用和管理,可以配置Sqoop系統(tǒng)環(huán)境變量。使用“vi /etc/profile”指令進入到profile文件,在文件底部進一步添加如下內容類配置Sqoop系統(tǒng)環(huán)境變量。
export SQOOP_HOME=/export/servers/sqoop-1.4.6 export PATH=$PATH:$SQOOP_HOME/bin:
配置完成后直接保存退出,接著使用“source /etc/profile”指令刷新配置文件即可。
(3)當完成前面Sqoop的相關配置后,還需要根據(jù)所操作的關系型數(shù)據(jù)庫添加對應的JDBC驅動包,用于數(shù)據(jù)庫連接。本書將針對MySQL數(shù)據(jù)庫進行數(shù)據(jù)遷移操作,所以需要將mysql-connector-java-5.1.32.jar(版本可以自行選擇)包上傳至Sqoop解壓包目錄的lib文件夾下。
3**.Sqoop**效果測試
執(zhí)行完上述Sqoop的安裝配置操作后,就可以執(zhí)行Sqoop相關指令來驗證Sqoop的執(zhí)行效果了,具體指令如下(此次在Sqoop的解壓包下執(zhí)行,同時注意數(shù)據(jù)庫密碼)。
$ sqoop list-databases \ -connect jdbc:mysql://localhost:3306/ \ --username root --password 123456
上述指令中,sqoop list-databases用于輸出連接的本地MySQL數(shù)據(jù)庫中的所有數(shù)據(jù)庫名,如果正確返回指定地址的MySQL數(shù)據(jù)庫信息,那么說明Sqoop配置完畢。
執(zhí)行上述指令后,終端效果如圖1所示。
圖1 Sqoop驗證效果
從圖1可以看出,執(zhí)行完上述指令后,通過Sqoop成功查詢出連接的MySQL數(shù)據(jù)庫中的所有數(shù)據(jù)庫名,這就說明Sqoop的安裝配置正確。
猜你喜歡: