国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana

這篇具有很好參考價(jià)值的文章主要介紹了實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

基于之前的文章,精簡(jiǎn)操作而來

  • 讓ELK在同一個(gè)docker網(wǎng)絡(luò)下通過名字直接訪問
  • Ubuntu服務(wù)器ELK部署與實(shí)踐
  • 使用 Docker 部署 canal 服務(wù)實(shí)現(xiàn)MySQL和ES實(shí)時(shí)同步
  • Docker部署ES服務(wù),canal全量同步的時(shí)候內(nèi)存爆炸,ES/Canal Adapter自動(dòng)關(guān)閉,CPU100%

1. 拉鏡像

docker pull elasticsearch:7.8.0
docker pull kibana:7.8.0
docker pull canal/canal-server:v1.1.5
docker pull slpcat/canal-adapter:v1.1.5-jdk8
docker pull mysql:5.7

2. mysql環(huán)境配置

2.1 新建mysql docker

首先新建數(shù)據(jù)庫的docker鏡像

docker run -p 3306:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7

2.2 修改配置重啟

接下來去/data/mysql/conf路徑下,新建my.cnf文件,輸入以下內(nèi)容

[mysqld]
#binlog setting
log-bin=mysql-bin  # 開啟logbin
binlog-format=ROW  # binlog日志格式
server-id=1  # mysql主從備份serverId,canal中不能與此相同

docker restart重啟mysql

2.3 驗(yàn)證配置結(jié)果

新建新聞表

CREATE SCHEMA MyTest;

use MyTest;

create table News
(
id INT(11),
title VARCHAR(2125),
desc VARCHAR(2125),
image VARCHAR(2125),
url VARCHAR(2125),
source VARCHAR(2125),
date Date
)DEFAULT CHARSET=utf8;

檢查該新聞表的狀態(tài)

mysql -u root -p  // mysql登錄
>show databases;
>use MyTest;  // 開啟數(shù)據(jù)庫
>show variables like 'log_%';
>show variables like 'binlog_format';
>show master status;  // binlog日志文件 mysql-bin.000001
>reset master;  // 重置日志

實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)

2.4 查看日志文件

cd /var/lib/mysql  // 進(jìn)入日志文件目錄
mysqlbinlog -vv mysql-bin.000001  // row格式查看日志

實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)

3. ES+Kibana環(huán)境配置

3.1 前置準(zhǔn)備

修改內(nèi)存最大容量

# 查看參數(shù)大小
cat /proc/sys/vm/max_map_count
# 設(shè)置參數(shù)
sysctl -w vm.max_map_count=262144

設(shè)置mynetwork
本想用的bridge,發(fā)現(xiàn)bridge

  1. 創(chuàng)建一個(gè)自定義網(wǎng)絡(luò)(執(zhí)行到這里就可以了):

     ## 查看已有網(wǎng)絡(luò)
     docker network ls 
     ## 新建網(wǎng)絡(luò)
     docker network create mynetwork
    
  2. 啟動(dòng)容器時(shí),將它們連接到相同的網(wǎng)絡(luò)并分配容器名稱:

    docker run -d --name containerA --network mynetwork imageA
    docker run -d --name containerB --network mynetwork imageB
    

    在這個(gè)例子中,我們將容器A和容器B連接到同一個(gè)名為 mynetwork 的網(wǎng)絡(luò),并分別分配了容器名稱 containerAcontainerB。

  3. 在容器A中通過容器名稱訪問容器B:

    ping containerB
    
    1. 對(duì)于已經(jīng)啟動(dòng)的Docker放入到指定網(wǎng)絡(luò)
   docker network connect <network_name_or_id> <container_name_or_id>

3.2 ES(單節(jié)點(diǎn)模式部署)

#安裝elasticsearch,創(chuàng)建一個(gè)elk文件夾, 后面的elk日志采集系統(tǒng)的配置文件都放在這里面
#創(chuàng)建elk使用配置文件的目錄
mkdir -p /data/elk

#創(chuàng)建es使用的目錄
mkdir  /data/elk/conf -p

#配置es的配置文件
cat >/data/elk/conf/elasticsearch.yml<<'EOF'
cluster.name: "docker-cluster"
network.host: 0.0.0.0
# 訪問ID限定,0.0.0.0為不限制,生產(chǎn)環(huán)境請(qǐng)?jiān)O(shè)置為固定IP
transport.host: 0.0.0.0
# elasticsearch節(jié)點(diǎn)名稱
node.name: node-1
# elasticsearch節(jié)點(diǎn)信息 單節(jié)點(diǎn)模式關(guān)閉這個(gè)
# cluster.initial_master_nodes: ["node-1"]
# 下面的配置是關(guān)閉跨域驗(yàn)證可以實(shí)現(xiàn)瀏覽器查看es的數(shù)據(jù)
http.cors.enabled: true
http.cors.allow-origin: "*"
EOF


#創(chuàng)建es使用的存儲(chǔ)卷把數(shù)據(jù)映射出來
[root@centos7 ~]# docker volume create elasticsearch
elasticsearch


#創(chuàng)建并啟動(dòng)elasticsearch容器
docker run -di -p 9200:9200 -p 9300:9300 --name=elasticsearch  --network mynetwork -v /data/elk/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml   -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" --mount src=elasticsearch,dst=/usr/share/elasticsearch elasticsearch:7.8.0
#把宿主機(jī)的配置文件映射到es作為配置文件
/data/elk/conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
#把es的容器安裝目錄映射到宿主機(jī)
--mount src=elasticsearch,dst=/usr/share/elasticsearch

#創(chuàng)建成功
[root@centos7 elasticsearch]# docker run -di -p 9200:9200 -p 9300:9300 --name=elasticsearch -v /data/elk/elasticsearch/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml   --mount src=elasticsearch,dst=/usr/share/elasticsearch elasticsearch:7.6.0
317d2a274ec64500c44a7c8c0bea60175c2183a66e8e6e8a5554bc223e836e58

#對(duì)存儲(chǔ)卷創(chuàng)建軟連接實(shí)現(xiàn)快速訪問
/data/docker/volumes/elasticsearch/_data/
ln -s /data/docker/volumes/elasticsearch/_data/ /data/elk/es

測(cè)試是否安裝成功


[root@centos7 es]# curl 127.0.0.1:9200
{
  "name" : "node-1",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "CK6xnBvaTciqRtWhjZf7WA",
  "version" : {
    "number" : "7.6.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
    "build_date" : "2020-02-06T00:09:00.449973Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
注意:如果需要添加插件時(shí),需要將容器的插件目錄映射到實(shí)際的路徑中或者通過命令
(如安裝ik分詞器:docker cp ik elasticsearch:/usr/share/elasticsearch/plugins/)將其拷貝到容器中

3.3 kibana

#安裝kibana
#kibana主要用于對(duì)elasticsearch的數(shù)據(jù)進(jìn)行分析查看。注意選擇的版本必須和elasticsearch的版本相同或者低,建議和elasticsearch的版本相同,否則會(huì)無法將無法使用kibana。

#創(chuàng)建配置文件
cat >/data/elk/conf/kibana.yml<<'EOF'
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://elasticsearch:9200"] # 這里需要參考我下面的docker網(wǎng)絡(luò)訪問配置
# 操作界面語言設(shè)置為中文
i18n.locale: "zh-CN"
EOF

#創(chuàng)建kibana使用的容器卷
docker volume create kibana

#創(chuàng)建并啟動(dòng)kibana容器
docker run -di --name kibana -p 5601:5601  --network mynetwork -v /data/elk/conf/kibana.yml:/usr/share/kibana/config/kibana.yml --mount src=kibana,dst=/usr/share/kibana kibana:7.8.0
#把宿主機(jī)的kibana配置文件映射到容器內(nèi)部
 # -v /data/elk/conf/kibana.yml:/usr/share/kibana/config/kibana.yml
#把容器內(nèi)的kibana的安裝目錄映射到宿主機(jī)的容器卷方便管理
# --mount src=kibana,dst=/usr/share/kibana


#創(chuàng)建kibana容器卷的軟連接方便管理
ln -s /data/docker/volumes/kibana/_data/ /data/elk/kibana

此時(shí)直接curl 127.0.0.1:5601,有可能遇到問題Kibana server is not ready yet,解決方法參考kibana解決Kibana server is not ready yet問題。一般都是docker內(nèi)部網(wǎng)絡(luò)訪問配置沒配置好的問題

如果有需要配置密碼,參考kibana+nginx配置密碼 ubuntu

4. Canal Server+Adapter環(huán)境配置

4.1 Canal Server

首先安裝canal-server,復(fù)制配置文件到外面

# 啟動(dòng)docker
docker pull canal/canal-server:v1.1.5
docker run --name canal-server -id canal/canal-server:v1.1.5
mkdir -p /data/canal/canal-server

# 復(fù)制配置文件(注意,復(fù)制的時(shí)候,如果目標(biāo)路徑是/conf/,那就會(huì)在conf中創(chuàng)建一個(gè)新的文件夾用來接收復(fù)制文件。如果是/conf,那句直接復(fù)制到該文件夾下)
docker cp canal-server:/home/admin/canal-server/conf/ /data/canal/canal-server/conf
docker cp canal-server:/home/admin/canal-server/logs/ /data/canal/canal-server/logs

# 刪除并重新啟動(dòng)
docker stop canal-server && docker rm canal-server

docker run --name canalsever_1.1.5 -p 11111:11111 \
-v /data/canal/canal-server/conf/example/instance.properties:/home/admin/canal-server/conf/example/instance.properties \
-v /data/canal/canal-server/conf/canal.properties:/home/admin/canal-server/conf/canal.properties \
-v /data/canal/canal-server/logs/:/home/admin/canal-server/logs/ \
--network mynetwork \ # 這個(gè)是我“讓ELK在同一個(gè)docker網(wǎng)絡(luò)下通過名字直接訪問”博客中新建的網(wǎng)絡(luò),以后所有127.0.0.1都寫成docker的name就可以
-d canal/canal-server:v1.1.5

修改Server配置文件example/instance.properties
實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)
注意,canal.properties中的destination要和后續(xù)的Canal Adapter保持一致
實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)

驗(yàn)證服務(wù)是否啟動(dòng)成功

docker exec -it [c_id]/bin/bash
cd canal-server/bin/
./start.sh  // 啟動(dòng)服務(wù)
cd canal-server/logs/example/
tail -100f example.log  // 查看日志

實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)

4.2 Canal Adapter

# 啟動(dòng)docker
docker pull slpcat/canal-adapter:v1.1.5-jdk8
docker run --name canal-adapter -id slpcat/canal-adapter:v1.1.5-jdk8

# 復(fù)制配置文件
docker cp canal-adapter:/opt/canal-adapter/conf /data/canal/canal-dapter/conf
docker cp canal-adapter:/opt/canal-adapter/logs /data/canal/canal-dapter/conf

# 刪除并重新啟動(dòng)
docker stop canal-adapter && docker rm canal-adapter

docker run --name canal-adapte_1.1.5 -p 8081:8081 \
-v /data/canal_/canal-dapter/conf:/opt/canal-adapter/conf \
-v /data/canal_/canal-dapter/logs:/opt/canal-adapter/logs \
--network mynetwork \
-d slpcat/canal-adapter:v1.1.5-jdk8
修改兩處配置文件
配置文件取消注釋一定要自己手動(dòng)刪除#,不要用快捷鍵。否則會(huì)導(dǎo)致文件格式出問題

配置文件詳解
ClientAdapter: Canal的Adapter配置項(xiàng)目 application.ym(application.yml)
Sync ES:Canal的Adapter中ES同步的配置項(xiàng) (user.yml)

修改配置文件application.yml。

實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)
name logger就是在發(fā)生數(shù)據(jù)修改的時(shí)候,直接實(shí)時(shí)更新到log中,如下圖實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)

修改完上述配置,可以看到name為es的canalAdapters被啟動(dòng)了。因此要去es文件夾下修改,注意以下字段的配置。目前只是能夠運(yùn)行起來,至于業(yè)務(wù)實(shí)際應(yīng)用可能還有待驗(yàn)證。

實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)

修改啟動(dòng)腳本,使adapter穩(wěn)定運(yùn)行

以下修改方案基于slpcat/canal-adapter:v1.1.5-jdk8修改

首先docker exec進(jìn)入到容器內(nèi)部,修改啟動(dòng)腳本vi bin/startup.sh

我修改了兩個(gè)地方

  1. if else判斷的地方,我直接指定JAVA_OPTS為非x64系統(tǒng)的配置
  2. 修改了原先的-Xms-Xmx,變成了新的104m和512m (隨便設(shè)置的,就想著要小一點(diǎn)),以及增加了新的參數(shù)-XX:MaxDirectMemorySize=128m
#!/bin/bash

current_path=`pwd`
case "`uname`" in
    Linux)
                bin_abs_path=$(readlink -f $(dirname $0))
                ;;
        *)
                bin_abs_path=`cd $(dirname $0); pwd`
                ;;
esac
base=${bin_abs_path}/..
export LANG=en_US.UTF-8
export BASE=$base

if [ -f $base/bin/adapter.pid ] ; then
        echo "found adapter.pid , Please run stop.sh first ,then startup.sh" 2>&2
    exit 1
fi

if [ ! -d $base/logs ] ; then
        mkdir -p $base/logs
fi

## set java path
if [ -z "$JAVA" ] ; then
  JAVA=$(which java)
fi

ALIBABA_JAVA="/usr/alibaba/java/bin/java"
TAOBAO_JAVA="/opt/taobao/java/bin/java"
if [ -z "$JAVA" ]; then
  if [ -f $ALIBABA_JAVA ] ; then
        JAVA=$ALIBABA_JAVA
  elif [ -f $TAOBAO_JAVA ] ; then
        JAVA=$TAOBAO_JAVA
  else
        echo "Cannot find a Java JDK. Please set either set JAVA or put java (>=1.5) in your PATH." 2>&2
    exit 1
  fi
fi

case "$#"
in
0 )
  ;;
2 )
  if [ "$1" = "debug" ]; then
    DEBUG_PORT=$2
    DEBUG_SUSPEND="n"
    JAVA_DEBUG_OPT="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=$DEBUG_SUSPEND"
  fi
  ;;
* )
  echo "THE PARAMETERS MUST BE TWO OR LESS.PLEASE CHECK AGAIN."
  exit;;
esac

str=`file -L $JAVA | grep 64-bit`
if [ -n "$str" ]; then
        JAVA_OPTS="-server -Xms2048m -Xmx3072m -Xmn1024m -XX:SurvivorRatio=2 -Xss256k -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError"
else
        JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=128m "
fi
## 主要是修改了這個(gè)地方,修改了啟動(dòng)參數(shù)
JAVA_OPTS="-server -Xms104m -Xmx512m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxDirectMemorySize=128m -XX:MaxPermSize=128m "
echo $JAVA_OPTS
JAVA_OPTS=" $JAVA_OPTS -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8"
ADAPTER_OPTS="-DappName=canal-adapter"

for i in $base/lib/*;
    do CLASSPATH=$i:"$CLASSPATH";
done

CLASSPATH="$base/conf:$CLASSPATH";

echo "cd to $bin_abs_path for workaround relative path"
cd $bin_abs_path

echo CLASSPATH :$CLASSPATH
exec $JAVA $JAVA_OPTS $JAVA_DEBUG_OPT $ADAPTER_OPTS -classpath .:$CLASSPATH com.alibaba.otter.canal.adapter.launcher.CanalAdapterApplication

可以看到插入幾萬條數(shù)據(jù)后(確實(shí)也同步到ES中了),adapter的內(nèi)存反而還下降了?不是很懂,只能說回想起了深度學(xué)習(xí)調(diào)參的日子實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)
實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana,elasticsearch,mysql,大數(shù)據(jù)文章來源地址http://www.zghlxwxcb.cn/news/detail-669075.html

到了這里,關(guān)于實(shí)時(shí)同步ES技術(shù)選型:Mysql+Canal+Adapter+ES+Kibana的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用 Docker 部署 canal 服務(wù)實(shí)現(xiàn)MySQL和ES實(shí)時(shí)同步

    使用 Docker 部署 canal 服務(wù)實(shí)現(xiàn)MySQL和ES實(shí)時(shí)同步

    參考 ClientAdapter: Canal的Adapter配置項(xiàng)目 Sync ES:Canal的Adapter中ES同步的配置項(xiàng) 使用 Docker 部署 canal 服務(wù) docker canal-server canal-adapter mysql Canal(基于Docker同步mysql數(shù)據(jù)到elasticsearch) Canal部署過程中的錯(cuò)誤 Canal 1.1.4 Canal Adapter 1.1.4 Kibana: 6.8.8 ElasticSearch: 6.4.3 由于Canal 1.1.4只能適配 Ela

    2024年02月13日
    瀏覽(27)
  • 【技術(shù)選型】Mysql和ES數(shù)據(jù)同步方案匯總

    【技術(shù)選型】Mysql和ES數(shù)據(jù)同步方案匯總

    在實(shí)際項(xiàng)目開發(fā)中,我們經(jīng)常將Mysql作為業(yè)務(wù)數(shù)據(jù)庫,ES作為查詢數(shù)據(jù)庫,用來實(shí)現(xiàn)讀寫分離,緩解Mysql數(shù)據(jù)庫的查詢壓力,應(yīng)對(duì)海量數(shù)據(jù)的復(fù)雜查詢。 這其中有一個(gè)很重要的問題,就是如何實(shí)現(xiàn)Mysql數(shù)據(jù)庫和ES的數(shù)據(jù)同步,今天和大家聊聊Mysql和ES數(shù)據(jù)同步的各種方案。 MySQL

    2024年02月08日
    瀏覽(24)
  • Mysql 數(shù)據(jù)同步到 ES 的技術(shù)方案選型和思考

    Mysql 數(shù)據(jù)同步到 ES 的技術(shù)方案選型和思考

    ES 的幾個(gè)顯著特點(diǎn),能有效補(bǔ)足 MySQL 在企業(yè)級(jí)數(shù)據(jù)操作場(chǎng)景的缺陷 文本搜索能力 :ES 是基于倒排索引實(shí)現(xiàn)的搜索系統(tǒng),配合多樣的分詞器,在文本模糊匹配搜索上表現(xiàn)得比較好,業(yè)務(wù)場(chǎng)景廣泛。 多維篩選性能好 :億級(jí)規(guī)模數(shù)據(jù)使用寬表預(yù)構(gòu)建(消除 join),配合全字段索引

    2024年04月09日
    瀏覽(34)
  • canal同步mysql數(shù)據(jù)到es中

    canal同步mysql數(shù)據(jù)到es中

    項(xiàng)目中業(yè)務(wù)數(shù)據(jù)量比較大,每類業(yè)務(wù)表都達(dá)到千萬級(jí)別,雖然做了分庫分表和讀寫分離,每張表數(shù)據(jù)控制在500W一下,但是效率還是達(dá)不到要求,為了提高查詢效率,我們使用ES查詢。 而將mysql實(shí)時(shí)同步到es中保證數(shù)據(jù)一致性就成了我們的工作之下。 jdk1.8(依賴jdk環(huán)境,需要先

    2023年04月08日
    瀏覽(17)
  • canal實(shí)現(xiàn)MySQL和ES同步實(shí)踐

    canal實(shí)現(xiàn)MySQL和ES同步實(shí)踐

    canal是阿里開源的數(shù)據(jù)同步工具,基于binlog可以將數(shù)據(jù)庫同步到其他各類數(shù)據(jù)庫中,目標(biāo)數(shù)據(jù)庫支持mysql,postgresql,oracle,redis,MQ,ES等。 MySQL的主從復(fù)制是依賴于binlog,也就是記錄MySQL上所有操作的邏輯日志保存在磁盤上。主從復(fù)制就是將binlog中的數(shù)據(jù)從主庫傳輸?shù)綇膸焐?,一般這

    2024年04月14日
    瀏覽(35)
  • canal實(shí)時(shí)同步mysql數(shù)據(jù)到elasticsearch(部署,配置,測(cè)試)(一)

    canal實(shí)時(shí)同步mysql數(shù)據(jù)到elasticsearch(部署,配置,測(cè)試)(一)

    canal基于MySQL數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱和消費(fèi),是阿里開源CDC工具,它可以獲取MySQL binlog數(shù)據(jù)并解析,然后將數(shù)據(jù)變動(dòng)傳輸給下游。基于canal,可以實(shí)現(xiàn)從MySQL到其他數(shù)據(jù)庫的實(shí)時(shí)同步 MySQL主備復(fù)制原理 MySQL master 將數(shù)據(jù)變更寫入二進(jìn)制日志( binary log, 其中記錄叫

    2023年04月08日
    瀏覽(26)
  • 利用Canal把MySQL數(shù)據(jù)同步到ES

    Canal是阿里巴巴開源的一個(gè)數(shù)據(jù)庫變更數(shù)據(jù)同步工具,主要用于 MySQL 數(shù)據(jù)庫的增量數(shù)據(jù)到下游的同步,例如同步到 Elasticsearch、HBase、Hive 等。下面是一個(gè)基本的步驟來導(dǎo)入 MySQL 數(shù)據(jù)庫到 Elasticsearch。 安裝和配置 Canal 首先,需要在你的機(jī)器上安裝并配置Canal。具體步驟可在 C

    2024年02月16日
    瀏覽(29)
  • 基于Canal實(shí)現(xiàn)Mysql數(shù)據(jù)實(shí)時(shí)同步到Elasticsearch(Docker版)

    基于Canal實(shí)現(xiàn)Mysql數(shù)據(jù)實(shí)時(shí)同步到Elasticsearch(Docker版)

    1、Canal簡(jiǎn)介 ??Canal主要用途是對(duì)MySQL數(shù)據(jù)庫增量日志進(jìn)行解析,提供增量數(shù)據(jù)的訂閱和消費(fèi),簡(jiǎn)單說就是可以對(duì)MySQL的增量數(shù)據(jù)進(jìn)行實(shí)時(shí)同步,支持同步到MySQL、Elasticsearch、HBase等數(shù)據(jù)存儲(chǔ)中去。 ??Canal會(huì)模擬MySQL主庫和從庫的交互協(xié)議,從而偽裝成MySQL的從庫,然后向My

    2024年02月10日
    瀏覽(93)
  • Springcloud Alibaba 使用Canal將MySql數(shù)據(jù)實(shí)時(shí)同步到Elasticsearch

    本篇文章在Springcloud Alibaba使用Canal將Mysql數(shù)據(jù)實(shí)時(shí)同步到Redis保證緩存的一致性-CSDN博客 基礎(chǔ)上使用canal將mysql數(shù)據(jù)實(shí)時(shí)同步到Elasticsearch。 公共包 實(shí)體類Sku @Column注解 用來標(biāo)識(shí)實(shí)體類中屬性與數(shù)據(jù)表中字段的對(duì)應(yīng)關(guān)系 name 定義了被標(biāo)注字段在數(shù)據(jù)庫表中所對(duì)應(yīng)字段的名稱;由

    2024年02月03日
    瀏覽(23)
  • Canal同步Mysql實(shí)時(shí)操作日志至RabbitMQ,并實(shí)現(xiàn)監(jiān)聽及解析處理

    Canal同步Mysql實(shí)時(shí)操作日志至RabbitMQ,并實(shí)現(xiàn)監(jiān)聽及解析處理

    關(guān)于Canal的介紹及原理不在此贅述,可自行查閱。筆者在使用Canal同步Mysql實(shí)時(shí)操作記錄至RabbitMQ的過程中,也翻閱了一些大牛們的文章,可能是我使用的Canal版本與文中版本不一致,出現(xiàn)了一些問題,在此總結(jié)記錄一下可行的方案。 注:本文使用的Canal為 v1.1.7 先查看目標(biāo)數(shù)據(jù)

    2024年04月10日
    瀏覽(49)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包