-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[improvement](FQDN)Change the implementation of fqdn #19123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
clang-tidy review says "All clean, LGTM! 👍" |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
TeamCity pipeline, clickbench performance test result: |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
1 similar comment
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
|
run buildall |
|
clang-tidy review says "All clean, LGTM! 👍" |
morningman
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
|
你好!
我想请问下,这个是什么原因呢?我要如何操作才能使得集群正常?是否是因为 FQDN 不支持 IPv6? 谢谢! |

Proposed changes
Issue Number: close #xxx
Problem summary
主要改动:
1.如果配置文件开启fqdn,fe启动的时候localAddr会获取fqdn,而不是ip,priority_networks会失效
2.Backend和Frontend的ip和hostname合为一个字段host,开启fqdn的时候代表hostname,不开启的时候代表ip
3.集群间通信直接使用fqdn,各种连接池增加验证机制,防止域名的ip发生变化,节点间连接出错
4.不再需要轮询验证ip是否发生变化,删除fqdnManager
5.改变fe间验证节点合法性的方式,由获取客户端ip改为在http的请求头或thrift的消息体里面显示传递节点自身标识
6.处理心跳时,如果be发现自己存储的host和master存储的host不一致,验证host合法性后,会更改自身host,而不是直接报错
7.简化fe name的生成逻辑
Main changes:
影响范围:
1.集群间通信建立连接
2.通过ip等属性判断是否为同一节点
3.打印日志
4.信息展示
5.地址拼接
6.k8s部署
7.升级兼容性
Scope of influence:
测试方案:
1.节点更换ip,在fqdn保持不变的情况下,改变fe和be的ip,验证集群能否正常读写数据
2.使用master的代码生成元数据,在当前pr上使用之前的元数据,验证能否兼容旧版本(之前就开启过fqdn的不再支持升级)
3.使用k8s部署fe和be集群,验证集群能否正常读写数据
4.按照https://doris.apache.org/zh-CN/docs/dev/admin-manual/cluster-management/fqdn?_highlight=fqdn#%E6%97%A7%E9%9B%86%E7%BE%A4%E5%90%AF%E7%94%A8fqdn升级旧集群
5.使用streamload分别指定fe,be的fqdn导入数据
6.使用不同用户开启事务用insert语句写入数据
Test plan:
Checklist(Required)
Further comments
If this is a relatively large or complex change, kick off the discussion at dev@doris.apache.org by explaining why you chose the solution you did and what alternatives you considered, etc...