1、Sqoop 環境搭建
1.下載安裝包及解壓
sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
1)拷貝sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 到 /usr/sqoop 目錄下
2)使用
tar -xzvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
3)執行命令:
cp -r ./sqoop-1.4.6.bin__hadoop-2.0.4-alpha/* ./ 把/usr/sqoop/sqoop-1.4.6.bin__hadoop-2.0.4-alpha 目錄下內容拷貝到/usr/sqoop目錄下
4)執行命令:
rm -rf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 移除文件 sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
5)執行命令:
rm -rf sqoop-1.4.6.bin__hadoop-2.0.4-alpha 移除目錄 sqoop-1.4.6.bin__hadoop-2.0.4-alpha
2.配置環境變量和配置文件
1)進入/usr/sqoop/conf目錄,執行命令
cp sqoop-env-template.sh sqoop-env.sh 複製一份sqoop-env.sh 文件
2)進入/usr/sqoop/conf目錄,執行命令
vi sqoop-env.sh 在sqoop-env.sh中添加以下代碼:
export HADOOP_COMMON_HOME=/usr/hadoop
export HADOOP_MAPRED_HOME=/usr/hadoop/share/hadoop/mapreduce
export HBASE_HOME=/usr/hbase
export ZOOCFGDIR=/usr/zookeeper
(若是數據讀取不設計hbase和hive,那麼相關hbase和hive的配置能夠不加,若是集羣有獨立的zookeeper集羣,那麼配置zookeeper,反之,不用配置)。
3.copy須要的lib包到Sqoop/libjava
所需的包:mysql的jdbc包 mysql-connector-java-5.1.32-bin.jar(或Oracle的jdbc包等)
4.添加環境變量mysql
執行命令:
vi /home/hadoop/.bash_profile 添加環境變量
export SQOOP_HOME=/usr/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
export LOGDIR=$SQOOP_HOME/logs/sql
5.測試驗證數據庫
--列出mysql數據庫中的全部數據庫bash
進入/usr/sqoop/bin目錄,執行命令:
sqoop list-databases --connect jdbc:mysql://192.168.160.1:3306 --username root --password dbAdmin2015
報以下錯誤:
解決方案:
在Mysql 命令控制檯,登錄後執行命令:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.160.131' IDENTIFIED BY 'dbAdmin2015' WITH GRANT OPTION;
參考URL:http://www.jb51.net/article/28161.htm
再次執行驗證命令,成功,以下圖所示:
鏈接mysql並列出zkdb數據庫中的表
進入/usr/sqoop/bin目錄,執行命令:
sqoop list-tables --connect jdbc:mysql://192.168.160.1:3306/zkdb?characterEncoding=UTF-8 --username root --password dbAdmin2015
2、將數據從Mysql 導出到 HDFS
將Mysql 的test數據庫中的CFG_BIS_INF 表導出到 HDFS 中,執行以下命令:
sqoop import --connect jdbc:mysql://192.168.160.1:3306/test?characterEncoding=UTF-8 --username root --password dbAdmin2015 --target-dir '/sqoop/cfg_bis_inf' --table cfg_bis_inf
執行結果以下:
ZOOM 雲視頻會議網站:http://www.zoomonline.cn/