This is an automated email from the ASF dual-hosted git repository.
peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/linkis.git
The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
new 2ff576ba6 feat: replace the eureka with spring discovery client (#3808)
2ff576ba6 is described below
commit 2ff576ba6caf78033223d2bd319721faf46e41b4
Author: Jack Xu <[email protected]>
AuthorDate: Tue Feb 7 20:11:44 2023 +0800
feat: replace the eureka with spring discovery client (#3808)
---
.../linkis-engineconn-manager-server.md | 1 -
.../apache/linkis/common/conf/Configuration.scala | 5 +-
.../org/apache/linkis/common/utils/Utils.scala | 3 +-
.../apache/linkis/DataWorkCloudApplication.java | 7 +--
.../apache/linkis/restful/CommonRestfulApi.java | 9 +--
.../apache/linkis/rpc/conf/RPCConfiguration.scala | 10 +--
.../linkis/rpc/conf/RPCSpringConfiguration.scala | 9 ++-
.../linkis/rpc/interceptor/RPCServerLoader.scala | 17 ------
.../sender/eureka/EurekaClientRefreshUtils.scala | 71 ----------------------
.../rpc/sender/eureka/EurekaRPCServerLoader.scala | 57 -----------------
.../rpc/sender/spring/SpringRPCServerLoader.scala | 29 ++++-----
.../ecm/core/launch/ProcessEngineConnLaunch.scala | 41 +++----------
.../linkis/ecm/server/conf/ECMConfiguration.scala | 3 -
.../impl/BmlResourceLocalizationService.scala | 17 +++---
.../impl/LinuxProcessEngineConnLaunchService.scala | 12 +---
.../upstream/access/ECTaskEntranceInfoAccess.scala | 44 +++++---------
.../common/launch/process/Environment.scala | 2 +-
.../JavaProcessEngineConnLaunchBuilder.scala | 4 +-
.../am/service/monitor/NodeHeartbeatMonitor.scala | 16 +++--
linkis-dist/bin/install.sh | 23 +++++--
...ation-linkis.yml => application-engineconn.yml} | 32 +++++-----
linkis-dist/package/conf/application-eureka.yml | 8 +--
linkis-dist/package/conf/application-linkis.yml | 11 ++++
linkis-dist/package/conf/linkis.properties | 8 +--
linkis-dist/package/sbin/ext/linkis-common-start | 6 --
linkis-dist/package/sbin/ext/linkis-mg-eureka | 10 ---
linkis-dist/package/sbin/ext/linkis-mg-gateway | 9 ---
.../impl/InstanceAliasManagerImpl.scala | 4 +-
....scala => SpringCloudInstanceLabelClient.scala} | 6 +-
.../instance/label/InsLabelAutoConfiguration.java | 30 +++------
.../linkis/instance/label/conf/InsLabelConf.java | 7 +--
.../instance/label/restful/InstanceRestful.java | 23 ++++---
.../label/service/impl/DefaultInsLabelService.java | 65 ++++++--------------
.../impl/DefaultInsLabelServiceAdapter.java | 3 +
...abelService.java => SpringInsLabelService.java} | 6 +-
.../linkis/eureka/conf/EurekaSecurityConfig.java | 32 ----------
linkis-web/package.json | 2 +-
linkis-web/src/apps/linkis/i18n/common/en.json | 2 +-
linkis-web/src/apps/linkis/i18n/common/zh.json | 2 +-
.../linkis/module/microServiceManagement/index.vue | 6 +-
40 files changed, 194 insertions(+), 458 deletions(-)
diff --git a/docs/configuration/linkis-engineconn-manager-server.md
b/docs/configuration/linkis-engineconn-manager-server.md
index efd9e0794..825ea49c5 100644
--- a/docs/configuration/linkis-engineconn-manager-server.md
+++ b/docs/configuration/linkis-engineconn-manager-server.md
@@ -22,7 +22,6 @@
|linkis-engineconn-manager-server|wds.linkis.engineconn.root.dir| |root.dir|
|linkis-engineconn-manager-server|wds.linkis.engineconn.public.dir|
|ngineconn.public.dir|
|linkis-engineconn-manager-server|wds.linkis.ecm.launch.max.thread.size|
100|thread.size|
-|linkis-engineconn-manager-server|wds.linkis.eureka.defaultZone|
http://127.0.0.1:20303/eureka/ |eureka.defaultZone|
|linkis-engineconn-manager-server|wds.linkis.ecm.engineconn.create.duration|
1000 * 60 * 10 |engineconn.create.duration|
|linkis-engineconn-manager-server|wds.linkis.engineconn.wait.callback.pid|3s
|wait.callback.pid|
|linkis-engineconn-manager-server|wds.linkis.ecm.engine.start.error.msg.max.len|
500 |msg.max.len|
diff --git
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
index dbbed5269..a23a9fcae 100644
---
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
+++
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/conf/Configuration.scala
@@ -54,7 +54,10 @@ object Configuration extends Logging {
CommonVars("wds.linkis.console.variable.application.name",
"linkis-ps-publicservice")
// read from env
- val EUREKA_PREFER_IP: Boolean = CommonVars("EUREKA_PREFER_IP",
false).getValue
+ val PREFER_IP_ADDRESS: Boolean = CommonVars(
+ "linkis.discovery.prefer-ip-address",
+ CommonVars("EUREKA_PREFER_IP", false).getValue
+ ).getValue
val GOVERNANCE_STATION_ADMIN =
CommonVars("wds.linkis.governance.station.admin", "hadoop")
diff --git
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
index 4ef8177df..3d3bc636a 100644
---
a/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
+++
b/linkis-commons/linkis-common/src/main/scala/org/apache/linkis/common/utils/Utils.scala
@@ -25,6 +25,7 @@ import org.apache.linkis.common.exception.{
}
import org.apache.commons.io.IOUtils
+import org.apache.commons.lang3.SystemUtils
import java.io.{BufferedReader, InputStreamReader}
import java.net.InetAddress
@@ -206,7 +207,7 @@ object Utils extends Logging {
def getLocalHostname: String = InetAddress.getLocalHost.getHostAddress
def getComputerName: String =
- Utils.tryCatch(InetAddress.getLocalHost.getCanonicalHostName)(t =>
sys.env("COMPUTERNAME"))
+ Utils.tryCatch(InetAddress.getLocalHost.getCanonicalHostName)(_ =>
SystemUtils.getHostName)
/**
* Checks if event has occurred during some time period. This performs an
exponential backoff to
diff --git
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
index 24024f20f..cc35c0b19 100644
---
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
+++
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/DataWorkCloudApplication.java
@@ -143,12 +143,11 @@ public class DataWorkCloudApplication extends
SpringBootServletInitializer {
private static void initDWCApplication() {
String hostName = Utils.getComputerName();
- boolean eurekaPreferIp = Configuration.EUREKA_PREFER_IP();
- if (eurekaPreferIp) {
+ boolean preferIpAddress = Configuration.PREFER_IP_ADDRESS();
+ if (preferIpAddress) {
hostName =
applicationContext.getEnvironment().getProperty("spring.cloud.client.ip-address");
logger.info(
- "using ip address replace hostname,beacause
eureka.instance.prefer-ip-address:"
- + eurekaPreferIp);
+ "using ip address replace hostname, because
linkis.discovery.prefer-ip-address: true");
}
serviceInstance = new ServiceInstance();
serviceInstance.setApplicationName(
diff --git
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
index 54d8188b8..fc845b0db 100644
---
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
+++
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
@@ -21,14 +21,14 @@ import org.apache.linkis.server.Message;
import org.apache.linkis.server.utils.ModuleUserUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cloud.client.discovery.DiscoveryClient;
+import org.springframework.cloud.client.serviceregistry.Registration;
+import org.springframework.cloud.client.serviceregistry.ServiceRegistry;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
-import com.netflix.discovery.DiscoveryManager;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -36,13 +36,14 @@ import io.swagger.annotations.ApiOperation;
@RestController
@RequestMapping(path = "/")
public class CommonRestfulApi {
- @Autowired private DiscoveryClient client;
+ @Autowired private ServiceRegistry serviceRegistry;
+ @Autowired private Registration registration;
@ApiOperation(value = "Offline", notes = "offline this service", response =
Message.class)
@RequestMapping(path = "/offline", method = RequestMethod.GET)
public Message offline(HttpServletRequest req) {
ModuleUserUtils.getOperationUser(req, "offline");
- DiscoveryManager.getInstance().shutdownComponent();
+ serviceRegistry.deregister(registration);
return Message.ok().data("msg", "Offline successfully.");
}
}
diff --git
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
index 5f6a06569..fb3074dc6 100644
---
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
+++
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCConfiguration.scala
@@ -27,11 +27,11 @@ object RPCConfiguration {
val BDP_RPC_BROADCAST_THREAD_SIZE: CommonVars[Integer] =
CommonVars("wds.linkis.rpc.broadcast.thread.num", 25)
- val BDP_RPC_EUREKA_SERVICE_REFRESH_INTERVAL: CommonVars[TimeType] =
- CommonVars("wds.linkis.rpc.eureka.client.refresh.interval", new
TimeType("1s"))
-
- val BDP_RPC_EUREKA_SERVICE_REFRESH_MAX_WAIT_TIME: CommonVars[TimeType] =
- CommonVars("wds.linkis.rpc.eureka.client.refresh.wait.time.max", new
TimeType("30s"))
+ val RPC_SERVICE_REFRESH_MAX_WAIT_TIME: CommonVars[TimeType] =
+ CommonVars(
+ "linkis.rpc.client.refresh.wait.time.max",
+ CommonVars("wds.linkis.rpc.eureka.client.refresh.wait.time.max", new
TimeType("30s")).getValue
+ )
val BDP_RPC_RECEIVER_ASYN_CONSUMER_THREAD_MAX: CommonVars[Int] =
CommonVars("wds.linkis.rpc.receiver.asyn.consumer.thread.max", 400)
diff --git
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
index 3e78671af..188490914 100644
---
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
+++
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/conf/RPCSpringConfiguration.scala
@@ -21,7 +21,7 @@ import org.apache.linkis.DataWorkCloudApplication
import org.apache.linkis.common.utils.Logging
import org.apache.linkis.rpc.RPCReceiveRestful
import org.apache.linkis.rpc.interceptor.RPCServerLoader
-import org.apache.linkis.rpc.sender.eureka.EurekaRPCServerLoader
+import org.apache.linkis.rpc.sender.spring.SpringRPCServerLoader
import org.apache.linkis.server.conf.ServerConfiguration
import org.apache.commons.lang3.StringUtils
@@ -31,20 +31,19 @@ import org.springframework.boot.autoconfigure.condition.{
ConditionalOnMissingBean
}
import org.springframework.boot.context.event.ApplicationPreparedEvent
+import org.springframework.cloud.client.discovery.DiscoveryClient
import org.springframework.cloud.openfeign.EnableFeignClients
import org.springframework.context.annotation.{Bean, Configuration}
import org.springframework.context.event.EventListener
-import com.netflix.discovery.EurekaClient
-
@Configuration
@EnableFeignClients
class RPCSpringConfiguration extends Logging {
@Bean(Array("rpcServerLoader"))
- @ConditionalOnClass(Array(classOf[EurekaClient]))
+ @ConditionalOnClass(Array(classOf[DiscoveryClient]))
@ConditionalOnMissingBean
- def createRPCServerLoader(): RPCServerLoader = new EurekaRPCServerLoader
+ def createRPCServerLoader(): RPCServerLoader = new SpringRPCServerLoader
@EventListener
def completeInitialize(applicationPreparedEvent: ApplicationPreparedEvent):
Unit = {
diff --git
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
index d3e42229e..8cab6d7d0 100644
---
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
+++
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/interceptor/RPCServerLoader.scala
@@ -108,23 +108,6 @@ abstract class AbstractRPCServerLoader extends
RPCServerLoader with Logging {
serviceInstance
)
lb.getAllServers.asScala.find(_.getHostPort ==
serviceInstance.getInstance).get
-// {
-// var servers = lb.getAllServers
-// val instanceNotExists = new NoInstanceExistsException(10051, "The
instance " +
-// serviceInstance.getInstance + " of application " +
serviceInstance.getApplicationName + " does not exist.")
-// var server = servers.find(_.getHostPort == serviceInstance.getInstance)
-// if(server.isEmpty) Utils.tryThrow(Utils.waitUntil(() =>{
-// refreshServerList(lb)
-// servers = lb.getAllServers
-// server = servers.find(_.getHostPort == serviceInstance.getInstance)
-// if(server.isEmpty) info(s"Need a $serviceInstance, but cannot find
in eureka refresh list ${servers.map(_.getHostPort).toList}.")
-// server.isDefined
-// }, refreshMaxWaitTime, 500, 2000)) { t =>
-// instanceNotExists.initCause(t)
-// instanceNotExists
-// }
-// server.getOrElse(throw instanceNotExists)
-// }
}
def getDWCServiceInstance(serviceInstance: SpringCloudServiceInstance):
ServiceInstance
diff --git
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaClientRefreshUtils.scala
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaClientRefreshUtils.scala
deleted file mode 100644
index 1869778f4..000000000
---
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaClientRefreshUtils.scala
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.rpc.sender.eureka
-
-import org.apache.linkis.rpc.conf.RPCConfiguration
-import org.apache.linkis.server.utils.AopTargetUtils
-
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.context.annotation.Configuration
-
-import javax.annotation.PostConstruct
-
-import com.netflix.discovery.{DiscoveryClient => NetflixDiscoveryClient,
EurekaClient}
-
-@Configuration
-class EurekaClientRefreshUtils {
-
- @Autowired
- private var eurekaClient: EurekaClient = _
-
- private var eurekaClientLastRefreshTime = 0L
-
- val serviceRefreshInterval =
- RPCConfiguration.BDP_RPC_EUREKA_SERVICE_REFRESH_INTERVAL.getValue.toLong
-
- private[eureka] def refreshEurekaClient(): Unit =
- if (System.currentTimeMillis - eurekaClientLastRefreshTime >
serviceRefreshInterval) {
- synchronized {
- if (System.currentTimeMillis - eurekaClientLastRefreshTime <
serviceRefreshInterval) {
- return
- }
- eurekaClientLastRefreshTime = System.currentTimeMillis
- eurekaClient match {
- case disClient: NetflixDiscoveryClient =>
- val refreshRegistry =
-
classOf[NetflixDiscoveryClient].getDeclaredMethod("refreshRegistry")
- refreshRegistry.setAccessible(true)
- refreshRegistry.invoke(disClient)
- Thread.sleep(100)
- case _ =>
- }
- }
- }
-
- @PostConstruct
- def storeEurekaClientRefreshUtils(): Unit = {
- eurekaClient =
AopTargetUtils.getTarget(eurekaClient).asInstanceOf[EurekaClient]
- EurekaClientRefreshUtils.eurekaClientRefreshUtils = this
- }
-
-}
-
-object EurekaClientRefreshUtils {
- private var eurekaClientRefreshUtils: EurekaClientRefreshUtils = _
- def apply(): EurekaClientRefreshUtils = eurekaClientRefreshUtils
-}
diff --git
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaRPCServerLoader.scala
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaRPCServerLoader.scala
deleted file mode 100644
index c25d4438a..000000000
---
a/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/eureka/EurekaRPCServerLoader.scala
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.rpc.sender.eureka
-
-import org.apache.linkis.common.ServiceInstance
-import org.apache.linkis.common.utils.Utils
-import org.apache.linkis.rpc.conf.RPCConfiguration
-import org.apache.linkis.rpc.interceptor.AbstractRPCServerLoader
-
-import org.springframework.cloud.netflix.eureka.EurekaServiceInstance
-
-import java.util.Locale
-
-import scala.concurrent.duration.Duration
-
-class EurekaRPCServerLoader extends AbstractRPCServerLoader {
-
- override def refreshAllServers(): Unit =
- Utils.tryAndWarn(EurekaClientRefreshUtils().refreshEurekaClient())
-
- override val refreshMaxWaitTime: Duration =
-
RPCConfiguration.BDP_RPC_EUREKA_SERVICE_REFRESH_MAX_WAIT_TIME.getValue.toDuration
-
- override def getDWCServiceInstance(serviceInstance:
SpringCloudServiceInstance): ServiceInstance =
- serviceInstance match {
- case instance: EurekaServiceInstance =>
- val applicationName = instance.getInstanceInfo.getAppName
- val instanceId = instance.getInstanceInfo.getInstanceId
- ServiceInstance(applicationName, getInstance(applicationName,
instanceId))
- }
-
- private[rpc] def getInstance(applicationName: String, instanceId: String):
String =
- if (
- instanceId
- .toLowerCase(Locale.getDefault)
- .indexOf(":" + applicationName.toLowerCase(Locale.getDefault) + ":")
> 0
- ) {
- val instanceInfos = instanceId.split(":")
- instanceInfos(0) + ":" + instanceInfos(2)
- } else instanceId
-
-}
diff --git
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/DiscoveryMsgGenerator.scala
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/spring/SpringRPCServerLoader.scala
similarity index 52%
rename from
linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/DiscoveryMsgGenerator.scala
rename to
linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/spring/SpringRPCServerLoader.scala
index 7347e3531..14474217e 100644
---
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/DiscoveryMsgGenerator.scala
+++
b/linkis-commons/linkis-rpc/src/main/scala/org/apache/linkis/rpc/sender/spring/SpringRPCServerLoader.scala
@@ -15,25 +15,26 @@
* limitations under the License.
*/
-package org.apache.linkis.ecm.core.launch
+package org.apache.linkis.rpc.sender.spring
-import java.util
+import org.apache.linkis.common.ServiceInstance
+import org.apache.linkis.rpc.conf.RPCConfiguration
+import org.apache.linkis.rpc.interceptor.AbstractRPCServerLoader
-import scala.collection.JavaConverters._
+import scala.concurrent.duration.Duration
-trait DiscoveryMsgGenerator {
+class SpringRPCServerLoader extends AbstractRPCServerLoader {
- def generate(engineConnManagerEnv: EngineConnManagerEnv):
java.util.Map[String, String]
+ override def refreshAllServers(): Unit = {}
-}
-
-class EurekaDiscoveryMsgGenerator extends DiscoveryMsgGenerator {
+ override val refreshMaxWaitTime: Duration =
+ RPCConfiguration.RPC_SERVICE_REFRESH_MAX_WAIT_TIME.getValue.toDuration
- override def generate(engineConnManagerEnv: EngineConnManagerEnv):
util.Map[String, String] =
- engineConnManagerEnv.properties
- .get("eureka.client.serviceUrl.defaultZone")
- .map(v => Map("eureka.client.serviceUrl.defaultZone" -> v))
- .getOrElse[Map[String, String]](Map.empty)
- .asJava
+ override def getDWCServiceInstance(
+ serviceInstance: SpringCloudServiceInstance
+ ): ServiceInstance = {
+ val applicationName = serviceInstance.getServiceId
+ ServiceInstance(applicationName,
s"${serviceInstance.getHost}:${serviceInstance.getPort}")
+ }
}
diff --git
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
index 0cf9b0cb4..91aa93e5f 100644
---
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
+++
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-core/src/main/scala/org/apache/linkis/ecm/core/launch/ProcessEngineConnLaunch.scala
@@ -28,7 +28,6 @@ import org.apache.linkis.governance.common.utils.{
EngineConnArgumentsBuilder,
EngineConnArgumentsParser
}
-import org.apache.linkis.manager.engineplugin.common.conf.EnvConfiguration
import
org.apache.linkis.manager.engineplugin.common.launch.entity.EngineConnLaunchRequest
import org.apache.linkis.manager.engineplugin.common.launch.process.{
Environment,
@@ -36,7 +35,6 @@ import
org.apache.linkis.manager.engineplugin.common.launch.process.{
}
import
org.apache.linkis.manager.engineplugin.common.launch.process.Environment._
import
org.apache.linkis.manager.engineplugin.common.launch.process.LaunchConstants._
-import org.apache.linkis.server.conf.ServerConfiguration
import org.apache.commons.io.FileUtils
import org.apache.commons.lang3.StringUtils
@@ -49,7 +47,6 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch with
Logging {
private var request: ProcessEngineConnLaunchRequest = _
private var engineConnManagerEnv: EngineConnManagerEnv = _
- private var discoveryMsgGenerator: DiscoveryMsgGenerator = _
private var processBuilder: ProcessEngineCommandBuilder = _
private var preparedExecFile: String = _
private var process: Process = _
@@ -78,9 +75,6 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch with
Logging {
override def getEngineConnManagerEnv(): EngineConnManagerEnv =
this.engineConnManagerEnv
- def setDiscoveryMsgGenerator(discoveryMsgGenerator: DiscoveryMsgGenerator):
Unit =
- this.discoveryMsgGenerator = discoveryMsgGenerator
-
def getEngineConnLaunchRequest: EngineConnLaunchRequest = request
private def initializeEnv(): Unit = {
@@ -108,8 +102,8 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch with
Logging {
case JAVA_HOME => putIfExists(JAVA_HOME)
case RANDOM_PORT =>
environment.put(RANDOM_PORT.toString,
PortUtils.findAvailPort().toString)
- case EUREKA_PREFER_IP =>
- environment.put(EUREKA_PREFER_IP.toString,
Configuration.EUREKA_PREFER_IP.toString)
+ case PREFER_IP_ADDRESS =>
+ environment.put(PREFER_IP_ADDRESS.toString,
Configuration.PREFER_IP_ADDRESS.toString)
case ENGINECONN_ENVKEYS =>
environment.put(ENGINECONN_ENVKEYS.toString,
GovernanceCommonConf.ENGINECONN_ENVKEYS)
case _ =>
@@ -171,34 +165,15 @@ trait ProcessEngineConnLaunch extends EngineConnLaunch
with Logging {
engineConnPort = PortUtils
.findAvailPortByRange(GovernanceCommonConf.ENGINE_CONN_PORT_RANGE.getValue)
.toString
- var springConf = Map(
- "spring.application.name" ->
GovernanceCommonConf.ENGINE_CONN_SPRING_NAME.getValue,
- "server.port" -> engineConnPort,
- "spring.profiles.active" -> "engineconn",
- "logging.config" ->
s"classpath:${EnvConfiguration.LOG4J2_XML_FILE.getValue}"
- ) ++: discoveryMsgGenerator.generate(engineConnManagerEnv).asScala
-
- val eurekaPreferIp: Boolean = Configuration.EUREKA_PREFER_IP
- logger.info(s"EUREKA_PREFER_IP: " + eurekaPreferIp)
- if (eurekaPreferIp) {
- springConf = springConf + ("eureka.instance.prefer-ip-address" -> "true")
- springConf =
- springConf + ("eureka.instance.instance-id" ->
"\\${spring.cloud.client.ip-address}:\\${spring.application.name}:\\${server.port}")
- }
- if (Configuration.IS_PROMETHEUS_ENABLE.getValue) {
- logger.info(s"IS_PROMETHEUS_ENABLE: true")
- springConf =
- springConf + ("management.endpoints.web.exposure.include" ->
"refresh,info,health,metrics,prometheus")
- val endpoint =
- ServerConfiguration.BDP_SERVER_RESTFUL_URI.getValue +
Configuration.PROMETHEUS_ENDPOINT.getValue
- springConf =
- springConf + ("eureka.instance.metadata-map.prometheus.path" ->
("\\${prometheus.path:" + endpoint + "}"))
- }
+
+ var springConf = Map("server.port" -> engineConnPort,
"spring.profiles.active" -> "engineconn")
+
request.creationDesc.properties.asScala.filter(_._1.startsWith("spring.")).foreach
{
case (k, v) =>
- springConf = springConf += (k -> v)
+ springConf = springConf + (k -> v)
}
- arguments.addSpringConf(springConf.toMap)
+
+ arguments.addSpringConf(springConf)
var engineConnConf = Map("ticketId" -> request.ticketId, "user" ->
request.user)
engineConnConf = engineConnConf ++: request.labels.asScala
.map(l => EngineConnArgumentsParser.LABEL_PREFIX + l.getLabelKey ->
l.getStringValue)
diff --git
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
index 3f0077a82..b6acc7b06 100644
---
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
+++
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/conf/ECMConfiguration.scala
@@ -96,9 +96,6 @@ object ECMConfiguration {
val ECM_LAUNCH_MAX_THREAD_SIZE: Int =
CommonVars("wds.linkis.ecm.launch.max.thread.size", 100).getValue
- val ECM_EUREKA_DEFAULTZONE: String =
- CommonVars("wds.linkis.eureka.defaultZone",
"http://127.0.0.1:20303/eureka/").getValue
-
/**
* engineconn创建时间,如果为0,则使用ms中默认的 engineconn created time
*/
diff --git
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
index 72cd51e39..ed1490294 100644
---
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
+++
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/BmlResourceLocalizationService.scala
@@ -97,13 +97,13 @@ class BmlResourceLocalizationService extends
ResourceLocalizationService with Lo
override val engineConnTempDirs: String = tmpDirs
override val engineConnManagerHost: String = {
var hostName = Utils.getComputerName
- val eurekaPreferIp = Configuration.EUREKA_PREFER_IP
- logger.info("eurekaPreferIp:" + eurekaPreferIp)
- if (eurekaPreferIp) {
+ val preferIpAddress = Configuration.PREFER_IP_ADDRESS
+ logger.info("preferIpAddress:" + preferIpAddress)
+ if (preferIpAddress) {
hostName =
springEnv.getProperty("spring.cloud.client.ip-address")
logger.info("hostName:" + hostName)
logger.info(
- "using ip address replace hostname,beacause
eureka.instance.prefer-ip-address:" + eurekaPreferIp
+ "using ip address replace hostname, because
linkis.discovery.prefer-ip-address: true"
)
}
hostName
@@ -113,8 +113,7 @@ class BmlResourceLocalizationService extends
ResourceLocalizationService with Lo
"server.port"
)
override val linkDirs: mutable.HashMap[String, String] = linkDirsP
- override val properties: Map[String, String] =
- Map("eureka.client.serviceUrl.defaultZone" ->
ECM_EUREKA_DEFAULTZONE)
+ override val properties: Map[String, String] = Map()
}
)
case _ =>
@@ -167,13 +166,15 @@ class BmlResourceLocalizationService extends
ResourceLocalizationService with Lo
}
// 2.软连,并且添加到map
val dirAndFileList = fs.listPathWithError(fsPath)
- var paths = dirAndFileList.getFsPaths.asScala.toList
+
+ var paths = dirAndFileList.getFsPaths.asScala
+
if (paths.exists(_.getPath.endsWith(".zip"))) {
logger.info(s"Start to wait fs path to init ${fsPath.getPath}")
resourceId.intern().synchronized {
logger.info(s"Finished to wait fs path to init ${fsPath.getPath} ")
}
- paths = fs.listPathWithError(fsPath).getFsPaths.asScala.toList
+ paths = fs.listPathWithError(fsPath).getFsPaths.asScala
}
paths.foreach { path =>
val name = new File(path.getPath).getName
diff --git
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
index 63c7a928e..1929945f9 100644
---
a/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
+++
b/linkis-computation-governance/linkis-engineconn-manager/linkis-engineconn-manager-server/src/main/scala/org/apache/linkis/ecm/server/service/impl/LinuxProcessEngineConnLaunchService.scala
@@ -17,11 +17,7 @@
package org.apache.linkis.ecm.server.service.impl
-import org.apache.linkis.ecm.core.launch.{
- DiscoveryMsgGenerator,
- EngineConnLaunch,
- EurekaDiscoveryMsgGenerator
-}
+import org.apache.linkis.ecm.core.launch.EngineConnLaunch
import org.apache.linkis.ecm.linux.launch.LinuxProcessEngineConnLaunch
import org.apache.linkis.ecm.server.conf.ECMConfiguration._
import org.apache.linkis.manager.common.entity.node.EngineNode
@@ -37,12 +33,8 @@ class LinuxProcessEngineConnLaunchService extends
ProcessEngineConnLaunchService
} else null
}
- def createDiscoveryMsgGenerator: DiscoveryMsgGenerator = new
EurekaDiscoveryMsgGenerator
-
override def createEngineConnLaunch: EngineConnLaunch = {
- val launch = new LinuxProcessEngineConnLaunch
- launch.setDiscoveryMsgGenerator(createDiscoveryMsgGenerator)
- launch
+ new LinuxProcessEngineConnLaunch
}
}
diff --git
a/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
b/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
index 89ae95f67..8a4fafbe0 100644
---
a/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
+++
b/linkis-computation-governance/linkis-engineconn/linkis-computation-engineconn/src/main/scala/org/apache/linkis/engineconn/computation/executor/upstream/access/ECTaskEntranceInfoAccess.scala
@@ -26,7 +26,6 @@ import
org.apache.linkis.engineconn.computation.executor.utlis.ComputationErrorC
import org.apache.linkis.rpc.sender.SpringCloudFeignConfigurationCache
import org.springframework.cloud.client.{ServiceInstance =>
SpringCloudServiceInstance}
-import org.springframework.cloud.netflix.eureka.EurekaServiceInstance
import java.util
import java.util.Locale
@@ -34,7 +33,7 @@ import java.util.Locale
import scala.collection.JavaConverters._
/**
- * check entrance in eureka by DiscoveryClient
+ * check entrance by DiscoveryClient
*/
class ECTaskEntranceInfoAccess extends ConnectionInfoAccess with Logging {
val discoveryClient = SpringCloudFeignConfigurationCache.getDiscoveryClient
@@ -60,15 +59,15 @@ class ECTaskEntranceInfoAccess extends ConnectionInfoAccess
with Logging {
}
}
})) { t =>
- throw new EngineConnException(
+ throw EngineConnException(
ComputationErrorCode.UPSTREAM_MONITOR_EXCEPTION,
- "Failed to get services from eureka"
+ "Failed to get services from Service Registry"
).initCause(t)
}
if (instanceMap.size() == 0) {
- throw new EngineConnException(
+ throw EngineConnException(
ComputationErrorCode.UPSTREAM_MONITOR_EXCEPTION,
- "Got none serviceInstances from eureka"
+ "Got none serviceInstances from Service Registry"
)
}
@@ -99,7 +98,7 @@ class ECTaskEntranceInfoAccess extends ConnectionInfoAccess
with Logging {
}
}
case _ =>
- throw new EngineConnException(
+ throw EngineConnException(
ComputationErrorCode.INVALID_DATA_TYPE_ERROR_CODE,
"invalid data-type: " + request.getClass.getCanonicalName
)
@@ -107,26 +106,15 @@ class ECTaskEntranceInfoAccess extends
ConnectionInfoAccess with Logging {
ret.iterator().asScala.toList
}
- private def getDWCServiceInstance(serviceInstance:
SpringCloudServiceInstance): ServiceInstance =
- serviceInstance match {
- case instance: EurekaServiceInstance =>
- val applicationName = instance.getInstanceInfo.getAppName
- val instanceId = instance.getInstanceInfo.getInstanceId
- ServiceInstance(
- applicationName.toLowerCase(Locale.getDefault),
- getInstance(applicationName, instanceId)
- )
- }
-
- private def getInstance(applicationName: String, instanceId: String): String
=
- if (
- instanceId
- .toLowerCase(Locale.getDefault)
- .indexOf(applicationName.toLowerCase(Locale.getDefault)) > 0
- ) {
- val instanceInfos = instanceId.split(":")
- instanceInfos(0) + ":" + instanceInfos(2)
- } else instanceId
+ private def getDWCServiceInstance(
+ serviceInstance: SpringCloudServiceInstance
+ ): ServiceInstance = {
+ val applicationName = serviceInstance.getServiceId
+ ServiceInstance(
+ applicationName.toLowerCase(Locale.getDefault),
+ s"${serviceInstance.getHost}:${serviceInstance.getPort}"
+ )
+ }
private def isConnectionAlive(
instance: ServiceInstance,
@@ -138,7 +126,7 @@ class ECTaskEntranceInfoAccess extends ConnectionInfoAccess
with Logging {
protected def panicIfNull(obj: Any, msg: String): Unit = {
if (obj == null) {
- throw new
EngineConnException(ComputationErrorCode.VARIABLE_NULL_ERROR_CODE, msg)
+ throw EngineConnException(ComputationErrorCode.VARIABLE_NULL_ERROR_CODE,
msg)
}
}
diff --git
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
index 7ded30bd3..c273876b1 100644
---
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
+++
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/Environment.scala
@@ -25,7 +25,7 @@ object Environment extends Enumeration {
val USER, ECM_HOME, PWD, PATH, SHELL, JAVA_HOME, CLASSPATH, HADOOP_HOME,
HADOOP_CONF_DIR,
HIVE_CONF_DIR, LOG_DIRS, TEMP_DIRS, ECM_HOST, ECM_PORT, RANDOM_PORT,
SERVICE_DISCOVERY,
- EUREKA_PREFER_IP, UDF_JARS, ENGINECONN_ENVKEYS = Value
+ PREFER_IP_ADDRESS, UDF_JARS, ENGINECONN_ENVKEYS = Value
def variable(environment: Environment): String =
LaunchConstants.EXPANSION_MARKER_LEFT + environment +
LaunchConstants.EXPANSION_MARKER_RIGHT
diff --git
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
index 497e160db..bac742fae 100644
---
a/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
+++
b/linkis-computation-governance/linkis-engineconn/linkis-engineconn-plugin-core/src/main/scala/org/apache/linkis/manager/engineplugin/common/launch/process/JavaProcessEngineConnLaunchBuilder.scala
@@ -26,13 +26,12 @@ import
org.apache.linkis.manager.engineplugin.common.launch.entity.{
EngineConnBuildRequest,
RicherEngineConnBuildRequest
}
-import
org.apache.linkis.manager.engineplugin.common.launch.process.Environment.{variable,
_}
+import
org.apache.linkis.manager.engineplugin.common.launch.process.Environment._
import
org.apache.linkis.manager.engineplugin.common.launch.process.LaunchConstants._
import
org.apache.linkis.manager.engineplugin.errorcode.EngineconnCoreErrorCodeSummary._
import org.apache.linkis.manager.label.entity.engine.EngineTypeLabel
import org.apache.commons.lang3.StringUtils
-import org.apache.commons.lang3.time.DateFormatUtils
import java.io.File
import java.nio.file.Paths
@@ -104,7 +103,6 @@ abstract class JavaProcessEngineConnLaunchBuilder
addPathToClassPath(environment, variable(HADOOP_CONF_DIR))
addPathToClassPath(environment, variable(HIVE_CONF_DIR))
}
-// addPathToClassPath(environment, variable(PWD))
// first, add engineconn conf dirs.
addPathToClassPath(environment, Seq(variable(PWD),
ENGINE_CONN_CONF_DIR_NAME))
// then, add LINKIS_CONF_DIR conf dirs.
diff --git
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
index cdb5c033c..3887b1a96 100644
---
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
+++
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/scala/org/apache/linkis/manager/am/service/monitor/NodeHeartbeatMonitor.scala
@@ -134,8 +134,8 @@ class NodeHeartbeatMonitor extends ManagerMonitor with
Logging {
* 1. When the engine starts, the status is empty, and it needs to judge
whether the startup
* timeout, if the startup timeout, kill directly 2. After the engine
is in the state, it is
* normal that the heartbeat information is reported after the startup
is completed: if the
- * heartbeat is not updated for a long time, kill it, if it does not
exist on Eureka, it
- * needs to be killed.
+ * heartbeat is not updated for a long time, kill it, if it does not
exist on Service
+ * Registry, it needs to be killed.
*
* @param engineNodes
*/
@@ -145,7 +145,9 @@ class NodeHeartbeatMonitor extends ManagerMonitor with
Logging {
engineNodes.asScala.foreach { engineNode =>
if (NodeStatus.isCompleted(engineNode.getNodeStatus)) {
logger.info(
- s"${engineNode.getServiceInstance} is completed
${engineNode.getNodeStatus}, will be remove"
+ "{} is completed {}, will be remove",
+ engineNode.getServiceInstance: Any,
+ engineNode.getNodeStatus: Any
)
clearECSet.add(engineNode.getServiceInstance)
} else {
@@ -160,12 +162,13 @@ class NodeHeartbeatMonitor extends ManagerMonitor with
Logging {
if (null == engineNode.getNodeStatus) {
if (!existingEngineInstances.contains(engineNode.getServiceInstance)
&& engineIsStarted) {
logger.warn(
- s"Failed to find instance ${engineNode.getServiceInstance} from
eureka prepare to kill, engineIsStarted"
+ "Failed to find instance {} from Service Registry prepare to
kill, engineIsStarted",
+ engineNode.getServiceInstance
)
clearECSet.add(engineNode.getServiceInstance)
}
} else if (updateOverdue) {
- logger.warn(s" ${engineNode.getServiceInstance} heartbeat
updateOverdue")
+ logger.warn("{} heartbeat updateOverdue",
engineNode.getServiceInstance)
clearECSet.add(engineNode.getServiceInstance)
}
}
@@ -200,7 +203,8 @@ class NodeHeartbeatMonitor extends ManagerMonitor with
Logging {
val isExistingECMInstances =
Sender.getInstances(ecmName).contains(ecm.getServiceInstance)
if (!isExistingECMInstances && isUpdateOverdue) {
logger.warn(
- s"Failed to find ecm instance ${ecm.getServiceInstance} from
eureka Registry to kill"
+ "Failed to find ecm instance {} from Service Registry to kill",
+ ecm.getServiceInstance
)
Utils.tryAndWarnMsg(triggerEMSuicide(ecm.getServiceInstance))(
s"ecm ${ecm.getServiceInstance} clear failed"
diff --git a/linkis-dist/bin/install.sh b/linkis-dist/bin/install.sh
index 891e798b1..c52ec43c4 100644
--- a/linkis-dist/bin/install.sh
+++ b/linkis-dist/bin/install.sh
@@ -292,10 +292,7 @@ if test -z "$EUREKA_INSTALL_IP"
then
export EUREKA_INSTALL_IP=$SERVER_IP
fi
-if [ "true" != "$EUREKA_PREFER_IP" ]
-then
- export EUREKA_HOSTNAME=$EUREKA_INSTALL_IP
-fi
+
export EUREKA_URL=http://$EUREKA_INSTALL_IP:$EUREKA_PORT/eureka/
if test -z "$GATEWAY_INSTALL_IP"
@@ -314,10 +311,25 @@ sed -i ${txt}
"s#linkis.app.version:.*#linkis.app.version: $LINKIS_VERSION-$cur
sed -i ${txt} "s#defaultZone:.*#defaultZone: $EUREKA_URL#g"
$LINKIS_HOME/conf/application-linkis.yml
sed -i ${txt} "s#linkis.app.version:.*#linkis.app.version:
$LINKIS_VERSION-$currentTime#g" $LINKIS_HOME/conf/application-linkis.yml
+sed -i ${txt} "s#defaultZone:.*#defaultZone: $EUREKA_URL#g"
$LINKIS_HOME/conf/application-engineconn.yml
+sed -i ${txt} "s#linkis.app.version:.*#linkis.app.version:
$LINKIS_VERSION-$currentTime#g" $LINKIS_HOME/conf/application-engineconn.yml
+
+if [ "$EUREKA_PREFER_IP" == "true" ]; then
+ sed -i ${txt} "s/# prefer-ip-address:/prefer-ip-address:/g"
$LINKIS_HOME/conf/application-eureka.yml
+
+ sed -i ${txt} "s/# prefer-ip-address:/prefer-ip-address:/g"
$LINKIS_HOME/conf/application-linkis.yml
+ sed -i ${txt} "s/# instance-id:/instance-id:/g"
$LINKIS_HOME/conf/application-linkis.yml
+
+ sed -i ${txt} "s/# prefer-ip-address:/prefer-ip-address:/g"
$LINKIS_HOME/conf/application-engineconn.yml
+ sed -i ${txt} "s/# instance-id:/instance-id:/g"
$LINKIS_HOME/conf/application-linkis.yml
+
+ sed -i ${txt}
"s#linkis.discovery.prefer-ip-address.*#linkis.discovery.prefer-ip-address=true#g"
$common_conf
+fi
+
echo "update conf $common_conf"
sed -i ${txt}
"s#wds.linkis.server.version.*#wds.linkis.server.version=$LINKIS_SERVER_VERSION#g"
$common_conf
sed -i ${txt}
"s#wds.linkis.gateway.url.*#wds.linkis.gateway.url=http://$GATEWAY_INSTALL_IP:$GATEWAY_PORT#g"
$common_conf
-sed -i ${txt}
"s#wds.linkis.eureka.defaultZone.*#wds.linkis.eureka.defaultZone=$EUREKA_URL#g"
$common_conf
+sed -i ${txt}
"s#linkis.discovery.server-address.*#linkis.discovery.server-address=http://$EUREKA_INSTALL_IP:$EUREKA_PORT#g"
$common_conf
sed -i ${txt}
"s#wds.linkis.server.mybatis.datasource.url.*#wds.linkis.server.mybatis.datasource.url=jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DB}?characterEncoding=UTF-8#g"
$common_conf
sed -i ${txt}
"s#wds.linkis.server.mybatis.datasource.username.*#wds.linkis.server.mybatis.datasource.username=$MYSQL_USER#g"
$common_conf
sed -i ${txt}
"s#wds.linkis.server.mybatis.datasource.password.*#wds.linkis.server.mybatis.datasource.password=$MYSQL_PASSWORD#g"
$common_conf
@@ -433,6 +445,7 @@ then
sed -i ${txt}
"s#\#wds.linkis.prometheus.enable.*#wds.linkis.prometheus.enable=true#g"
$common_conf
sed -i ${txt} 's#include: refresh,info.*#include:
refresh,info,health,metrics,prometheus#g'
$LINKIS_HOME/conf/application-linkis.yml
sed -i ${txt} 's#include: refresh,info.*#include:
refresh,info,health,metrics,prometheus#g'
$LINKIS_HOME/conf/application-eureka.yml
+ sed -i ${txt} 's#include: refresh,info.*#include:
refresh,info,health,metrics,prometheus#g'
$LINKIS_HOME/conf/application-engineconn.yml
fi
echo "preveliges linkis command shells"
diff --git a/linkis-dist/package/conf/application-linkis.yml
b/linkis-dist/package/conf/application-engineconn.yml
similarity index 65%
copy from linkis-dist/package/conf/application-linkis.yml
copy to linkis-dist/package/conf/application-engineconn.yml
index 8e9956ab2..4f9610513 100644
--- a/linkis-dist/package/conf/application-linkis.yml
+++ b/linkis-dist/package/conf/application-engineconn.yml
@@ -12,15 +12,28 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-
+spring:
+ application:
+ name: linkis-cg-engineconn
+ servlet:
+ multipart:
+ max-file-size: 500MB
+ max-request-size: 500MB
+ file-size-threshold: 50MB
eureka:
instance:
+ # prefer-ip-address: true
+ # instance-id:
${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
+ lease-renewal-interval-in-seconds: 4
+ lease-expiration-duration-in-seconds: 12
metadata-map:
- prometheus.path: ${prometheus.path:${prometheus.endpoint}}
+ prometheus.path: ${prometheus.path:/api/rest_j/v1/actuator/prometheus}
linkis.app.version: ${linkis.app.version}
client:
serviceUrl:
defaultZone: http://127.0.0.1:20303/eureka/
+ registry-fetch-interval-seconds: 8
+ initial-instance-info-replication-interval-seconds: 10
management:
endpoints:
web:
@@ -29,18 +42,3 @@ management:
logging:
config: classpath:log4j2.xml
-
-pagehelper:
- helper-dialect: mysql
- reasonable: true
- support-methods-arguments: true
- params: countSql
-
-#ribbon:
-# ReadTimeout: 10000
-# ConnectTimeout: 10000
-
-##disable kinif4j.production when you want to use apidoc during development
-knife4j:
- enable: true
- production: true
\ No newline at end of file
diff --git a/linkis-dist/package/conf/application-eureka.yml
b/linkis-dist/package/conf/application-eureka.yml
index 6dcb6c537..fb72b69c7 100644
--- a/linkis-dist/package/conf/application-eureka.yml
+++ b/linkis-dist/package/conf/application-eureka.yml
@@ -23,19 +23,17 @@ server:
eureka:
instance:
+ # prefer-ip-address: true
+ hostname: ${spring.cloud.client.ip-address}
metadata-map:
prometheus.path: ${prometheus.path:/actuator/prometheus}
linkis.app.version: ${linkis.app.version}
- hostname:
-# preferIpAddress: true
client:
-# register-with-eureka: false
-# fetch-registry: false
serviceUrl:
defaultZone: http://127.0.0.1:20303/eureka/
server:
enable-self-preservation: false
- eviction-interval-timer-in-ms: 10000
+ eviction-interval-timer-in-ms: 5000
response-cache-update-interval-ms: 3000
management:
endpoints:
diff --git a/linkis-dist/package/conf/application-linkis.yml
b/linkis-dist/package/conf/application-linkis.yml
index 8e9956ab2..868a94294 100644
--- a/linkis-dist/package/conf/application-linkis.yml
+++ b/linkis-dist/package/conf/application-linkis.yml
@@ -15,12 +15,17 @@
eureka:
instance:
+ # prefer-ip-address: true
+ # instance-id:
${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
+ lease-renewal-interval-in-seconds: 4
+ lease-expiration-duration-in-seconds: 12
metadata-map:
prometheus.path: ${prometheus.path:${prometheus.endpoint}}
linkis.app.version: ${linkis.app.version}
client:
serviceUrl:
defaultZone: http://127.0.0.1:20303/eureka/
+ registry-fetch-interval-seconds: 8
management:
endpoints:
web:
@@ -36,6 +41,12 @@ pagehelper:
support-methods-arguments: true
params: countSql
+spring:
+ servlet:
+ multipart:
+ max-file-size: 500MB
+ max-request-size: 500MB
+ file-size-threshold: 50MB
#ribbon:
# ReadTimeout: 10000
# ConnectTimeout: 10000
diff --git a/linkis-dist/package/conf/linkis.properties
b/linkis-dist/package/conf/linkis.properties
index 97d6aeefa..9116486b0 100644
--- a/linkis-dist/package/conf/linkis.properties
+++ b/linkis-dist/package/conf/linkis.properties
@@ -17,10 +17,12 @@
#wds.linkis.test.mode=true
wds.linkis.server.version=v1
+linkis.discovery.prefer-ip-address=false
+linkis.discovery.server-address=http://127.0.0.1:20303
##spring conf
wds.linkis.gateway.url=http://127.0.0.1:9001
-wds.linkis.eureka.defaultZone=http://127.0.0.1:20303/eureka/
+
##mybatis
wds.linkis.server.mybatis.datasource.url=
wds.linkis.server.mybatis.datasource.username=
@@ -70,11 +72,7 @@ wds.linkis.jobhistory.admin=hadoop
wds.linkis.server.user.restful.uri.pass.auth=/actuator/prometheus,/api/rest_j/v1/offline,/api/rest_j/v1/doc.html,/api/rest_j/v1/swagger-resources,/api/rest_j/v1/webjars,/api/rest_j/v1/v2/api-docs
wds.linkis.gateway.conf.metadataquery.list=metadatamanager,metadataquery
-spring.spring.servlet.multipart.max-file-size=500MB
-spring.spring.servlet.multipart.max-request-size=500MB
-# note:value of zero means Jetty will never write to disk.
https://github.com/spring-projects/spring-boot/issues/9073
-spring.spring.servlet.multipart.file-size-threshold=50MB
# note:
org.springframework.cloud.config.client.ConfigServiceBootstrapConfiguration.configServicePropertySource
need to disable
spring.spring.cloud.config.enabled=false
diff --git a/linkis-dist/package/sbin/ext/linkis-common-start
b/linkis-dist/package/sbin/ext/linkis-common-start
index 2f2ec8906..776a33232 100644
--- a/linkis-dist/package/sbin/ext/linkis-common-start
+++ b/linkis-dist/package/sbin/ext/linkis-common-start
@@ -52,12 +52,6 @@ then
export SERVER_JAVA_OPTS=" $JAVA_AGENT_OPTS -DserviceName=$SERVER_NAME
-Xmx$SERVER_HEAP_SIZE -XX:+UseG1GC
-Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD "
fi
-#SPRING_ARGS
-if [ "$EUREKA_PREFER_IP" == "true" ]; then
- SPRING_ARGS="$SPRING_ARGS --eureka.instance.prefer-ip-address=true "
- SPRING_ARGS="$SPRING_ARGS
--eureka.instance.instance-id=\${spring.cloud.client.ip-address}:\${spring.application.name}:\${server.port}"
-fi
-
## conf dir
export SERVER_CONF_PATH=$LINKIS_CONF_DIR
diff --git a/linkis-dist/package/sbin/ext/linkis-mg-eureka
b/linkis-dist/package/sbin/ext/linkis-mg-eureka
index 9b96da1d6..b2478af36 100644
--- a/linkis-dist/package/sbin/ext/linkis-mg-eureka
+++ b/linkis-dist/package/sbin/ext/linkis-mg-eureka
@@ -85,16 +85,6 @@ if test -z "$EUREKA_INSTALL_IP"
then
export EUREKA_INSTALL_IP=$SERVER_IP
fi
-if [ "true" != "$EUREKA_PREFER_IP" ]
-then
- export EUREKA_HOSTNAME=$EUREKA_INSTALL_IP
-fi
-
-if [ "$EUREKA_PREFER_IP" == "true" ]; then
- SPRING_ARGS="$SPRING_ARGS --eureka.instance.preferIpAddress=true "
-else
- SPRING_ARGS="$SPRING_ARGS --eureka.instance.hostname=$EUREKA_HOSTNAME"
-fi
SPRING_ARGS="$SPRING_ARGS --spring.profiles.active=eureka"
diff --git a/linkis-dist/package/sbin/ext/linkis-mg-gateway
b/linkis-dist/package/sbin/ext/linkis-mg-gateway
index 34df839ba..d643f880c 100644
--- a/linkis-dist/package/sbin/ext/linkis-mg-gateway
+++ b/linkis-dist/package/sbin/ext/linkis-mg-gateway
@@ -56,17 +56,8 @@ then
export SERVER_JAVA_OPTS=" $JAVA_AGENT_OPTS -DserviceName=$SERVER_NAME
-Xmx$SERVER_HEAP_SIZE -XX:+UseG1GC
-Xloggc:$LINKIS_LOG_DIR/${SERVER_NAME}-gc.log $DEBUG_CMD"
fi
-
export
SERVER_CLASS=org.apache.linkis.gateway.springcloud.LinkisGatewayApplication
-
-#SPRING_ARGS
-if [ "$EUREKA_PREFER_IP" == "true" ]; then
- SPRING_ARGS="$SPRING_ARGS --eureka.instance.prefer-ip-address=true "
- SPRING_ARGS="$SPRING_ARGS
--eureka.instance.instance-id=\${spring.cloud.client.ip-address}:\${spring.application.name}:\${server.port}
"
-fi
-
-
## conf dir
export SERVER_CONF_PATH=$LINKIS_CONF_DIR
diff --git
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
index 1f128e056..ad1e7c6a1 100644
---
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
+++
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/scala/org/apache/linkis/cs/highavailable/ha/instancealias/impl/InstanceAliasManagerImpl.scala
@@ -24,7 +24,7 @@ import org.apache.linkis.cs.highavailable.ha.instancealias.{
InstanceAliasManager
}
import org.apache.linkis.rpc.conf.RPCConfiguration
-import org.apache.linkis.rpc.sender.eureka.EurekaRPCServerLoader
+import org.apache.linkis.rpc.sender.spring.SpringRPCServerLoader
import org.apache.linkis.rpc.utils.RPCUtils
import org.apache.commons.lang3.StringUtils
@@ -39,7 +39,7 @@ import scala.collection.JavaConverters._
@Component
class InstanceAliasManagerImpl extends InstanceAliasManager with Logging {
- private val serverLoader = new EurekaRPCServerLoader()
+ private val serverLoader = new SpringRPCServerLoader()
@Autowired
var instanceAliasConverter: InstanceAliasConverter = _
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/SpringCloudInstanceLabelClient.scala
similarity index 93%
rename from
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
rename to
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/SpringCloudInstanceLabelClient.scala
index ca49bc34c..9cb121a76 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/EurekaInstanceLabelClient.scala
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-client/src/main/scala/org/apache/linkis/instance/label/client/SpringCloudInstanceLabelClient.scala
@@ -37,17 +37,17 @@ import org.springframework.stereotype.Component
import java.util
@Component
-class EurekaInstanceLabelClient extends Logging {
+class SpringCloudInstanceLabelClient extends Logging {
@Autowired
private var registration: Registration = _
@EventListener(classes =
Array(classOf[AvailabilityChangeEvent[AvailabilityState]]))
def init(availabilityChangeEvent:
AvailabilityChangeEvent[AvailabilityState]): Unit = {
- logger.info(s"EurekaInstanceLabelClient app state
${availabilityChangeEvent.getState}")
+ logger.info("SpringCloudInstanceLabelClient app state {}",
availabilityChangeEvent.getState)
availabilityChangeEvent.getState match {
case state: ReadinessState if state == ReadinessState.ACCEPTING_TRAFFIC
=>
- logger.info("EurekaInstanceLabelClient init")
+ logger.info("SpringCloudInstanceLabelClient init")
val metadata = registration.getMetadata
if (
null != metadata &&
metadata.containsKey(LabelKeyConstant.ROUTE_KEY) && StringUtils
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
index ef704f4f7..9a5382772 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/InsLabelAutoConfiguration.java
@@ -22,12 +22,12 @@ import
org.apache.linkis.instance.label.service.InsLabelServiceAdapter;
import org.apache.linkis.instance.label.service.annotation.AdapterMode;
import org.apache.linkis.instance.label.service.impl.DefaultInsLabelService;
import
org.apache.linkis.instance.label.service.impl.DefaultInsLabelServiceAdapter;
-import org.apache.linkis.instance.label.service.impl.EurekaInsLabelService;
+import org.apache.linkis.instance.label.service.impl.SpringInsLabelService;
import org.apache.linkis.mybatis.DataSourceConfig;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.cloud.netflix.eureka.EurekaDiscoveryClient;
+import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
@@ -51,7 +51,7 @@ public class InsLabelAutoConfiguration {
}
@ConditionalOnMissingBean({InsLabelServiceAdapter.class})
- @Bean(initMethod = "init")
+ @Bean
public InsLabelServiceAdapter
insLabelServiceAdapter(List<InsLabelAccessService> accessServices) {
LOG.info("Discover instance label accessServices: [" +
accessServices.size() + "]");
InsLabelServiceAdapter insLabelServiceAdapter = new
DefaultInsLabelServiceAdapter();
@@ -70,27 +70,13 @@ public class InsLabelAutoConfiguration {
return insLabelServiceAdapter;
}
- /** Configuration in eureka environment */
- /* @Configuration
- @ConditionalOnClass({EurekaClient.class})*/
- public static class EurekaClientConfiguration {
- @ConditionalOnMissingBean({EurekaInsLabelService.class})
+ /** Configuration in environment */
+ public static class SpringClientConfiguration {
+ @ConditionalOnMissingBean({SpringInsLabelService.class})
@Bean
@Scope("prototype")
- public EurekaInsLabelService eurekaInsLabelService(EurekaDiscoveryClient
discoveryClient) {
- return new EurekaInsLabelService(discoveryClient);
+ public SpringInsLabelService springInsLabelService(DiscoveryClient
discoveryClient) {
+ return new SpringInsLabelService(discoveryClient);
}
}
-
- /**
- * Enable the rpc service
- *
- * @return
- */
- /*//@ConditionalOnExpression("${wds.linkis.is.gateway:false}==false")
- @ConditionalOnMissingBean({InsLabelRpcService.class})
- public InsLabelRpcService insLabelRpcService(){
- LOG.info("Use the default implement of rpc service: [" +
DefaultInsLabelRpcService.class + "]");
- return new DefaultInsLabelRpcService();
- }*/
}
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
index 81553b813..653e6a227 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/conf/InsLabelConf.java
@@ -46,9 +46,6 @@ public class InsLabelConf {
public static final CommonVars<String> CACHE_NAMES =
CommonVars.apply("wds.linkis.instance.label.cache.names",
"instance,label,appInstance");
- public static final CommonVars<String> EUREKA_URL =
- CommonVars.apply("wds.linkis.eureka.defaultZone",
"http://localhost:20303");
-
- public static final CommonVars<String> EUREKA_IPADDRESS =
- CommonVars.apply("wds.linkis.eureka.url", "");
+ public static final CommonVars<String> SERVICE_REGISTRY_ADDRESS =
+ CommonVars.apply("linkis.discovery.server-address",
"http://localhost:20303");
}
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
index 05825cb44..5b333cd6f 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
@@ -44,7 +44,12 @@ import
org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
import com.fasterxml.jackson.databind.JsonNode;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
@@ -53,7 +58,9 @@ import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
-import static
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.*;
+import static
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.INCLUDE_REPEAT;
+import static
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.ONLY_ADMIN_CAN_MODIFY;
+import static
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.ONLY_ADMIN_CAN_VIEW;
@Api(tags = "instance restful")
@RestController
@@ -158,11 +165,11 @@ public class InstanceRestful {
return Message.ok().data("keyList", keyList);
}
- @ApiOperation(value = "getEurekaURL", notes = "get eureka URL", response =
Message.class)
- @RequestMapping(path = "/eurekaURL", method = RequestMethod.GET)
- public Message getEurekaURL(HttpServletRequest request) throws Exception {
- String eurekaURL = insLabelService.getEurekaURL();
- ModuleUserUtils.getOperationUser(request, "upDateInstanceLabel");
- return Message.ok().data("url", eurekaURL);
+ @ApiOperation(value = "getServiceRegistryURL", response = Message.class)
+ @RequestMapping(path = "/serviceRegistryURL", method = RequestMethod.GET)
+ public Message getServiceRegistryURL(HttpServletRequest request) throws
Exception {
+ String serviceRegistryURL = insLabelService.getServiceRegistryURL();
+ ModuleUserUtils.getOperationUser(request, "getServiceRegistryURL");
+ return Message.ok().data("url", serviceRegistryURL);
}
}
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
index ee32210db..5cc3bcc63 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelService.java
@@ -49,16 +49,20 @@ import java.net.InetAddress;
import java.net.URI;
import java.net.URISyntaxException;
import java.net.UnknownHostException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.function.Consumer;
import java.util.stream.Collectors;
+import com.google.common.net.InetAddresses;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static org.apache.commons.lang3.math.NumberUtils.isCreatable;
import static
org.apache.linkis.instance.label.errorcode.LinkisInstanceLabelErrorCodeSummary.INSERT_SERVICE_INSTANCE;
@AdapterMode
@@ -247,58 +251,23 @@ public class DefaultInsLabelService implements
InsLabelAccessService {
instanceInfoDao.updateInstance(instanceInfo);
}
- public String getEurekaURL() throws Exception {
- String eurekaURL = InsLabelConf.EUREKA_IPADDRESS.getValue();
- String realURL = eurekaURL;
- if (eurekaURL.isEmpty()) {
- String defaultZone = InsLabelConf.EUREKA_URL.getValue();
- String tmpURL = urlPreDeal(defaultZone);
- realURL = replaceEurekaURL(tmpURL);
- }
- return realURL;
- }
-
- private String urlPreDeal(String defaultZone) {
- if (defaultZone.contains(",")) {
- defaultZone = defaultZone.split(",")[0];
- }
- String url = defaultZone;
- if
(defaultZone.matches("https?://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]"))
{
- if (defaultZone.toLowerCase().contains("eureka")) {
- url = defaultZone.split("eureka", 2)[0];
- }
- }
- return url;
+ public String getServiceRegistryURL() throws Exception {
+ return
transferToIpAddress(InsLabelConf.SERVICE_REGISTRY_ADDRESS.getValue());
}
- private String replaceEurekaURL(String tmpURL) throws URISyntaxException,
UnknownHostException {
- URI uri = new URI(tmpURL);
- if (isIPAddress(uri.getHost())) {
- if (uri.getHost().equals("127.0.0.1")) {
- String ip = Utils.getLocalHostname();
- return tmpURL.replace("127.0.0.1", ip);
+ private String transferToIpAddress(String url) throws URISyntaxException,
UnknownHostException {
+ URI uri = new URI(url);
+ String hostname = uri.getHost();
+ InetAddress address = InetAddress.getByName(hostname);
+ if (InetAddresses.isInetAddress(hostname)) {
+ if (address.isLoopbackAddress()) {
+ return url.replace(hostname, Utils.getLocalHostname());
} else {
- return tmpURL;
+ return url;
}
} else {
- String hostname = uri.getHost();
- InetAddress address = InetAddress.getByName(hostname);
- String realAddress = address.getHostAddress();
- return tmpURL.replace(hostname, realAddress);
- }
- }
-
- private boolean isIPAddress(String tmpURL) {
- String[] urlArray = tmpURL.split(".");
- if (urlArray.length == 4) {
- if (isCreatable(urlArray[0])
- && isCreatable(urlArray[1])
- && isCreatable(urlArray[2])
- && isCreatable(urlArray[3])) {
- return true;
- }
+ return url.replace(hostname, address.getHostAddress());
}
- return false;
}
/**
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
index 90cf56b4e..30db21be2 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/DefaultInsLabelServiceAdapter.java
@@ -23,6 +23,8 @@ import
org.apache.linkis.instance.label.service.InsLabelAccessService;
import org.apache.linkis.instance.label.service.InsLabelServiceAdapter;
import org.apache.linkis.manager.label.entity.Label;
+import javax.annotation.PostConstruct;
+
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
@@ -36,6 +38,7 @@ public class DefaultInsLabelServiceAdapter implements
InsLabelServiceAdapter {
private List<AccessServiceContext> serviceContexts = new ArrayList<>();
+ @PostConstruct
public void init() {
this.serviceContexts.sort(
(left, right) -> {
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/EurekaInsLabelService.java
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/SpringInsLabelService.java
similarity index 92%
rename from
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/EurekaInsLabelService.java
rename to
linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/SpringInsLabelService.java
index e030f62a4..de47eda07 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/EurekaInsLabelService.java
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/service/impl/SpringInsLabelService.java
@@ -23,14 +23,14 @@ import
org.apache.linkis.instance.label.service.InsLabelAccessService;
import org.apache.linkis.instance.label.service.annotation.AdapterMode;
import org.apache.linkis.manager.label.entity.Label;
-import org.springframework.cloud.netflix.eureka.EurekaDiscoveryClient;
+import org.springframework.cloud.client.discovery.DiscoveryClient;
import java.util.List;
@AdapterMode
-public class EurekaInsLabelService implements InsLabelAccessService {
+public class SpringInsLabelService implements InsLabelAccessService {
- public EurekaInsLabelService(EurekaDiscoveryClient discoveryClient) {}
+ public SpringInsLabelService(DiscoveryClient discoveryClient) {}
@Override
public void attachLabelToInstance(Label<?> label, ServiceInstance
serviceInstance) {}
diff --git
a/linkis-spring-cloud-services/linkis-service-discovery/linkis-eureka/src/main/java/org/apache/linkis/eureka/conf/EurekaSecurityConfig.java
b/linkis-spring-cloud-services/linkis-service-discovery/linkis-eureka/src/main/java/org/apache/linkis/eureka/conf/EurekaSecurityConfig.java
deleted file mode 100644
index 87749a70c..000000000
---
a/linkis-spring-cloud-services/linkis-service-discovery/linkis-eureka/src/main/java/org/apache/linkis/eureka/conf/EurekaSecurityConfig.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.linkis.eureka.conf;
-
-// import
org.springframework.security.config.annotation.web.builders.HttpSecurity;
-// import
org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-// import
-//
org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
-
-/*@EnableWebSecurity
-public class EurekaSecurityConfig extends WebSecurityConfigurerAdapter {
- @Override
- protected void configure(HttpSecurity http) throws Exception {
- http.csrf().disable();
- super.configure(http);
- }
-}*/
diff --git a/linkis-web/package.json b/linkis-web/package.json
index 03eb8a853..91022dc50 100644
--- a/linkis-web/package.json
+++ b/linkis-web/package.json
@@ -61,7 +61,7 @@
"babel-eslint": "10.1.0",
"copy-webpack-plugin": "4.6.0",
"csp-html-webpack-plugin": "4.0.0",
- "filemanager-webpack-plugin": "6.1.7",
+ "filemanager-webpack-plugin": "3.1.1",
"husky": "1.3.1",
"lint-staged": "8.2.1",
"material-design-icons": "3.0.1",
diff --git a/linkis-web/src/apps/linkis/i18n/common/en.json
b/linkis-web/src/apps/linkis/i18n/common/en.json
index 5ce625613..0797c58c0 100644
--- a/linkis-web/src/apps/linkis/i18n/common/en.json
+++ b/linkis-web/src/apps/linkis/i18n/common/en.json
@@ -14,7 +14,7 @@
"addAppType": "Add Application Type",
"editContents": "Add Contents",
"ConfirmEdit": "Done",
- "eurekaRegisterCenter": "Eureka Register Center",
+ "serviceRegistryCenter": "Service Registry Center",
"addTags": "Add Tags",
"unfold": "Unfold",
"fold": "Fold",
diff --git a/linkis-web/src/apps/linkis/i18n/common/zh.json
b/linkis-web/src/apps/linkis/i18n/common/zh.json
index e06ecd046..cb6a97bdd 100644
--- a/linkis-web/src/apps/linkis/i18n/common/zh.json
+++ b/linkis-web/src/apps/linkis/i18n/common/zh.json
@@ -7,7 +7,7 @@
"addAppType": "新增应用类型",
"editContents": "编辑目录",
"ConfirmEdit": "完成编辑",
- "eurekaRegisterCenter": "Eureka注册中心",
+ "serviceRegistryCenter": "服务注册中心",
"addParameterConfig": "新增参数配置",
"addEngineType": "新增引擎类型",
"editDescriptionEngineConfig": "编辑引擎配置",
diff --git a/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue
b/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue
index e85d3675b..a99c6d8bc 100644
--- a/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue
+++ b/linkis-web/src/apps/linkis/module/microServiceManagement/index.vue
@@ -46,8 +46,8 @@
<Button class="search" type="primary" @click="searchAction">{{
$t("message.linkis.find")
}}</Button>
- <!-- jump(跳转) -->
- <Button class="jump" type="primary" @click="handleTabsJump">{{
$t("message.linkis.eurekaRegisterCenter") }}</Button>
+ <!-- 跳转 -->
+ <Button class="jump" type="primary" @click="handleTabsJump">{{
$t("message.linkis.serviceRegistryCenter") }}</Button>
</Col>
</Row>
<Table
@@ -256,7 +256,7 @@ export default {
},
//Jump to Microservices(跳转到微服务)
handleTabsJump() {
- api.fetch("/microservice/eurekaURL", "get").then((rst) => {
+ api.fetch("/microservice/serviceRegistryURL", "get").then((rst) => {
window.open(rst.url, "_blank");
});
},
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]