flink 序列化性能优化跟陷阱

flink 支持的数据类型

  1. Java Tuples 跟 Scala Case 类
  2. Java POJOs
  3. 基础类型(Primitive Types : int/long/string/char/short/boolean 等)
  4. 普通的类(非POJO)
  5. Values
  6. Hadoop Writable
  7. 特殊类型(Scala : Either, Option, Try; Java : List, Map)

flink 支持的序列化

  1. Tuple
  2. Row
  3. Pojo
  4. Avro
  5. Protobuf (via Kryo)
  6. Thrift (via Kryo)
  7. Kryo

用 docker 来编译 nebula

用 docker 来编译 nebula

nebula 目前版本是 1.0.0, 项目发布一个多月了, 社区修改了好多 bug
也合并了几个新功能, subnetroute 就不错, 可以自己编译出来尝鲜下
使用 docker 编译不用在本地系统装一堆东西

  1. 下载最新代码到本地

git clone https://github.com/slackhq/nebula.git

nebula 简单教程

nebula 简单教程

nebula 是 slack 开源的基于 P2P 主机加密组网项目

为了满足内部加密、分区隔离以及其他操作的需求, Slack 开发了可扩展的覆盖网络(Overlay Network)工具 Nebula. 覆盖网络是一种创建在互联网之上的网络, 覆盖网络中的节点, 可通过虚拟或是逻辑相连接。Nebula 让 Slack 能够无缝地连接位在世界各地的计算机, 目前支持在 Linux, OSX 和 Windows,甚至 Slack 也正在开发 iOS 版本

nebula 项目地址 https://github.com/slackhq/nebula
下面就记录搭建一个简单网络教程

tmux 速查手册

配置

# ~/.tmux.conf
# 设置默认 shell
 set-option -g default-shell /bin/fish

# 设置默认颜色
 set -g default-terminal 'screen-256color'

# 支持 utf-8
 set -g status-utf8 on

# 设置历史记录最大条数
 set -g history-limit 100000

# 设置按键模式为 Vi 模式
 set-window-option -g mode-keys vi

# mouse mode on
 set -g mode-mouse on
 set -g mouse-select-pane on
 set-option -g allow-rename off

# index
 set -g base-index 1
 setw -g pane-base-index 1

# 外观
# tmux-prefix-highlight
 set -g status-right '#{prefix_highlight} #H | %a %Y-%m-%d %H:%M'
 set -g @prefix_highlight_show_copy_mode 'on'
 set -g @prefix_highlight_copy_mode_attr 'fg=white,bg=blue'

# 启用活动警告
 setw -g monitor-activity on
 set -g visual-activity on

# 居中窗口列表
 set -g status-justify centre

kudu 用 yum 安装

kudu 安装文档

为了方便管理, 本次安装的是 standalone 单 master 版本 等后期 cdh 升级到高版本后使用 cdh 管理的多 master HA 版本

机器配置要求, 提供大于等于 4 台机器, 每台机器有 20G 空闲内存可用, 至少 2 块以上 2T 以上的 xfs 或者 ext4 格式的盘 方便管理, 每台机器配置一个 host 例如 : kudu-01, kudu-02 ... kudu-01 同时安装 kudu-masterkudu-tserver

每台机器都需要安装 ntp 来同步时间