-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[enhancement](k8s) Support fqdn mode for fe in k8s enviroment #17329
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
|
run buildall |
|
TeamCity pipeline, clickbench performance test result: |
|
run buildp0 |
1 similar comment
|
run buildp0 |
|
run p0 |
1 similar comment
|
run p0 |
2257aa0 to
1df2b17
Compare
|
run buildall |
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
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
1df2b17 to
28818f3
Compare
|
run buildall |
1 similar comment
|
run buildall |
|
run p0 |
|
run beut build CheckStyle ClangFormatter LicenseCheck ShellCheck |
…viroment (apache#16315)" (apache#17278)" This reverts commit 201cf9c.
28818f3 to
0c694d7
Compare
|
sh buildall |
|
run buildall |
a3ccd92 to
04dd2ed
Compare
|
run buildall |
04dd2ed to
f1a3ca6
Compare
|
run buildall |
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
…#18485) 1. If we set hadoop user property along with kerberos info, the authentication will fail. 2. fix some minor issue of local fs, follow up apache#18397 3. Add KW_HOSTNAME to keywords region, follow up apache#17329 4. Fix tvf not working with pipeline engine, follow up apache#18376
…#18485) 1. If we set hadoop user property along with kerberos info, the authentication will fail. 2. fix some minor issue of local fs, follow up apache#18397 3. Add KW_HOSTNAME to keywords region, follow up apache#17329 4. Fix tvf not working with pipeline engine, follow up apache#18376
Proposed changes
Problem summary
大体逻辑沿用#9172
关键改动点:
FE的nodename从ip_port_timestamp改为hostname_port_timestamp,如下图中的fe3就是这个实例在k8s中的域名:
原因:为了避免IP变更后,其它FE实例的IP使用了该IP,比如FE3的原始IP为172.18.0.4,动态变更为172.18.0.50,而后新增了一个FE4,它的IP为172.18.0.4,这时如果还使用ip_port_timestamp形式,则无法直观的从name中区分彼此。
风险点:可能影响依赖Name解析ip、port的外部程序,无法识别正确的IP。
FDQNManager定期便利所有的FE,检查域名对应的IP是否已经改变,如果改变:
2.1
通过BDBHA的updateAddress方法通知所有peers,保证bdbje层面的一致性。【现在直接以域名作为BDBJE的address,不需要更改IP时再更新】2.2 改变master自身内存记录的IP
2.3 通过editlog同步给其它FE,改变其它follower内存中记录的FE ip信息。
Frontend的meta持久化方式改为了json格式,方便后续字段的变更。
deploy manger K8s支持IP变更(delete pod后stateful自动加回,ip跟原始的不一致)
Changes:
Reason: To avoid the scenario that other FE instances use the changed IP after IP change, for example, the original IP of FE3 is 172.18.0.4, changed dynamically to 172.18.0.50, and later a new FE4 is added with IP 172.18.0.4, if the ip_port_timestamp form is still used, the existing program cannot distinguish each other from the name.
Risk: The external program that relies on Name resolution for IP and port recognition may be affected and cannot recognize the correct IP.
2.1 Notify all peers through the updateAddress method of BDBHA to ensure consistency at the bdbje level.
2.2 Change the IP information recorded in memory by the master itself
2.3 Synchronize to other FEs through the editlog to change the IP information recorded in memory by other followers.
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...