-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[Feature] Make StarRocks support FQDN #5127
Conversation
Please add a more detailed description. This is an obvious change for the users, that is to say, all our users will notice that after this version released, their FQDN can be directly shown in the "show backends" result or on our dashboard, and that casually changing their FQDN will probably ends in a chaos for the whole cluster. Therefore we should explain our designs and trade-offs as clear as possible. |
fe/fe-core/src/main/java/com/starrocks/system/SystemInfoService.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/analysis/UpdateBackendAddressClause.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/analysis/UpdateBackendAddressClause.java
Outdated
Show resolved
Hide resolved
Create a issue related to this pull request. |
fe/fe-core/src/main/java/com/starrocks/analysis/UpdateBackendAddressClause.java
Outdated
Show resolved
Hide resolved
1c3a115
to
3cccdb1
Compare
fe/fe-core/src/main/java/com/starrocks/analysis/UpdateBackendAddressClause.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/system/SystemInfoService.java
Outdated
Show resolved
Hide resolved
Remember to add user guide to https://github.com/StarRocks/docs.zh-cn |
fe/fe-core/src/main/java/com/starrocks/service/FrontendOptions.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/analysis/UpdateBackendAddressClause.java
Outdated
Show resolved
Hide resolved
Why we must restart FE to change the |
As stated in the PR description, if the host is changed without restarting the cluster, it is a process with very many intermediate states, and the failure of any one step does not guarantee the consistency of the change, and the user may end up having to restart the cluster anyway |
8fbf157
to
b22e52d
Compare
c9e474c
to
855062a
Compare
fe/fe-core/src/main/java/com/starrocks/analysis/UpdateBackendAddressClause.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/common/util/NetUtils.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/server/GlobalStateMgr.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/server/GlobalStateMgr.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/com/starrocks/server/GlobalStateMgr.java
Outdated
Show resolved
Hide resolved
8aeda1d
to
5b5068f
Compare
run starrocks_fe_unittest |
[FE PR Coverage check]😍 pass : 221 / 275 (80.36%) file detail
|
This reverts commit aed944f.
StarRocks only supported IP before. Some users' network environments need to support FQDN. You can refer to the following documentation to use FQDN in your StarRocks cluster First, you need to configure all the FQDN information of the cluster in each machine's /etc/hosts file. If you want to use FQDN to create a new cluster, you should do nothing, this feature will make cluster use fqdn automatically And if you want to upgrade an old cluster, please follow the next steps. ### **Be change ip to fqdn** 1. BE Reboot directly after upgrading to the version that contains the feature 2. FE Execute SQL alter system modify backend host "192.1.1.0" to "testFqdn" ### **Fe upgrade ip to fqdn** - FE cluster upgrade with less than three followers is not supported - Change follower node first, then master node **How to follower's ip to fqdn?** 1. stop the node you want to change the IP to FQDN, wait for the alive state to be false 2. Execute the following SQL alter system modify frontend host "127.1.1.0" to "sandbox16" 3. After the FE is upgraded to the version that includes the feature 4. restart the FE with `sh bin/start_fe.sh --host_type=fqdn` --daemon and wait for the FE alive state to be true **How to master's ip to fqdn?** When all the follower besides of the master in the cluster are upgraded, shut down the master and wait for the new master to be elected, and then restart the original master, wait it to be a follower and alive. Then the new follower could be processed according to the above to upgrade ip to fqdn ## Other: this feature can help you start fe by using specified host type,just like `sh bin/start_fe.sh --host_type=fqdn` `sh bin/start_fe.sh --host_type=ip`
…Rocks#6945) This reverts commit aed944f.
Signed-off-by: EsoragotoSpirit <wanglichen@starrocks.com> (cherry picked from commit c9f5695) Co-authored-by: 絵空事スピリット <wanglichen@starrocks.com>
What type of PR is this:
Which issues of this PR fixes :
Fixes #5527 #401
Problem Summary(Required):
StarRocks only supported IP before. Some users' network environments need to support FQDN.
You can refer to the following documentation to use FQDN in your StarRocks cluster
First, you need to configure all the FQDN information of the cluster in each machine's /etc/hosts file.
If you want to use FQDN to create a new cluster, you should do nothing, this feature will make cluster use fqdn automatically
And if you want to upgrade an old cluster, please follow the next steps.
Be change ip to fqdn
alter system modify backend host "192.1.1.0" to "testFqdn"
Fe upgrade ip to fqdn
How to follower's ip to fqdn?
alter system modify frontend host "127.1.1.0" to "sandbox16"
sh bin/start_fe.sh --host_type=fqdn
--daemon and wait for the FE alive state to be trueHow to master's ip to fqdn?
When all the follower besides of the master in the cluster are upgraded, shut down the master and wait for the new master to be elected, and then restart the original master, wait it to be a follower and alive.
Then the new follower could be processed according to the above to upgrade ip to fqdn
Other:
this feature can help you start fe by using specified host type,just like
sh bin/start_fe.sh --host_type=fqdn
sh bin/start_fe.sh --host_type=ip