基本架构
RDS -> SLS -> Spark Streaming -> Spark HDFS
上述链路主要包含3个过程:
如何把 RDS 的 binlog 收集到 SLS。
如何通过 Spark Streaming 将 SLS 中的日志读取出来,进行分析。
如何把链路 2 中读取和处理过的日志,保存到 Spark HDFS中。
环境准备
安装一个 MySQL 类型的数据库(使用 MySQL 协议,例如 RDS、DRDS 等),开启 log-bin 功能,且配置 binlog 类型为 ROW 模式(RDS默认开启)。
开通 SLS 服务。
操作步骤
检查 MySQL 数据库环境。
查看是否开启 log-bin 功能。
mysql> show variables like "log_bin";+---------------+-------+| Variable_name | Value |+---------------+-------+| log_bin | ON |+---------------+-------+1 row in set (0.02 sec)
查看 binlog 类型
mysql> show variables like "binlog_format";+---------------+-------+| Variable_name | Value |+---------------+-------+| binlog_format | ROW |+---------------+-------+1 row in set (0.03 sec)
2.添加用户权限。(也可以直接通过RDS控制台添加)
CREATE USER canal IDENTIFIED BY ‘canal’;GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT ON . TO ‘canal’@’%’;FLUSH PRIVILEGES;
3.为 SLS 服务添加对应的配置文件,并检查数据是否正常采集。
在 SLS 控制台添加对应的 project 和 logstore,例如:创建一个名称为 canaltest 的 project,然后创建一