当前位置: 首页 > news >正文

四川城乡建设官方网站北京响应式网站建设公司

四川城乡建设官方网站,北京响应式网站建设公司,做淘宝的网站,配资网站建设大数据技术之Maxwell基础知识 文章目录大数据技术之Maxwell基础知识0、写在前面1、Maxwell 概述1.1 Maxwell 定义1.2 Maxwell 工作原理1.2.1 MySQL 主从复制过程1.2.2 Maxwell 的工作原理1.2.3 MySQL 的 binlog1.3 Maxwell与Cannal对比2. Maxwell 使用2.1 Maxwell 安装部署2.1.…大数据技术之Maxwell基础知识 文章目录大数据技术之Maxwell基础知识0、写在前面1、Maxwell 概述1.1 Maxwell 定义1.2 Maxwell 工作原理1.2.1 MySQL 主从复制过程1.2.2 Maxwell 的工作原理1.2.3 MySQL 的 binlog1.3 Maxwell与Cannal对比2. Maxwell 使用2.1 Maxwell 安装部署2.1.1 安装地址2.1.2 安装部署2.1.3 MySQL 环境准备2.1.4 初始化 Maxwell 元数据库2.1.5 Maxwell 进程启动0、写在前面 1.3.0版本开始不支持JDK8本文是尚硅谷的教学文档并加以个人学习记录 Maxwell版本Maxwell1.2.9Zookeeper版本Zookeeper3.4.5Kafka版本Kafka2.4.1MySQL版本MySQL5.7 1、Maxwell 概述 1.1 Maxwell 定义 Maxwell 是由美国 Zendesk 开源用 Java 编写的 MySQL 实时抓取软件。 实时读取 MySQL 二进制日志 Binlog并生成JSON格式的消息作为生产者发送给 KafkaKinesis、 RabbitMQ、Redis、Google Cloud Pub/Sub、文件或其它平台的应用程序。 官网地址http://maxwells-daemon.io/ 1.2 Maxwell 工作原理 1.2.1 MySQL 主从复制过程 Master 主库将改变记录写到二进制日志(binary log)中 Slave 从库向 mysql master 发送 dump 协议将 master 主库的 binary log events 拷贝到它的中继日志(relay log) Slave 从库读取并重做中继日志中的事件将改变的数据同步到自己的数据库。 1.2.2 Maxwell 的工作原理 Maxwell 的工作原理很简单就是把自己伪装成 MySQL 的一个 slave然后以 slave的身份假装从 MySQL(master)复制数据。 1.2.3 MySQL 的 binlog 1什么是 binlog MySQL 的二进制日志可以说 MySQL 最重要的日志了它记录了所有的 DDL 和DML(除了数据查询语句)语句以事件形式记录还包含语句所执行的消耗的时间MySQL 的二进制日志是事务安全型的。 一般来说开启二进制日志大概会有 1%的性能损耗。二进制有两个最重要的使用场景: 其一MySQL Replication 在 Master 端开启binlogMaster 把它的二进制日志传递给 slaves 来达到 master-slave 数据一致的目的。 其二自然就是数据恢复了通过使用 mysqlbinlog 工具来使恢复数据。 二进制日志包括两类文件二进制日志索引文件文件名后缀为.index用于记录所有的二进制文件二进制日志文件文件名后缀为.00000*记录数据库所有的 DDL 和DML(除了数据查询语句)语句事件。 2binlog 的开启 找到 MySQL 配置文件的位置 Linux: /etc/my.cnf 如果/etc 目录下没有可以通过 locate my.cnf 查找位置 Windows: MySQL安装目录下的\my.ini文件 在 mysql 的配置文件下,修改配置 在[mysqld] 区块设置/添加 log-binmysql-bin 这个表示binlog 日志的前缀是 mysql-bin以后生成的日志文件就是 mysql-bin.000001的文件后面的数字按顺序生成每次 mysql 重启或者到达单个文件大小的阈值时新生一个文件按顺序编号。 3binlog 的分类设置 mysql的binlog 格式有三种分别是 STATEMENTMIXEDROW。 在配置文件中可以选择配置 binlog_formatstatement|mixed|row 三种格式的区别 statement 语句级binlog 会记录每次一执行写操作的语句。 相对 row 模式节省空间但是可能产生不一致性比如 update test set create_datenow();如果用 binlog 日志进行恢复由于执行时间不同可能产生的数据就不同。 优点 节省空间 缺点 有可能造成数据不一致。 row 行级 binlog 会记录每次操作后每行记录的变化。 优点保持数据的绝对一致性。因为不管 sql 是什么引用了什么函数他只记录执行后的效果。 缺点占用较大空间。 mixed 混合级别statement 的升级版一定程度上解决了 statement 模式因为一些情况而造成的数据不一致问题。 默认还是statement在某些情况下譬如 当函数中包含 UUID() 时 包含 AUTO_INCREMENT 字段的表被更新时 执行 INSERT DELAYED 语句时 用 UDF 时 会按照 ROW 的方式进行处理。 优点节省空间同时兼顾了一定的一致性。 缺点还有些极个别情况依旧会造成不一致另外 statement 和 mixed 对于需要对 三种方式binlog 监控的情况都不方便。 综合上面对比Maxwell 适合做监控分析选择 row格式比较合适 1.3 Maxwell与Cannal对比 对比CanalMaxwell语言javajava数据格式格式自由json采集数据模式增量全量/增量数据落地定制支持 kafka 等多种平台HA支持支持 2. Maxwell 使用 2.1 Maxwell 安装部署 2.1.1 安装地址 1 Maxwell 官网地址http://maxwells-daemon.io/ 2 文档查看地址http://maxwells-daemon.io/quickstart/ 2.1.2 安装部署 1 软件基础读者需要提前安装好 kafka 和 MySQL此文档不再赘述。 2 上传 maxwell-1.29.2.tar.gz 到/opt/software 下 3 解压 maxwell-1.29.2.tar.gz 的安装包到/opt/module 下 [whybigdatanode01 software]$ tar -zxvf maxwell-1.29.2.tar.gz - C /opt/module/2.1.3 MySQL 环境准备 1修改 mysql 的配置文件开启 MySQL [whybigdatanode01 software]$ sudo vim /etc/my.cnf 在[mysqld]模块下添加以下内容 [mysqld] server_id1 log-binmysql-bin binlog_formatrow #binlog-do-dbtest_maxwell并重启 Mysql 服务 [whybigdatanode01 software]$ sudo systemctl restart mysqld登录 mysql 并查看是否修改完成 [whybigdatanode01 ~]$ mysql -uroot -p123456 mysql show variables like %binlog%; 查看下列属性 binlog_format | ROWbinlog-do-dbtest_maxwell表示只监控test_maxwell这个库不加这个参数表示监控所有库; 监控多个库例如test_maxwell、my_test,不能写成「binlog-do-dbtest_maxwell,my_test」必须写成 binlog-do-dbtest_maxwell binlog-do-dbmy_test如果想监控上百个库上述方法过于繁琐可以直接设置不需要监控的库 binlog-ignore-dbtest_maxwell_100002进入/var/lib/mysql 目录查看 MySQL 生成的 binlog 文件 [whybigdatanode01 ~]$ cd /var/lib/mysql [whybigdatanode01 mysql]$ sudo ls -l 总用量 188500 -rw-r-----. 1 mysql mysql 154 11 月 17 16:30 mysql-bin.000001 -rw-r-----. 1 mysql mysql 154 11 月 17 16:30 mysql-bin.index注MySQL 生成的 binlog 文件初始大小一定是 154 字节然后前缀是 log-bin 参数配置的后缀是默认从.000001然后依次递增。除了 binlog 文件文件以外MySQL 还会额外生产一个.index 索引文件用来记录当前使用的 binlog 文件。 2.1.4 初始化 Maxwell 元数据库 1 在 MySQL 中建立一个 maxwell 库用于存储 Maxwell 的元数据 [whybigdatanode01 module]$ mysql -uroot -p123456 mysql CREATE DATABASE maxwell;2 设置 mysql 用户密码安全级别 mysql set global validate_password_length4; mysql set global validate_password_policy0;此处如果出现错误请尝试以下方式 install plugin validate_password soname validate_password.so;3 分配一个账号可以操作该数据库 123456是指你自己设置的maxwell用户的密码 mysql GRANT ALL ON maxwell.* TO maxwell% IDENTIFIED BY 1234564分配这个账号可以监控其他数据库的权限 mysql GRANT SELECT ,REPLICATION SLAVE , REPLICATION CLIENT ON *.* TO maxwell%;5刷新权限 mysql flush privileges;mysql库下的user表; 2.1.5 Maxwell 进程启动 Maxwell 进程启动方式有如下两种 1 使用命令行参数启动 Maxwell 进程 [whybigdatanode01 maxwell-1.29.2]$ bin/maxwell --usermaxwell --password123456 --hostnode01producerstdoutuser 连接 mysql 的用户 password 连接 mysql 的用户的密码 host mysql 安装的主机名 producer 生产者模式(stdout控制台 kafkakafka 集群) 启动结果 监控实例新增数据 2修改配置文件定制化启动 Maxwell 进程 [whybigdatanode01 maxwell-1.29.2]$ cp config.properties.example config.properties [whybigdatanode01 maxwell-1.29.2]$ vim config.properties [whybigdatanode01 maxwell-1.29.2]$ bin/maxwell -- config ./config.properties启动结果 监控update的数据 结束
http://www.ho-use.cn/article/10814011.html

相关文章:

  • 外贸网站建设模版asp.net 网站安装
  • 垂直网站导航是谁做的石家庄全网seo
  • 网站建设的看法有哪些无锡seo公司哪家好
  • 网站素材网html模板怎么用
  • 百度站长工具怎么关闭做卷子的网站
  • 如何设计制作网站省住房和城乡建设厅
  • 用户体验网站湛江专业雷剧视频
  • 如何给网站做宣传谷歌浏览器 安卓下载2023版官网
  • 贷款网站怎么做的网站建设服务哪家便宜
  • 企业建设网站有什么好处国家一流本科专业建设名单
  • 电子工程师网站南昌企业网站开发公司
  • 阜阳市城乡建设网站手机网站优化
  • 网站分析步骤网站搭建一般要多少钱
  • 大型网站的空间做电商网站注意什么
  • 企业网站建设的目的企业大型网站开发设计建站流程
  • 电子商务网站难做吗学校网站群建设
  • qq刷赞网站推广软件网站制作 福宁网络有限公司
  • 网站建设捌金手指花总二八网络媒体设计与制作
  • 能自己做效果图的网站佛山网站优化建设
  • 做电影网站需要什么手续企业概况简介
  • 网站建设模板黄页网址生成软件
  • 网络营销的主要方式什么是seo和sem
  • 国外的有趣设计网站番禺建网站
  • 云建网站如何在百度做网站推广
  • wordpress个人网站天津网站建设费用
  • 替人做非法网站织梦的网站地图更新
  • 北京网站建设哪家便宜济源网站优化
  • 小企业建网站新浪微博网页版
  • 网站 设计公司 温州做公司网站详细步骤
  • 网站栏目变了怎么做跳转百度蜘蛛抓取网站模块