Commit be150742 authored by wenmo's avatar wenmo

优化K8S Application提交配置

parent a68a902e
......@@ -2,10 +2,12 @@ package com.dlink.app;
import com.dlink.app.db.DBConfig;
import com.dlink.app.flinksql.Submiter;
import org.apache.flink.api.java.utils.ParameterTool;
import com.dlink.assertion.Asserts;
import com.dlink.constant.FlinkParamConstant;
import com.dlink.utils.FlinkBaseUtil;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.Map;
/**
* MainApp
......@@ -16,11 +18,10 @@ import java.time.LocalDateTime;
public class MainApp {
public static void main(String[] args) throws IOException {
ParameterTool parameters = ParameterTool.fromArgs(args);
String id = parameters.get("id", null);
if (id!=null&&!"".equals(id)) {
DBConfig dbConfig = DBConfig.build(parameters);
Submiter.submit(Integer.valueOf(id),dbConfig);
}
Map<String, String> params = FlinkBaseUtil.getParamsFromArgs(args);
String id = params.get(FlinkParamConstant.ID);
Asserts.checkNullString(id, "请配置入参 id ");
DBConfig dbConfig = DBConfig.build(params);
Submiter.submit(Integer.valueOf(id), dbConfig);
}
}
package com.dlink.app.db;
import org.apache.flink.api.java.utils.ParameterTool;
import com.dlink.constant.FlinkParamConstant;
import java.util.Map;
/**
* DBConfig
......@@ -27,11 +29,11 @@ public class DBConfig {
}
public static DBConfig build(ParameterTool parameters){
return new DBConfig(parameters.get("driver", null),
parameters.get("url", null),
parameters.get("username", null),
parameters.get("password", null));
public static DBConfig build(Map<String, String> params){
return new DBConfig(params.get(FlinkParamConstant.DRIVER),
params.get(FlinkParamConstant.URL),
params.get(FlinkParamConstant.USERNAME),
params.get(FlinkParamConstant.PASSWORD));
}
public String getDriver() {
......
......@@ -55,7 +55,7 @@ import java.util.Map;
* @author wenmo
* @since 2021/6/7 22:06
**/
public class CustomTableEnvironmentImpl extends TableEnvironmentImpl implements CustomTableEnvironment{
public class CustomTableEnvironmentImpl extends TableEnvironmentImpl implements CustomTableEnvironment {
protected CustomTableEnvironmentImpl(CatalogManager catalogManager, ModuleManager moduleManager, TableConfig tableConfig, Executor executor, FunctionCatalog functionCatalog, Planner planner, boolean isStreamingMode, ClassLoader userClassLoader) {
super(catalogManager, moduleManager, tableConfig, executor, functionCatalog, planner, isStreamingMode, userClassLoader);
......
......@@ -59,7 +59,7 @@ public class CustomTableResultImpl implements TableResult {
Preconditions.checkNotNull(sessionTimeZone, "sessionTimeZone should not be null");
}
public static TableResult buildTableResult(List<TableSchemaField> fields, List<Row> rows){
public static TableResult buildTableResult(List<TableSchemaField> fields,List<Row> rows){
Builder builder = builder().resultKind(ResultKind.SUCCESS);
if(fields.size()>0) {
List<String> columnNames = new ArrayList<>();
......
......@@ -24,39 +24,6 @@
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-bom</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.dlink</groupId>
......@@ -98,97 +65,7 @@
<version>${flink.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<type>pom</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!-- For jdk 11 above JavaEE annotation -->
<profile>
<id>javax.annotation</id>
<activation>
<jdk>[1.11,)</jdk>
</activation>
<dependencies>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>provider</id>
<build>
<plugins>
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<finalName>provider</finalName>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.dlink.BasicProvider</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>consumer</id>
<build>
<plugins>
<plugin>
<!-- Build an executable JAR -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<finalName>consumer</finalName>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.dlink.BasicConsumer</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<build>
<plugins>
<plugin>
......@@ -200,7 +77,6 @@
<target>${target.level}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
......
package com.dlink.constant;
/**
* FlinkParam
*
* @author wenmo
* @since 2022/3/9 19:18
*/
public final class FlinkParamConstant {
public static final String ID = "id";
public static final String DRIVER = "driver";
public static final String URL = "url";
public static final String USERNAME = "username";
public static final String PASSWORD = "password";
}
package com.dlink.utils;
import com.dlink.constant.FlinkParamConstant;
import org.apache.flink.api.java.utils.ParameterTool;
import java.util.HashMap;
import java.util.Map;
/**
* FlinkBaseUtil
*
* @author wenmo
* @since 2022/3/9 19:15
*/
public class FlinkBaseUtil {
public static Map<String,String> getParamsFromArgs(String[] args){
Map<String,String> params = new HashMap<>();
ParameterTool parameters = ParameterTool.fromArgs(args);
params.put(FlinkParamConstant.ID,parameters.get(FlinkParamConstant.ID, null));
params.put(FlinkParamConstant.DRIVER,parameters.get(FlinkParamConstant.DRIVER, null));
params.put(FlinkParamConstant.URL,parameters.get(FlinkParamConstant.URL, null));
params.put(FlinkParamConstant.USERNAME,parameters.get(FlinkParamConstant.USERNAME, null));
params.put(FlinkParamConstant.PASSWORD,parameters.get(FlinkParamConstant.PASSWORD, null));
return params;
}
}
......@@ -22,14 +22,6 @@
<groupId>com.dlink</groupId>
<artifactId>dlink-common</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
......
......@@ -57,9 +57,8 @@ public abstract class KubernetesGateway extends AbstractGateway {
if(Asserts.isNotNullString(config.getFlinkConfig().getSavePoint())) {
configuration.setString(SavepointConfigOptions.SAVEPOINT_PATH, config.getFlinkConfig().getSavePoint());
}
configuration.set(YarnConfigOptions.PROVIDED_LIB_DIRS, Collections.singletonList(config.getClusterConfig().getFlinkLibPath()));
if(Asserts.isNotNullString(config.getFlinkConfig().getJobName())) {
configuration.set(YarnConfigOptions.APPLICATION_NAME, config.getFlinkConfig().getJobName());
configuration.set(KubernetesConfigOptions.CLUSTER_ID, config.getFlinkConfig().getJobName());
}
}
......
......@@ -50,7 +50,7 @@ const ClusterConfigurationForm: React.FC<ClusterConfigurationFormProps> = (props
name={configItem.name}
label={configItem.lable}
>
<Input placeholder={configItem.placeholder}/>
<Input placeholder={configItem.placeholder} defaultValue={configItem.defaultValue}/>
</Form.Item>)
});
return itemList;
......
......@@ -2,6 +2,7 @@ export type Config = {
name: string,
lable: string,
placeholder: string
defaultValue?: string
}
export const HADOOP_CONFIG_LIST: Config[] = [{
......@@ -21,6 +22,11 @@ export const KUBERNETES_CONFIG_LIST: Config[] = [{
name: 'kubernetes.container.image',
lable: 'kubernetes.container.image',
placeholder: 'dlink',
},{
name: 'kubernetes.rest-service.exposed.type',
lable: 'kubernetes.rest-service.exposed.type',
placeholder: 'NodePort',
defaultValue: 'NodePort',
}];
export const FLINK_CONFIG_LIST: Config[] = [{
name: 'jobmanager.memory.process.size',
......
......@@ -707,6 +707,9 @@ export default (): React.ReactNode => {
<li>
<Link>新增 实时自动告警</Link>
</li>
<li>
<Link>优化 K8S Application 提交配置</Link>
</li>
</ul>
</Paragraph>
</Timeline.Item>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment