Spark實時項目第四天-MySQL的準備及Canal的安裝測試

採集數據框架流程

在這裏插入圖片描述

Canal 使用場景

  1. 阿里otter中間件的一部分:otter是阿里用於進行異地數據庫之間的同步框架,canal是其中一部分。
    在這裏插入圖片描述
  2. 更新緩存
    在這裏插入圖片描述
  3. 抓取業務數據新增變化表,用於製作拉鍊表。
  4. 抓取業務表的新增變化數據,用於製作實時統計。

canal工作原理

  1. Master主庫將改變記錄,寫到二進制日誌(binary log)中
  2. Slave從庫向mysql master發送dump協議,將master主庫的binary log events拷貝到它的中繼日誌(relay log);
  3. Slave從庫讀取並重做中繼日誌中的事件,將改變的數據同步到自己的數據庫。

在這裏插入圖片描述

canal的工作原理很簡單,就是把自己僞裝成slave,假裝從master複製數據。

在這裏插入圖片描述

MySQL得binLog

MySQL的二進制日誌可以說是MySQL最重要的日誌了,它記錄了所有的DDL和DML(除了數據查詢語句)語句,以事件形式記錄,還包含語句所執行的消耗的時間,MySQL的二進制日誌是事務安全型的。
一般來說開啓二進制日誌大概會有1%的性能損耗 。二進制有兩個最重要的使用場景:
其一:MySQL Replication在Master端開啓binlog,Mster把它的二進制日誌傳遞給slaves來達到master-slave數據一致的目的。
其二:自然就是數據恢復了,通過使用mysqlbinlog工具來使恢復數據。

二進制日誌包括兩類文件:二進制日誌索引文件(文件名後綴爲.index)用於記錄所有的二進制文件,二進制日誌文件(文件名後綴爲.00000*)記錄數據庫所有的DDL和DML(除了數據查詢語句)語句事件。

binLog分類

mysql binlog的格式,那就是有三種,分別是STATEMENT,MIXED,ROW。
在配置文件中可以選擇配置

binlog_format=row

在這裏插入圖片描述

MySQL準備

在mysql的配置文件(Linux: /etc/my.cnf , Windows: \my.ini)下,修改配置(若是沒有my.cnf,則直接新建文件my.cnf將下面五條語句粘貼進去,或者將/usr/share/mysql下得my-default.cnf改名my.cnf複製到/etc/下然後粘貼下面語句
)
在[mysqld] 區塊
設置/添加

[mysqld] 
server-id=1
log-bin=mysql-bin
// 分類爲row
binlog_format=row
// binlog寫入位置
binlog-do-db=gmall1122

在這裏插入圖片描述

準備數據

在這裏插入圖片描述
在這裏插入圖片描述

賦權限

GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'canal'@'%' IDENTIFIED BY 'canal' ;

在這裏插入圖片描述

重啓MySQL

在這裏插入圖片描述

Canal解壓安裝

tar -zxvf ./canal.deployer-1.1.4.tar.gz -C /opt/module/canal-1.1.4/

在這裏插入圖片描述

修改canal配置

vim conf/canal.properties

在這裏插入圖片描述

在這裏插入圖片描述

vim conf/example/instance.properties

在這裏插入圖片描述

在這裏插入圖片描述

分發canal

在這裏插入圖片描述

測試

在這裏插入圖片描述

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