基於Linux安裝mysql 的傳送門在這裏了(注意文章結尾的權限設置):https://blog.csdn.net/qq_44172732/article/details/106111959
本文主要爲學習筆記,主題爲sqoop的安裝和配置,順便做一個從mysql傳入hdfs的實例。
本文默認安裝並有一個可用mysql庫表,默認mysql權限已設置,默認hadoop集羣已啓動(目前本人實驗不是從高可用上,等有空實驗好了再完善本篇文章)
music:http://music.163.com/song?id=1446768955&userid=1295745784
全文重點mysql的權限、sqoop的env配置文件
一、sqoop的下載
sqoop傳送門: http://www.apache.org/dyn/closer.lua/sqoop/1.4.7
二、sqoop安裝
tar -zxvf [名稱]
配置文件profile
#sqoop
export SQOOP_HOME=/opt/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
Sqoop-env.sh的配置
這個文件把sqoop目錄下conf裏面的sqoop-env-template.sh改了名就是了
裏面有很多需要配置的路徑其實都是存儲數據的軟件,目前只需要配上hadoop的路徑即可,其他的以後有緣再見吧。
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/hadoop
#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/hadoop
驗證方式:sqoop version
即可 會有一些warning 不用理會
sqoop驅動包的導入
傳送門 https://cdn.mysql.com//archives/mysql-connector-java-5.1/mysql-connector-java-5.1.46.zip
這個在windows上解壓之後裏面有兩個jar包,我用的是帶bin的那個。
只需要傳入一個即可,傳入的目的地址是sqoop/lib下。 (放進去就大功告成了)
三、sqoop的啓動
sqoop import --connect jdbc:mysql://test1:3306/fzy -table classes --username root --password Ff12345678. --target-dir /sqoop/fzy/test002 --delete-target-dir --num-mappers 1 --fields-terminated-by "\t"
代碼有點長
一點一點來看
sqoop import
是sqoop自帶方法,主要用來導入數據
--connect jdbc:mysql://test1:3306/fzy
是連接我的數據庫,test1是我的主機名,大多爲master或slave1,fzy是庫名
-table classes
表明我的fzy庫裏面的表名
--username root --password Ff12345678.
很顯然是我的數據庫的用戶名和密碼
--target-dir /sqoop/fzy/test002
傳到hdfs的哪個目錄下 如果沒有會自動創建
後面都沒啥大的意義了 以後再探索,不過一般寫啓動命令時,不一大串直接上都是這樣寫:
sqoop import \
--connect jdbc:mysql://test1:3306/fzy \
-table classes \
--username root --password Ff12345678. \
--target-dir /sqoop/fzy/test002 \
--delete-target-dir --num-mappers 1 --fields-terminated-by "\t"
就是每一行最後打一個\就可以換行寫代碼了 就是更清楚一點而已。
如果報錯看這
錯誤: 找不到或無法加載主類 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
上結果: