資料到hadoop的遷移
最近在用flume和sqoop來做非關係資料(日誌)和關係資料(MYSQL)遷移到hdfs的工作,簡單記錄下使用過程,以此總結
一 flume的使用
使用flume把web的log日誌資料匯入到hdfs上
步驟
1 在 elephant 節點上
先安裝flume sudo yum install --assumeyes flume-ng
2 建立配置檔案
vi /etc/hadoop/conf/flume-conf.properties
tail1.sources = src1
tail1.channels = ch1
tail1.sinks = sink1
tail1.sources.src1.type = exec
tail1.sources.src1.command = tail -F /tmp/access_log
tail1.sources.src1.channels = ch1
tail1.channels.ch1.type = memory
tail1.channels.ch1.capacity = 500
tail1.sinks.sink1.type = avro
tail1.sinks.sink1.hostname = localhost
tail1.sinks.sink1.port = 6000
tail1.sinks.sink1.batch-size = 1
tail1.sinks.sink1.channel = ch1
##
collector1.sources = src1
collector1.channels = ch1
collector1.sinks = sink1
collector1.sources.src1.type = avro
collector1.sources.src1.bind = localhost
collector1.sources.src1.port = 6000
collector1.sources.src1.channels = ch1
collector1.channels.ch1.type = memory
collector1.channels.ch1.capacity = 500
collector1.sinks.sink1.type = hdfs
collector1.sinks.sink1.hdfs.path = flume/collector1
collector1.sinks.sink1.hdfs.filePrefix = access_log
collector1.sinks.sink1.channel = ch1
配置檔案說明結構是
src取日誌資料,通過記憶體傳送到本地以avro檔案格式儲存,做中轉,然後從avro檔案,通過記憶體傳送到hdfs上。hdfs儲存路徑是flume/collector1,
3 在hfds上建立儲存目錄
hadoop fs -mkdir -p flume/collector1
4 模擬產生大量日誌檔案,在log目錄中
$ accesslog-gen.bash /tmp/access_log
5 啟動日誌收集器
flume-ng agent --conf /etc/hadoop/conf/ \
--conf-file /etc/hadoop/conf/flume-conf.properties \
--name collector1
6 啟動日誌採集器
$ flume-ng agent \
--conf-file /etc/hadoop/conf/flume-conf.properties \
--name tail1
二 sqoop的使用
使用sqoop把mysql中的表資料匯入到hdfs
1安裝sqoop
sudo yum install --assumeyes sqoop
2在sqoop的lib下建立一個mysql連線的驅動連結,也就是在sqoop的lib下面能找到mysql的驅動包
就是在/usr/lib/sqoop/lib目錄,建立 $ sudo ln -s /usr/share/java/mysql-connector-java.jar /usr/lib/sqoop/lib/
3匯入資料
sqoop help
用sqoop檢視mysql中有哪些資料庫
sqoop list-databases \
--connect jdbc:mysql://localhost \
--username training --password training
再看看庫裡有哪些表
sqoop list-tables \
--connect jdbc:mysql://localhost/movielens \
--username training --password training
開始匯入命令表movie到hdfs,表中欄位的資料用tab分割
sqoop import \
--connect jdbc:mysql://localhost/movielens \
--table movie --fields-terminated-by '\t' \
--username training --password training
4驗證
hadoop fs -ls movie
hadoop fs -tail movie/part-m-00000
可以看到資料已檔案形式儲存到hdfs
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750077/viewspace-2147426/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遷移sqlserver資料到MongoDbSQLServerMongoDB
- mysqldump從mysql遷移資料到OceanBaseMySql
- 【Redis】redis遷移資料到redis-clusterRedis
- Oracle使用RMAN從Windows遷移資料到LinuxOracleWindowsLinux
- Hadoop資料遷移MaxCompute最佳實踐Hadoop
- 遷移ORACLE資料到MogDB/openGauss時的字符集問題Oracle
- 自動化遷移七牛雲的資料到阿里雲OSS阿里
- 自動化遷移七牛雲的資料到阿里雲 OSS阿里
- 高速遷移MySQL資料到分散式時序資料庫DolphinDBMySql分散式資料庫
- hadoop之上傳資料到hdfs模式Hadoop模式
- 按檔案或扇區方式遷移資料到另一儲存,完成恢復工作
- 伺服器資料遷移的方法-硬體不同如何遷移資料伺服器
- Hadoop 資料遷移用法詳解Hadoop
- Harbor資料遷移
- gitlab資料遷移Gitlab
- 資料庫遷移資料庫
- Kafka資料遷移Kafka
- 使用DistCp將Hadoop進行雲遷移時注意事項TCPHadoop
- ABP8.1的資料遷移
- 資料遷移(1)——通過資料泵表結構批量遷移
- 金倉資料庫資料遷移實戰:從MySQL到KES的順利遷移資料庫MySql
- 系統資料遷移
- laravel資料庫遷移Laravel資料庫
- congregate遷移gitlab資料Gitlab
- 資料庫遷移 :理解資料庫
- Fastdfs資料遷移方案AST
- Mysql資料遷移方法MySql
- 【Hive】hive資料遷移Hive
- 【Redis】 redis資料遷移Redis
- redis資料庫遷移Redis資料庫
- Hadoop大資料存算分離下,遷移HDFS如何做到業務無感?Hadoop大資料
- 關於禪道的資料遷移
- Laravel migration (資料庫遷移) 的使用Laravel資料庫
- Hadoop Hive遷移至MaxComputeHadoopHive
- Mysql百萬級資料遷移,怎麼遷移?實戰過沒?MySql
- dm資料庫遷移命令資料庫
- SAP資料遷移需要多久?
- 用rman遷移資料庫資料庫
- 資料庫遷移手記資料庫