[hadoop那些事]sqoop的安裝及配置,簡單的從mysql傳入hdfs中

基於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

一、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

上結果:

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章