491874745 opened a new issue, #51680:
URL: https://github.com/apache/doris/issues/51680

   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/doris/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Version
   
   Doris3.0.5 Separate storage and computation deployment(存算分离部署)
   
   ### What's Wrong?
   
   1. Server
   
   ```
   192.168.1.36 DorisFE Master
   192.168.1.37 DorisFE
   192.168.1.38 DorisFE
   ```
   
   2. How to start
   
   ```
   192.168.1.36 FE Master:
   sh fe/bin/start_fe.sh --daemon
   
   192.168.1.37 FE Both approaches have been tried:
   sh fe/bin/start_fe.sh --helper 192.168.1.36:9011 --daemon
   sh fe/bin/start_fe.sh --daemon
   ```
   
   3. Try adding FE.
   
   ```
   192.168.1.36 ADD 192.168.1.37 DorisFE
   ALTER SYSTEM ADD FOLLOWER "192.168.1.37:9011";
   ```
   
   4. 192.168.1.36 FE Master Error Log
   
   ```
   2025-06-11 15:46:45,908 WARN (qtp1189050702-240|200) 
[MetaService.isFromValidFe():71] request is not from valid FE. client: 
192.168.1.37, 9011
   2025-06-11 15:46:45,909 WARN (qtp1189050702-240|200) 
[RestApiExceptionHandler.unexpectedExceptionHandler():61] unexpected exception
   org.apache.doris.httpv2.meta.InvalidClientException: invalid client host: 
192.168.1.37
        at 
org.apache.doris.httpv2.meta.MetaService.checkFromValidFe(MetaService.java:81) 
~[doris-fe.jar:1.2-SNAPSHOT]
        at org.apache.doris.httpv2.meta.MetaService.role(MetaService.java:201) 
~[doris-fe.jar:1.2-SNAPSHOT]
        at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
~[?:?]
        at 
jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
 ~[?:?]
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:903)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:809)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) 
~[javax.servlet-api-3.1.0.jar:3.1.0]
        at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
 ~[spring-webmvc-5.3.39.jar:5.3.39]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
~[javax.servlet-api-3.1.0.jar:3.1.0]
        at 
org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1656)
 ~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:292)
 ~[websocket-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
 ~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.apache.doris.httpv2.interceptor.ServletTraceIterceptor.doFilter(ServletTraceIterceptor.java:55)
 ~[doris-fe.jar:1.2-SNAPSHOT]
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
 ~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
 ~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
 ~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117)
 ~[spring-web-5.3.39.jar:5.3.39]
        at 
org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1626)
 ~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:552) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:600) 
~[jetty-security-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505) 
~[jetty-servlet-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
 ~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at org.eclipse.jetty.server.Server.handle(Server.java:516) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277) 
~[jetty-server-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
 ~[jetty-io-9.4.57.v20241219.jar:9.4.57.v20241219]
        at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) 
~[jetty-io-9.4.57.v20241219.jar:9.4.57.v20241219]
        at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) 
~[jetty-io-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
 ~[jetty-util-9.4.57.v20241219.jar:9.4.57.v20241219]
        at 
org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
 ~[jetty-util-9.4.57.v20241219.jar:9.4.57.v20241219]
        at java.lang.Thread.run(Thread.java:842) ~[?:?]
   
   2025-06-11 14:43:08,947 WARN (heartbeat mgr|200) 
[HeartbeatMgr.runAfterCatalogReady():158] get bad heartbeat response: type: 
FRONTEND, status: BAD, msg: java.net.ConnectException: Connection refused, 
name: 192.168.1.37_9011_1749623666000, version: null, queryPort: 0, rpcPort: 0, 
arrowFlightSqlPort: 0, replayedJournalId: 0, festartTime: 1749623468641
   ```
   
   5. 192.168.1.36 FE Config files
   
   ```
   deploy_mode = cloud
   cluster_id = 657162115
   meta_service_endpoint = 192.168.1.36:5000,192.168.1.37:5000,192.168.1.38:5000
   JAVA_HOME=/data/doris3/java/
   CUR_DATE=`date +%Y%m%d-%H%M%S`
   # Log dir
   LOG_DIR = ${DORIS_HOME}/log
   # For jdk 8
   JAVA_OPTS="-Dfile.encoding=UTF-8 
-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m 
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=200 
-XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintClassHistogramAfterFullGC 
-Xloggc:$LOG_DIR/log/fe.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M 
-Dlog4j2.formatMsgNoLookups=true"
   # For jdk 17, this JAVA_OPTS will be used as default JVM options
   JAVA_OPTS_FOR_JDK_17="-Dfile.encoding=UTF-8 
-Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m 
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR 
-Xlog:gc*,classhisto*=trace:$LOG_DIR/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M
 --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens 
java.base/jdk.internal.ref=ALL-UNNAMED --add-opens 
java.base/sun.nio.ch=ALL-UNNAMED"
   # Set your own JAVA_HOME
   # JAVA_HOME=/path/to/jdk/
   ##
   ## the lowercase properties are read by main program.
   ##
   # store metadata, must be created before start FE.
   # Default value is ${DORIS_HOME}/doris-meta
   # meta_dir = ${DORIS_HOME}/doris-meta
   # Default dirs to put jdbc drivers,default value is 
${DORIS_HOME}/jdbc_drivers
   # jdbc_drivers_dir = ${DORIS_HOME}/jdbc_drivers
   http_port = 8031
   rpc_port = 9022
   query_port = 9031
   edit_log_port = 9011
   arrow_flight_sql_port = -1
   # Choose one if there are more than one ip except loopback address. 
   # Note that there should at most one ip match this list.
   # If no ip match this rule, will choose one randomly.
   # use CIDR format, e.g. 10.10.10.0/24 or IP format, e.g. 10.10.10.1
   # Default value is empty.
   # priority_networks = 10.10.10.0/24;192.168.0.0/16
   priority_networks = 192.168.1.36/22
   sys_log_level = INFO
   sys_log_mode = ASYNC
   ```
   
   6. 192.168.1.37 FE Config files
   
   ```
   deploy_mode = cloud
   cluster_id = 657162115
   meta_service_endpoint = 192.168.1.36:5000,192.168.1.37:5000,192.168.1.38:5000
   JAVA_HOME=/data/doris3/java/
   CUR_DATE=`date +%Y%m%d-%H%M%S`
   # Log dir
   LOG_DIR = ${DORIS_HOME}/log
   # For jdk 8
   JAVA_OPTS="-Dfile.encoding=UTF-8 
-Djavax.security.auth.useSubjectCredsOnly=false -Xss4m -Xmx8192m 
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MaxGCPauseMillis=200 
-XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintClassHistogramAfterFullGC 
-Xloggc:$LOG_DIR/log/fe.gc.log.$CUR_DATE -XX:+UseGCLogFileRotation 
-XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=50M 
-Dlog4j2.formatMsgNoLookups=true"
   # For jdk 17, this JAVA_OPTS will be used as default JVM options
   JAVA_OPTS_FOR_JDK_17="-Dfile.encoding=UTF-8 
-Djavax.security.auth.useSubjectCredsOnly=false -Xmx8192m -Xms8192m 
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$LOG_DIR 
-Xlog:gc*,classhisto*=trace:$LOG_DIR/fe.gc.log.$CUR_DATE:time,uptime:filecount=10,filesize=50M
 --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens 
java.base/jdk.internal.ref=ALL-UNNAMED --add-opens 
java.base/sun.nio.ch=ALL-UNNAMED"
   # Set your own JAVA_HOME
   # JAVA_HOME=/path/to/jdk/
   # store metadata, must be created before start FE.
   # Default value is ${DORIS_HOME}/doris-meta
   # meta_dir = ${DORIS_HOME}/doris-meta
   # Default dirs to put jdbc drivers,default value is 
${DORIS_HOME}/jdbc_drivers
   # jdbc_drivers_dir = ${DORIS_HOME}/jdbc_drivers
   http_port = 8031
   rpc_port = 9021
   query_port = 9031
   edit_log_port = 9011
   arrow_flight_sql_port = -1
   # Choose one if there are more than one ip except loopback address. 
   # Note that there should at most one ip match this list.
   # If no ip match this rule, will choose one randomly.
   # use CIDR format, e.g. 10.10.10.0/24 or IP format, e.g. 10.10.10.1
   # Default value is empty.
   # priority_networks = 10.10.10.0/24;192.168.0.0/16
   priority_networks = 192.168.0.0/22
   sys_log_level = INFO
   sys_log_mode = ASYNC
   ```
   
   7. 查看FE状态
   
   ```
   mysql> show frontends\G;
   *************************** 1. row ***************************
                 Name: fe_19ea2c85_a24d_4fbe_8380_1ec8be97e1e6
                 Host: 192.168.1.36
          EditLogPort: 9011
             HttpPort: 8031
            QueryPort: 9031
              RpcPort: 9022
   ArrowFlightSqlPort: -1
                 Role: FOLLOWER
             IsMaster: true
            ClusterId: 657162114
                 Join: true
                Alive: true
    ReplayedJournalId: 91
        LastStartTime: 2025-06-11 14:31:08
        LastHeartbeat: 2025-06-11 14:37:48
             IsHelper: true
               ErrMsg: 
              Version: doris-3.0.5-rc01-e277cfb83f
     CurrentConnected: Yes
   *************************** 2. row ***************************
                 Name: 192.168.1.37_9011_1749623666000
                 Host: 192.168.1.37
          EditLogPort: 9011
             HttpPort: 8031
            QueryPort: 0
              RpcPort: 0
   ArrowFlightSqlPort: 0
                 Role: FOLLOWER
             IsMaster: false
            ClusterId: 657162114
                 Join: true
                Alive: false
    ReplayedJournalId: 0
        LastStartTime: NULL
        LastHeartbeat: NULL
             IsHelper: true
               ErrMsg: java.net.ConnectException: Connection refused
              Version: NULL
     CurrentConnected: No
   3 rows in set (0.01 sec)
   
   ERROR: 
   No query specified
   ```
   
   ### What You Expected?
   
   I don't know why to prompt me that request is not from valid Fe. Client: 
192.168.1.37,9011, invalid client host: 192.168.1.37, Connection refused, name: 
192.168.1.37  Please help me thank you!
   
   ### How to Reproduce?
   
   _No response_
   
   ### Anything Else?
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [x] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to