日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

datax oracle mysql_从 MySQL 到 Lindorm时序引擎 的数据迁移

發(fā)布時間:2024/9/27 数据库 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 datax oracle mysql_从 MySQL 到 Lindorm时序引擎 的数据迁移 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景

本文主要介紹如何使用阿里巴巴的開源工具Datax 實現(xiàn)從 MySQL 到 時序引擎 的數(shù)據(jù)遷移。

DataX相關使用介紹請參閱 DataX 的

下面將首先介紹 DataX 工具本身,以及本次遷移工作涉及到的兩個插件(MySQL Reader 和 TSDB Writer)。

DataX

DataX 是阿里巴巴集團內(nèi)被廣泛使用的離線數(shù)據(jù)同步工具 / 平臺,實現(xiàn)包括 MySQL、Oracle、SqlServer、PostgreSQL、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS

等各種異構(gòu)數(shù)據(jù)源之間高效的數(shù)據(jù)同步功能。

MySQL Reader

MySQL Reader 是 DataX 的一個插件,實現(xiàn)了從 MySQL 讀取數(shù)據(jù)。

TSDB Writer

TSDB Writer 是 DataX 的一個插件,實現(xiàn)了將數(shù)據(jù)點寫入到Lindorm數(shù)據(jù)庫時序引擎中。

Quick Start

環(huán)境準備。

Linux

MySQL(目前只支持兼容 5.x,其他版本暫不保證兼容)

Lindorm時序引擎(目前只支持兼容 2.4.x 及以上版本,其他版本暫不保證兼容)

下載 DataX 及其插件。

點擊

利用 DataX 自帶的遷移任務,檢查遷移流程能否走通。

這里,我們先以最簡單的 Stream Reader 到 Stream Writer 為例。因為這兩個插件不依賴任何的外部環(huán)境,特別適合用來測試流程是否能走通。簡單介紹下這兩個插件,其中

Stream Reader 會隨機地產(chǎn)生字符串,而 Stream Writer 則會將接受到的字符串輸出到控制臺,以此模擬一個最簡單的數(shù)據(jù)遷移過程。

工具部署

將下載后的安裝包,解壓至某個目錄(作為 DATAX_HOME),即可運行遷移任務:$ cd ${DATAX_HOME}

$ python bin/datax.py job/job.json

檢查任務是否成功

下面是任務結(jié)束后的匯總信息,看到如下內(nèi)容,即可表示遷移任務已成功完成:任務啟動時刻 : 2019-04-26 11:18:07

任務結(jié)束時刻 : 2019-04-26 11:18:17

任務總計耗時 : 10s

任務平均流量 : 253.91KB/s

記錄寫入速度 : 10000rec/s

讀出記錄總數(shù) : 100000

讀寫失敗總數(shù) : 0

步驟四:配置和啟動 MySQL 到 時序引擎 的遷移任務

通過上述 Stream Reader 到 Stream Writer 的遷移任務,我們就可以確保整個 DataX 流程是沒有問題的。下面就可以真正開始 MySQL

Reader 到 TSDB Writer 遷移任務了。

配置遷移任務

配置一個從 MySQL 數(shù)據(jù)庫同步抽取數(shù)據(jù)到 時序引擎 的任務,命名為 mysql2tsdb.json,完整的配置信息如下(針對各個配置參數(shù)的詳細說明,請看下一章節(jié)"參數(shù)說明"):{

"job": {

"content": [

{

"reader": {

"name": "mysqlreader",

"parameter": {

"column": [

"name",

"type",

"create_time",

"price"

],

"connection": [

{

"jdbcUrl": [

"jdbc:mysql://127.0.0.1:3306/datax"

],

"table": [

"book"

]

}

],

"password": "yuzhouwan",

"splitPk": "id",

"username": "root"

}

},

"writer": {

"name": "tsdbwriter",

"parameter": {

"column": [

"name",

"type",

"create_time",

"price"

],

"columnType": [

"tag",

"tag",

"timestamp",

"metric_num"

],

"sourceDbType": "RDB",

"tsdbAddress": "localhost",

"tsdbPort": 8242

}

}

}

],

"setting": {

"speed": {

"channel": 1

}

}

}

}

啟動 MySQL 2 時序引擎 遷移任務$ cd ${DATAX_HOME}/..

$ ls

datax/ datax.tar.gz mysql2tsdb.json

$ python datax/bin/datax.py mysql2tsdb.json

檢查任務是否成功

下面是任務結(jié)束后的匯總信息,看到如下內(nèi)容,即可表示遷移任務已成功完成:任務啟動時刻 : 2019-05-21 18:25:16

任務結(jié)束時刻 : 2019-05-21 18:25:27

任務總計耗時 : 11s

任務平均流量 : 3B/s

記錄寫入速度 : 0rec/s

讀出記錄總數(shù) : 3

讀寫失敗總數(shù) : 0

參數(shù)說明

接下來,我們來看下各個配置項的含義:

MySQL Reader 相關

名稱

類型

是否必需

描述

默認值

舉例

jdbcUrl

String

數(shù)據(jù)庫的 JDBC 連接信息

jdbc:mysql://127.0.0.1:3306/datax

username

String

數(shù)據(jù)源的用戶名

root

password

String

數(shù)據(jù)源指定用戶名的密碼

root

table

String

需要同步的表

book

column

Array

表中需要同步的列名集合

[]

["m"]

splitPk

String

如果指定 splitPk,表示用戶希望使用 splitPk 代表的字段進行數(shù)據(jù)分片

id

TSDB Writer 相關

名稱

類型

是否必需

描述

默認值

舉例

sourceDbType

String

目前支持 時序引擎 和 RDB 兩個取值。其中,時序引擎 指 OpenTSDB、InfluxDB、Prometheus、TimeScale 等;而 RDB 指 MySQL、Oracle、PostgreSQL、DRDS

TSDB

RDB

column

Array

表中需要同步的列名集合

[]

["name","type","create_time","price"]

columnType

Array

關系型數(shù)據(jù)庫中表字段,映射到 時序引擎 中的類型。支持的類型:timestamp:該字段是個時間戳;tag:該字段是個 tag;metric_num:該 metric 的 value 是數(shù)值類型;metric_string:該 metric 的 value 是字符串類型

[]

["tag","tag","timestamp","metric_num"]

tsdbAddress

String

時序引擎 的 IP 地址

127.0.0.1

tsdbPort

int

時序引擎 的端口

8242

batchSize

int

每次批量數(shù)據(jù)的條數(shù)(需要保證大于 0)

100

100

注意事項

確保與 時序引擎 的網(wǎng)絡是連通的

因為 TSDB Writer 寫入數(shù)據(jù)的方式是調(diào)用 HTTP 接口(/api/put)來完成的,所以需要確保遷移任務的進程能正常訪問到 時序引擎 暴露出來的 HTTP 接口的。否則,會報錯 Connect Exception 異常。

確保與 MySQL 的網(wǎng)絡是連通的

因為 MySQL Reader 讀取數(shù)據(jù)是通過 JDBC 來完成的,所以需要確保遷移任務的進程能正常訪問到 MySQL 暴露出來的 JDBC 接口的。否則,會報錯

Connect Exception 異常。

需要 column 字段順序保持一致

需要保證 TSDB Writer 插件中的 column 字段順序和 MySQL reader 插件中配置的 column 字段順序保持一致。否則,數(shù)據(jù)會錯亂。

FAQ

Q:是否支持調(diào)整遷移進程的 JVM 內(nèi)存大小?

A:支持的。以"從 MySQL 到 時序引擎 的數(shù)據(jù)遷移任務"為例,啟動命令如下:python datax/bin/datax.py mysql2tsdb.json -j "-Xms4096m -Xmx4096m"

Q:如何給 時序引擎 設置網(wǎng)絡白名單?

A:參考《Lindorm數(shù)據(jù)庫 時序引擎 版 > 快速入門 >

Q:將遷移任務運行在 ECS 上的用戶,如何配置 VPC,以及常見問題有哪些?

總結(jié)

以上是生活随笔為你收集整理的datax oracle mysql_从 MySQL 到 Lindorm时序引擎 的数据迁移的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。