Zzx Blog

Since 2017


  • 首页

  • 标签

  • 分类

  • 归档

  • 公益404

  • 搜索

flink学习(1)-基本概念

发表于 2023-03-30 | 分类于 flink

Flink基本概念

Flink是什么?

Apache Flink 是一个在有界数据流和无界数据流上进行有状态计算分布式处理引擎和框架。Flink 设计旨在所有常见的集群环境中运行,以任意规模和内存级速度执行计算。

以上是来自官方文档的介绍

我自己的使用场景是,将flink作为一个流式计算引擎,将数据流从kafka中读取,经过一系列的计算,最后将结果写入到kafka或者mysql中,供其他系统使用。

Flink的架构

基本流程1

  1. Source: 数据源,Flink 在流处理和批处理上的 source 大概有 4 类:基于本地集合的 source、基于文件的 source、基于网络套接字的 source、自定义的 source。自定义的 source 常见的有 Apache kafka、Amazon Kinesis Streams、RabbitMQ、Twitter Streaming API、Apache NiFi 等,当然你也可以定义自己的 source。
阅读全文 »

JetBrains Client 远程连接时卡住卡住 trying to connect to remote host

发表于 2023-01-11 | 分类于 Tools

使用JetBrains idea远程开发时遇到的连接问题

配置ssh远程连接时一直卡在连接的地方,测试本机是可以ssh连接的

解决过程

  1. 排查idea日志 Help-> Collect logs and Diagnostic Data 打开日志排查出连接报错日志:

    1
    woke to: Opening `direct-tcpip` channel failed: open failed
  2. google得出可能是 remote host sshd客户端 localhost port forwarding配置问题

  3. 修改 remote host /etc/ssh/sshd_config

    1
    2
    AllowTcpForwarding yes 
    GatewayPorts yes
  4. 重启sshd客户端

    1
    service sshd restart

参考

gateway fails to load and stuck in “trying to connect to remote host”

n2n 使用记录

发表于 2022-03-17 | 分类于 Tools , n2n

n2n

p2p network

n2n config

  • supernode配置

    1
    2
    3
    4
    5
    6
    # 端口
    -p 41829
    # 允许接入的cummunity
    -c /home/zzx/n2n/community.list
    # 开启日志模式
    -v
  • edge 配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # community name
    -c=community
    # 密码(用于edge之间访问的的加密)
    -k=123456
    # 子网ip
    -a=10.10.0.4
    # supernode 地址
    -l=domain.com:12345
    # 开启日志模式
    -v
阅读全文 »

wireguard 使用记录

发表于 2022-03-17 | 分类于 Tools , wireguard

wireguard使用记录

官网

  1. 安装

    1
    2
    3
    sudo apt install wireguard
    # 安装resolvconf (服务端安装)
    sudo apt install resolvconf
  2. 生成本机公钥和私钥(客户端和服务段都需要生城)

    1
    2
    3
    4
    5
    # 私钥
    umask 077
    wg genkey > privatekey
    # 公钥
    wg pubkey < privatekey > publickey
阅读全文 »

Mysql slave 1872问题

发表于 2021-11-05 | 分类于 Mysql

问题触发原因

mysql 从库容器recreate后,再启动slave同步时而抛出改异常:

ERROR 1872 (HY000): Slave failed to initialize relay log info structure from the repository

分析原因

mysql从库容器重启后再启动的slave同步不能读取之前的relay log。可以使用reset slave 重置slave,清除master和relay日志信息(不会从数据盘删除),再重建slave中继日志。

解决过程

运行reset slave,此时不能直接start slave; 会报1062错误。因为新创建slave会读取之前的slave信息,而导致重复同步数据。因此需要使用最后的同步记录的pos,在销毁容器之前的同步日志的pos在 mysql.slave_master_info表中有记录。
iMMioD
使用如下命令修改slave:

1
2
3
4
5
6
7
CHANGE MASTER TO
MASTER_HOST='masterhost',
MASTER_PORT=1234,
MASTER_USER='replication',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='binlog.000006',
MASTER_LOG_POS=1493213;

再start slave;即可。

Mysql Binlog详解及备份

发表于 2021-09-29 | 分类于 Mysql

MySQL 的 Binlog 日志是一种二进制格式的日志,Binlog 记录所有的 DDL 和 DML 语句(除了数据查询语句SELECT、SHOW等),以 Event 的形式记录,同时记录语句执行时间。

Binlog 的主要作用有两个:

  1. 数据恢复
    因为 Binlog 详细记录了所有修改数据的 SQL,当某一时刻的数据误操作而导致出问题,或者数据库宕机数据丢失,那么可以根据 Binlog 来回放历史数据。
  2. 主从复制
    想要做多机备份的业务,可以去监听当前写库的 Binlog 日志,同步写库的所有更改。
阅读全文 »

Mysql主从复制原理及延时解决方案

发表于 2021-09-28 | 分类于 Mysql

为什么要使用主从复制?

从数据库(Slave)是主数据库的备份,当主数据库(Master)变化时从数据库要更新,这些数据库软件可以设计更新周期。这是提高信息安全的手段。主从数据库服务器不在一个地理位置上,当发生意外时数据库可以保存。
其中Master负责写操作的负载,也就是说一切写的操作都在Master上进行,而读的操作则分摊到Slave上进行。这样一来的可以大大提高读取的效率。在一般的互联网应用中,经过一些数据调查得出结论,读/写的比例大概在 10:1左右 ,也就是说大量的数据操作是集中在读的操作,这也就是为什么我们会有多个Slave的原因。但是为什么要分离读和写呢?熟悉DB的研发人员都知道,写操作涉及到锁的问题,不管是行锁还是表锁还是块锁,都是比较降低系统执行效率的事情。我们这样的分离是把写操作集中在一个节点上,而读操作其其他的N个节点上进行,从另一个方面有效的提高了读的效率,保证了系统的高可用性。

阅读全文 »

Mysql主从及读写分离环境搭建

发表于 2021-09-24 | 分类于 Mysql

使用docker容器创建mysql 主从,实现mysql读写分离。

环境准备

  • os: Ubuntu 20.04.2 LTS
  • mysql:8.0.23
  • docker: 20.10.7

最终目录结构如下
CvidtJ

阅读全文 »

Mysql主从之不停机添加从节点

发表于 2021-09-24 | 分类于 Mysql

实际应用: 线上存在一个正在运行的mysql数据库,需要添加一个从节点用来实现读写分离环境。目前正在运行的数据库当作master节点用来写入,新添加一个从节点用来读取。

具体操作步骤

  1. 在master上对数据库做完全备份,并且拷贝到slave节点
    线上mysql在docker 容器中,需要先进入docker 容器,再执行
1
2
3
4
5
# 新建backup文件夹
mkdir /backup

# 全量备份数据库
/usr/bin/mysqldump -p -A -F --single-transaction --master-data=1 > /backup/fullbackup_`date +%F_%T`.sql
阅读全文 »

https实现原理

发表于 2021-07-14 | 分类于 Note

Https实现原理

HTTPS 协议之所以是安全的是因为 HTTPS 协议会对传输的数据进行加密,而加密过程是使用了非对称加密实现。但其实,HTTPS在内容传输的加密上使用的是对称加密,非对称加密只作用在证书验证阶段。

[^加密算法]:常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC5、RC6。非对称 RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。

HTTPS的整体过程分为证书验证和数据传输阶段,具体的交互过程如下:
image.png

阅读全文 »
123…7
Banksy Zhuang

Banksy Zhuang

66 日志
36 分类
40 标签
Github E-Mail
© 2017 — 2024 Banksy Zhuang
本站已运行