Skip to content
This repository has been archived by the owner on Aug 18, 2020. It is now read-only.

Zeppelin 配置

Kang Wang edited this page Jan 9, 2018 · 5 revisions

共有配置说明:

meta_addr : xx.xx.xx.xx/xxxx,xx.xx.xx.xx/xxxx,xx.xx.xx.xx/xxxx 说明:Meta节点地址,多个meta地址用逗号分隔,node会选在其中一个连接,并在出错时自动尝试其他,ip和port之间用斜杠分隔。

local_ip : xx.xx.xx.xx local_port : xxxx 说明:Meta或Node节点自己的地址

data_path : 默认 ./data log_path : 默认./log trash_path: 默认./trash 说明:data_path用来存放实际数据,log_path存放同步用binlog及运行日志,为了进一步保证数据安全,防止误删,删除的数据会先存入trash_path中,主动清空或下一次删除同样的表时会删除 Notice:当前要求trash_path与data_path在同一文件系统下

daemonize : 默认false 说明:是否开启daemon模式

pid_file : 默认./pid lock_file : 默认./lock 说明:进程启动相关文件

Meta配置说明

floyd_check_leader_us,默认15000000(us) 说明:floyd的raft算法的leader超时时间

floyd_heartbeat_us,默认6000000 说明:floyd的raft算法的心跳间隔

floyd_append_entries_size_once,默认1024000 说明:floyd单次append entry的最大大小

floyd_append_entries_count_once,默认128 说明:flyd单次append entry的最多entry个数

stuck_offset_dist, 默认100KB 说明:migrate时,当主从offset在多少之内时阻写

migrate_count_once, 默认2 说明:同时Migrate的任务个数

Node 配置说明

enable_data_delete : true 说明:该选项设置为true,删除table或partition时会将实际数据移入trash_path,设置为false时,仅仅是在逻辑上删除,实际数据保留不变

data_thread_num : 默认6,可配置区间[1, 100] 说明:Node节点的命令处理线程数,可根据实际的cpu情况设置,在合理范围内调高这个数字可能提高node的请求处理速度

sync_recv_thread_num : 默认4,可配区间[1, 100] 说明:接受并处理Binlog同步命令的线程数,可根据实际的cpu情况设置,当Parititon副本的接受方处理速度是瓶颈时,在合理范围内调高这个数字能提高副本的同步速度。

sync_send_thread_num : 默认4,可配区间[1, 100] 说明:发送Binlog同步命令的线程数,可根据实际的cpu情况设置,当Parititon副本的发送方处理速度是瓶颈时,在合理范围内调高这个数字能提高副本的同步速度。

max_background_flushes : 默认24,可配区间[10,100] 说明:Node所有的partition的rocksdb引擎进行flush操作的一起最大的flush线程数,在写入压力较大的场景且flush操作是瓶颈的情况下,在合理范围内调高这个数字,可能加快引擎从内存中flush到L0文件

max_background_compactions : 默认24,可配区间[10,100] 说明:Node所有的partition的rocksdb引擎进行compaction操作的一起最大的线程数,在写入压力较大的场景且compaction操作是瓶颈的情况下,在合理范围内调高这个数字,可能加快compaction操作

slowlog_slower_than : 默认-1,可配区间[-1, 10000000] 说明:满日志阈值,单位us,超过配置时间的单条操作会打印一条warning级别的满日志,设置为-1时不打印慢日志

slowdown_delay_radio: 默认60%,可配区间[1%, 100%] 说明:当Parition进入Slowdown状态后,有多少百分比的用户请求被拒绝并返回kWait,从而来延缓客户端请求

db_write_buffer_size : 默认256 * 1024(KB),设置区间[4096, 10485760] 说明:partition的rocksdb引擎的memtable大小

Larger values increase performance, especially during bulk loads. so you may wish to adjust this parameter to control memory usage. Also, a larger write buffer will result in a longer recovery time the next time the database is opened.

db_max_write_buffer_: 默认20 * 1024 * 1024(KB),可配区间[1048576, 524288000] 说明:所有partition的rocksdb引擎的最大memtable大小,包括active和imutable,可以根据实际的内存大小进行配置

db_target_file_size_base : 默认256 * 1024(KB),可配区间[4096, 10485760] 说明:partition的rocksdb引擎单个sst文件大小,大文件会导致每次Compaction时候可能会有更多的下层数据需要做Compaction,而小文件能更精确的覆盖下层文件。但同时总的IO开销,小文件会更多。所以是个变大的波峰波谷为多个小波峰波谷但增加开销的权衡问题。另外大文件可以减少文件数

db_max_open_files : 默认4096 说明:引擎打开的最大文件数

db_block_size : 默认16(KB),可配区间[4, 10485760] 说明:partition的rocksdb引擎的block大小

RocksDB packs user data in blocks. When reading a key-value pair from a table file, an entire block is loaded into memory. Block size is 4KB by default. Each table file contains an index that lists offsets of all blocks. Increasing block_size means that the index contains fewer entries (since there are fewer blocks per file) and is thus smaller. Increasing block_size decreases memory usage and space amplification, but increases read amplification.

配置实例:

容量集群