optimize configure file

1.remove yarn related config
2.remove bundle path config
3.remove debug.path, checkpointPath and incrementPath config
This commit is contained in:
judy0131 2020-01-17 18:03:06 +08:00
parent 4f41ba9378
commit c0991b3cda
10 changed files with 160 additions and 54 deletions

View File

@ -1,24 +1,26 @@
server.ip=10.0.86.98 server.ip=10.0.86.98
server.port=8001 server.port=8001
piflow.bundle=/opt/project/piflow/piflow-server/target/piflow-server-0.9.jar
spark.master=yarn spark.master=yarn
spark.deploy.mode=cluster spark.deploy.mode=cluster
fs.defaultFS=hdfs://10.0.86.191:9000
yarn.resourcemanager.hostname=10.0.86.191 yarn.resourcemanager.hostname=10.0.86.191
yarn.resourcemanager.address=10.0.86.191:8032 #yarn.resourcemanager.address=10.0.86.191:8032
yarn.access.namenode=hdfs://10.0.86.191:9000 #yarn.access.namenode=hdfs://10.0.86.191:9000
yarn.stagingDir=hdfs://10.0.86.191:9000/tmp/ #yarn.stagingDir=hdfs://10.0.86.191:9000/tmp/
yarn.jars=hdfs://10.0.86.191:9000/user/spark/share/lib/*.jar #yarn.jars=hdfs://10.0.86.191:9000/user/spark/share/lib/*.jar
yarn.url=http://10.0.86.191:8088/ws/v1/cluster/apps/ yarn.url=http://10.0.86.191:8088/ws/v1/cluster/apps/
hive.metastore.uris=thrift://10.0.88.71:9083 hive.metastore.uris=thrift://10.0.88.71:9083
#Hdfs path, these paths will be created autometicly #Hdfs path, these paths will be created autometicly
checkpoint.path=hdfs://10.0.86.89:9000/user/piflow/checkpoints/ #checkpoint.path=hdfs://10.0.86.89:9000/user/piflow/checkpoints/
debug.path=hdfs://10.0.86.89:9000/user/piflow/debug/ #debug.path=hdfs://10.0.86.89:9000/user/piflow/debug/
increment.path=hdfs://10.0.86.89:9000/user/piflow/increment/ #increment.path=hdfs://10.0.86.89:9000/user/piflow/increment/
#show data in log, set 0 if you do not show the logs #show data in log, set 0 if you do not show the logs
data.show=10 data.show=10
@ -27,3 +29,6 @@ data.show=10
monitor.throughput=true monitor.throughput=true
h2.port=50001 h2.port=50001
piflow.bundle=piflow-server/target/piflow-server-0.9.jar

View File

@ -1,6 +1,6 @@
package cn.piflow.conf package cn.piflow.conf
import cn.piflow.util.{HdfsUtil, PropertyUtil} import cn.piflow.util.{ConfigureUtil, HdfsUtil, PropertyUtil}
import cn.piflow.{IncrementalStop, JobContext} import cn.piflow.{IncrementalStop, JobContext}
/** /**
@ -12,7 +12,7 @@ abstract class ConfigurableIncrementalStop extends ConfigurableStop with Increme
override var incrementalPath: String = _ override var incrementalPath: String = _
override def init(flowName : String, stopName : String): Unit = { override def init(flowName : String, stopName : String): Unit = {
incrementalPath = PropertyUtil.getPropertyValue("increment.path").stripSuffix("/") + "/" + flowName + "/" + stopName incrementalPath = ConfigureUtil.getIncrementPath().stripSuffix("/") + "/" + flowName + "/" + stopName
} }

View File

@ -0,0 +1,77 @@
package cn.piflow.util
import java.io.{FileInputStream, InputStream}
import java.util.Properties
object ConfigureUtil {
val NOT_EXIST_FLAG = 0
val EXIST_FLAG = 1
def getCheckpointPath() : String = {
val item = "checkPointPath"
val hdfsFS = PropertyUtil.getPropertyValue("fs.defaultFS")
val checkpointPath = hdfsFS + "/user/piflow/checkpoints/"
val isCheckPointPathExist = H2Util.getFlag(item)
if(isCheckPointPathExist == NOT_EXIST_FLAG){
if(!HdfsUtil.exists(hdfsFS,checkpointPath)){
HdfsUtil.mkdir(hdfsFS,checkpointPath)
}
H2Util.addFlag(item, EXIST_FLAG)
}else{
checkpointPath
}
checkpointPath
}
def getDebugPath():String = {
val item = "debugPath"
val hdfsFS = PropertyUtil.getPropertyValue("fs.defaultFS")
val debugPath = hdfsFS + "/user/piflow/debug/"
val isDebugPathExist = H2Util.getFlag(item)
if(isDebugPathExist == NOT_EXIST_FLAG){
if(!HdfsUtil.exists(hdfsFS,debugPath)){
HdfsUtil.mkdir(hdfsFS,debugPath)
}
H2Util.addFlag(item, EXIST_FLAG)
}else{
debugPath
}
debugPath
}
def getIncrementPath():String = {
val item = "incrementPath"
val hdfsFS = PropertyUtil.getPropertyValue("fs.defaultFS")
val incrementPath = hdfsFS + "/user/piflow/increment/"
val isIncrementPathExist = H2Util.getFlag(item)
if(isIncrementPathExist == NOT_EXIST_FLAG){
if(!HdfsUtil.exists(hdfsFS,incrementPath)){
HdfsUtil.mkdir(hdfsFS,incrementPath)
}
H2Util.addFlag(item, EXIST_FLAG)
}else{
incrementPath
}
incrementPath
}
def getPiFlowBundlePath():String = {
val userDir = System.getProperty("user.dir")
var piflowBundlePath = PropertyUtil.getPropertyValue("piflow.bundle")
if(piflowBundlePath == null){
piflowBundlePath = userDir + "/lib/piflow-server-0.9.jar"
}
else
piflowBundlePath = userDir + "/" + piflowBundlePath
piflowBundlePath
}
def main(args: Array[String]): Unit = {
val piflowBundlePath = getPiFlowBundlePath()
}
}

View File

@ -30,9 +30,9 @@ object FlowLauncher {
.setAppName(flow.getFlowName()) .setAppName(flow.getFlowName())
.setMaster(PropertyUtil.getPropertyValue("spark.master")) .setMaster(PropertyUtil.getPropertyValue("spark.master"))
.setDeployMode(PropertyUtil.getPropertyValue("spark.deploy.mode")) .setDeployMode(PropertyUtil.getPropertyValue("spark.deploy.mode"))
.setAppResource(PropertyUtil.getPropertyValue("piflow.bundle")) .setAppResource(ConfigureUtil.getPiFlowBundlePath())
.setVerbose(true) .setVerbose(true)
.setConf("spark.jars", PropertyUtil.getPropertyValue("piflow.bundle")) //.setConf("spark.jars", PropertyUtil.getPropertyValue("piflow.bundle"))
.setConf("spark.hive.metastore.uris",PropertyUtil.getPropertyValue("hive.metastore.uris")) .setConf("spark.hive.metastore.uris",PropertyUtil.getPropertyValue("hive.metastore.uris"))
.setConf("spark.driver.memory", flow.getDriverMemory()) .setConf("spark.driver.memory", flow.getDriverMemory())
.setConf("spark.executor.instances", flow.getExecutorNum()) .setConf("spark.executor.instances", flow.getExecutorNum())
@ -46,8 +46,12 @@ object FlowLauncher {
sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.hostname", PropertyUtil.getPropertyValue("yarn.resourcemanager.hostname")) sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.hostname", PropertyUtil.getPropertyValue("yarn.resourcemanager.hostname"))
if(PropertyUtil.getPropertyValue("yarn.resourcemanager.address") != null) if(PropertyUtil.getPropertyValue("yarn.resourcemanager.address") != null)
sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.address", PropertyUtil.getPropertyValue("yarn.resourcemanager.address")) sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.address", PropertyUtil.getPropertyValue("yarn.resourcemanager.address"))
if(PropertyUtil.getPropertyValue("yarn.access.namenode") != null)
sparkLauncher.setConf("spark.yarn.access.namenode", PropertyUtil.getPropertyValue("yarn.access.namenode")) if(PropertyUtil.getPropertyValue("spark.yarn.access.namenode") != null)
sparkLauncher.setConf("spark.yarn.access.namenode", PropertyUtil.getPropertyValue("spark.yarn.access.namenode"))
else
sparkLauncher.setConf("spark.yarn.access.namenode", PropertyUtil.getPropertyValue("fs.defaultFS"))
if(PropertyUtil.getPropertyValue("yarn.stagingDir") != null) if(PropertyUtil.getPropertyValue("yarn.stagingDir") != null)
sparkLauncher.setConf("spark.yarn.stagingDir", PropertyUtil.getPropertyValue("yarn.stagingDir")) sparkLauncher.setConf("spark.yarn.stagingDir", PropertyUtil.getPropertyValue("yarn.stagingDir"))
if(PropertyUtil.getPropertyValue("yarn.jars") != null) if(PropertyUtil.getPropertyValue("yarn.jars") != null)

View File

@ -1,5 +1,6 @@
package cn.piflow.util package cn.piflow.util
import java.net.InetAddress
import java.sql.{Connection, DriverManager, ResultSet} import java.sql.{Connection, DriverManager, ResultSet}
import java.util.Date import java.util.Date
@ -15,7 +16,11 @@ object H2Util {
val CREATE_FLOW_TABLE = "create table if not exists flow (id varchar(255), groupId varchar(255), projectId varchar(255), pid varchar(255), name varchar(255), state varchar(255), startTime varchar(255), endTime varchar(255))" val CREATE_FLOW_TABLE = "create table if not exists flow (id varchar(255), groupId varchar(255), projectId varchar(255), pid varchar(255), name varchar(255), state varchar(255), startTime varchar(255), endTime varchar(255))"
val CREATE_STOP_TABLE = "create table if not exists stop (flowId varchar(255), name varchar(255), state varchar(255), startTime varchar(255), endTime varchar(255))" val CREATE_STOP_TABLE = "create table if not exists stop (flowId varchar(255), name varchar(255), state varchar(255), startTime varchar(255), endTime varchar(255))"
val CREATE_THOUGHPUT_TABLE = "create table if not exists thoughput (flowId varchar(255), stopName varchar(255), portName varchar(255), count long)" val CREATE_THOUGHPUT_TABLE = "create table if not exists thoughput (flowId varchar(255), stopName varchar(255), portName varchar(255), count long)"
val CREATE_FLAG_TABLE = "create table if not exists configFlag(id bigint auto_increment, item varchar(255), flag int, createTime varchar(255))"
val serverIP = PropertyUtil.getPropertyValue("server.ip") + ":" + PropertyUtil.getPropertyValue("h2.port") val serverIP = PropertyUtil.getPropertyValue("server.ip") + ":" + PropertyUtil.getPropertyValue("h2.port")
//val ip = InetAddress.getLocalHost.getHostAddress
//val serverIP = ip + ":" + PropertyUtil.getPropertyValue("h2.port")
//print("getHostAddress:" + ip + " in H2Util!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1")
val CONNECTION_URL = "jdbc:h2:tcp://" + serverIP + "/~/piflow;AUTO_SERVER=true" val CONNECTION_URL = "jdbc:h2:tcp://" + serverIP + "/~/piflow;AUTO_SERVER=true"
var connection : Connection= null var connection : Connection= null
@ -28,6 +33,7 @@ object H2Util {
statement.executeUpdate(CREATE_FLOW_TABLE) statement.executeUpdate(CREATE_FLOW_TABLE)
statement.executeUpdate(CREATE_STOP_TABLE) statement.executeUpdate(CREATE_STOP_TABLE)
statement.executeUpdate(CREATE_THOUGHPUT_TABLE) statement.executeUpdate(CREATE_THOUGHPUT_TABLE)
statement.executeUpdate(CREATE_FLAG_TABLE)
statement.close() statement.close()
}catch { }catch {
case ex => println(ex) case ex => println(ex)
@ -53,6 +59,7 @@ object H2Util {
statement.executeUpdate("drop table if exists flow") statement.executeUpdate("drop table if exists flow")
statement.executeUpdate("drop table if exists stop") statement.executeUpdate("drop table if exists stop")
statement.executeUpdate("drop table if exists thoughput") statement.executeUpdate("drop table if exists thoughput")
statement.executeUpdate("drop table if exists flag")
statement.close() statement.close()
} catch{ } catch{
@ -622,6 +629,27 @@ object H2Util {
Map[String, Any]("project" -> projectInfoMap) Map[String, Any]("project" -> projectInfoMap)
} }
def addFlag(item:String, flag:Int) : Unit = {
val createTime = new Date().toString
val statement = getConnectionInstance().createStatement()
statement.setQueryTimeout(QUERY_TIME)
statement.executeUpdate("insert into configFlag(item, flag, createTime) values('" + item + "','" + flag + "','" + createTime +"')")
statement.close()
}
def getFlag(item : String) : Int = {
val statement = getConnectionInstance().createStatement()
statement.setQueryTimeout(QUERY_TIME)
var flag = 0
val flowGroupRS : ResultSet = statement.executeQuery("select flag from configFlag where item='" + item +"'")
if (flowGroupRS.next()){
flag = flowGroupRS.getInt("flag")
}
return flag
}
def main(args: Array[String]): Unit = { def main(args: Array[String]): Unit = {

View File

@ -0,0 +1 @@
create table if not exists configFlag(id bigint auto_increment, item varchar(255), flag int, createTime varchar(255))

View File

@ -11,7 +11,7 @@ import cn.piflow.conf.util.{ClassUtil, MapUtil, OptionUtil}
import cn.piflow.{FlowGroupExecution, Process, ProjectExecution, Runner} import cn.piflow.{FlowGroupExecution, Process, ProjectExecution, Runner}
import cn.piflow.api.util.PropertyUtil import cn.piflow.api.util.PropertyUtil
import cn.piflow.conf.bean.{FlowGroupBean, ProjectBean} import cn.piflow.conf.bean.{FlowGroupBean, ProjectBean}
import cn.piflow.util.{FileUtil, FlowState, H2Util, HdfsUtil} import cn.piflow.util._
import org.apache.hadoop.conf.Configuration import org.apache.hadoop.conf.Configuration
import org.apache.hadoop.fs.{FileSystem, Path} import org.apache.hadoop.fs.{FileSystem, Path}
import org.apache.http.client.methods.{CloseableHttpResponse, HttpGet, HttpPost, HttpPut} import org.apache.http.client.methods.{CloseableHttpResponse, HttpGet, HttpPost, HttpPut}
@ -37,8 +37,8 @@ object API {
val project = projectBean.constructProject() val project = projectBean.constructProject()
val projectExecution = Runner.create() val projectExecution = Runner.create()
.bind("checkpoint.path",PropertyUtil.getPropertyValue("checkpoint.path")) .bind("checkpoint.path",ConfigureUtil.getCheckpointPath())
.bind("debug.path",PropertyUtil.getPropertyValue("debug.path")) .bind("debug.path",ConfigureUtil.getDebugPath())
.start(project); .start(project);
projectExecution projectExecution
@ -67,8 +67,8 @@ object API {
val flowGroup = flowGroupBean.constructFlowGroup() val flowGroup = flowGroupBean.constructFlowGroup()
val flowGroupExecution = Runner.create() val flowGroupExecution = Runner.create()
.bind("checkpoint.path",PropertyUtil.getPropertyValue("checkpoint.path")) .bind("checkpoint.path",ConfigureUtil.getCheckpointPath())
.bind("debug.path",PropertyUtil.getPropertyValue("debug.path")) .bind("debug.path",ConfigureUtil.getDebugPath())
.start(flowGroup); .start(flowGroup);
flowGroupExecution flowGroupExecution
@ -113,7 +113,7 @@ object API {
.setAppName(appName) .setAppName(appName)
.setMaster(PropertyUtil.getPropertyValue("spark.master")) .setMaster(PropertyUtil.getPropertyValue("spark.master"))
.setDeployMode(PropertyUtil.getPropertyValue("spark.deploy.mode")) .setDeployMode(PropertyUtil.getPropertyValue("spark.deploy.mode"))
.setAppResource(PropertyUtil.getPropertyValue("piflow.bundle")) .setAppResource(ConfigureUtil.getPiFlowBundlePath())
.setVerbose(true) .setVerbose(true)
.setConf("spark.hive.metastore.uris",PropertyUtil.getPropertyValue("hive.metastore.uris")) .setConf("spark.hive.metastore.uris",PropertyUtil.getPropertyValue("hive.metastore.uris"))
.setConf("spark.driver.memory", dirverMem) .setConf("spark.driver.memory", dirverMem)
@ -136,13 +136,18 @@ object API {
sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.hostname", PropertyUtil.getPropertyValue("yarn.resourcemanager.hostname")) sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.hostname", PropertyUtil.getPropertyValue("yarn.resourcemanager.hostname"))
if(PropertyUtil.getPropertyValue("yarn.resourcemanager.address") != null) if(PropertyUtil.getPropertyValue("yarn.resourcemanager.address") != null)
sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.address", PropertyUtil.getPropertyValue("yarn.resourcemanager.address")) sparkLauncher.setConf("spark.hadoop.yarn.resourcemanager.address", PropertyUtil.getPropertyValue("yarn.resourcemanager.address"))
if(PropertyUtil.getPropertyValue("yarn.access.namenode") != null)
sparkLauncher.setConf("spark.yarn.access.namenode", PropertyUtil.getPropertyValue("yarn.access.namenode")) if(PropertyUtil.getPropertyValue("spark.yarn.access.namenode") != null)
sparkLauncher.setConf("spark.yarn.access.namenode", PropertyUtil.getPropertyValue("spark.yarn.access.namenode"))
else
sparkLauncher.setConf("spark.yarn.access.namenode", PropertyUtil.getPropertyValue("fs.defaultFS"))
if(PropertyUtil.getPropertyValue("yarn.stagingDir") != null) if(PropertyUtil.getPropertyValue("yarn.stagingDir") != null)
sparkLauncher.setConf("spark.yarn.stagingDir", PropertyUtil.getPropertyValue("yarn.stagingDir")) sparkLauncher.setConf("spark.yarn.stagingDir", PropertyUtil.getPropertyValue("yarn.stagingDir"))
if(PropertyUtil.getPropertyValue("yarn.jars") != null) if(PropertyUtil.getPropertyValue("yarn.jars") != null)
sparkLauncher.setConf("spark.yarn.jars", PropertyUtil.getPropertyValue("yarn.jars")) sparkLauncher.setConf("spark.yarn.jars", PropertyUtil.getPropertyValue("yarn.jars"))
val handle = sparkLauncher.startApplication( new SparkAppHandle.Listener { val handle = sparkLauncher.startApplication( new SparkAppHandle.Listener {
override def stateChanged(handle: SparkAppHandle): Unit = { override def stateChanged(handle: SparkAppHandle): Unit = {
appId = handle.getAppId appId = handle.getAppId
@ -230,7 +235,7 @@ object API {
} }
def getFlowCheckpoint(appId:String) : String = { def getFlowCheckpoint(appId:String) : String = {
val checkpointPath = PropertyUtil.getPropertyValue("checkpoint.path").stripSuffix("/") + "/" + appId val checkpointPath = ConfigureUtil.getCheckpointPath().stripSuffix("/") + "/" + appId
val checkpointList = HdfsUtil.getFiles(checkpointPath) val checkpointList = HdfsUtil.getFiles(checkpointPath)
"""{"checkpoints":"""" + checkpointList.mkString(",") + """"}""" """{"checkpoints":"""" + checkpointList.mkString(",") + """"}"""
} }
@ -259,7 +264,7 @@ object API {
val json = """{"debugInfo" : [ """ + result + """]}""" val json = """{"debugInfo" : [ """ + result + """]}"""
json*/ json*/
val debugPath :String = PropertyUtil.getPropertyValue("debug.path").stripSuffix("/") + "/" + appId + "/" + stopName + "/" + port; val debugPath :String = ConfigureUtil.getDebugPath().stripSuffix("/") + "/" + appId + "/" + stopName + "/" + port;
val schema = HdfsUtil.getLine(debugPath + "_schema") val schema = HdfsUtil.getLine(debugPath + "_schema")
val result ="{\"schema\":\"" + schema+ "\", \"debugDataPath\": \""+ debugPath + "\"}" val result ="{\"schema\":\"" + schema+ "\", \"debugDataPath\": \""+ debugPath + "\"}"
result result

View File

@ -1,5 +1,7 @@
package cn.piflow.api package cn.piflow.api
import java.net.InetAddress
import akka.actor.{ActorRef, ActorSystem, Props} import akka.actor.{ActorRef, ActorSystem, Props}
import akka.http.scaladsl.Http import akka.http.scaladsl.Http
import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport import akka.http.scaladsl.marshallers.sprayjson.SprayJsonSupport
@ -444,7 +446,9 @@ object HTTPService extends DefaultJsonProtocol with Directives with SprayJsonSup
def run = { def run = {
val ip = PropertyUtil.getPropertyValue("server.ip") //val ip = PropertyUtil.getPropertyValue("server.ip")
val ip = InetAddress.getLocalHost.getHostAddress
print("getHostAddress:" + ip + " in HTTPService!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1")
val port = PropertyUtil.getIntPropertyValue("server.port") val port = PropertyUtil.getIntPropertyValue("server.port")
Http().bindAndHandleAsync(route, ip, port) Http().bindAndHandleAsync(route, ip, port)
println("Server:" + ip + ":" + port + " Started!!!") println("Server:" + ip + ":" + port + " Started!!!")
@ -454,30 +458,14 @@ object HTTPService extends DefaultJsonProtocol with Directives with SprayJsonSup
object Main { object Main {
/*def preparedPath() = {
val checkpointPath = PropertyUtil.getPropertyValue("checkpoint.path")
val fsDefaultName = "hdfs://10.0.86.89:9000"
if(!HdfsUtil.exists(fsDefaultName,checkpointPath)){
HdfsUtil.mkdir(fsDefaultName,checkpointPath)
}
val debugPath = PropertyUtil.getPropertyValue("debug.path")
if(!HdfsUtil.exists(debugPath)){
HdfsUtil.mkdir(debugPath)
}
val incrementPath = PropertyUtil.getPropertyValue("increment.path")
if(!HdfsUtil.exists(incrementPath)){
HdfsUtil.mkdir(incrementPath)
}
}*/
def flywayInit() = { def flywayInit() = {
val ip = InetAddress.getLocalHost.getHostAddress
// Create the Flyway instance // Create the Flyway instance
val flyway: Flyway = new Flyway(); val flyway: Flyway = new Flyway();
var url = "jdbc:h2:tcp://"+PropertyUtil.getPropertyValue("server.ip")+":"+PropertyUtil.getPropertyValue("h2.port")+"/~/piflow" var url = "jdbc:h2:tcp://"+ip+":"+PropertyUtil.getPropertyValue("h2.port")+"/~/piflow"
// Point it to the database // Point it to the database
flyway.setDataSource(url,null,null); flyway.setDataSource(url,null,null);
flyway.setLocations("db/migrations"); flyway.setLocations("db/migrations");

View File

@ -4,6 +4,7 @@ import cn.piflow.{Flow, Runner}
import cn.piflow.api.util.PropertyUtil import cn.piflow.api.util.PropertyUtil
import cn.piflow.conf.bean.FlowGroupBean import cn.piflow.conf.bean.FlowGroupBean
import cn.piflow.conf.util.OptionUtil import cn.piflow.conf.util.OptionUtil
import cn.piflow.util.ConfigureUtil
import org.apache.spark.sql.SparkSession import org.apache.spark.sql.SparkSession
import scala.collection.mutable.ArrayBuffer import scala.collection.mutable.ArrayBuffer
@ -26,12 +27,11 @@ object StartFlowGroupMain {
.appName(flowGroupBean.name) .appName(flowGroupBean.name)
.enableHiveSupport() .enableHiveSupport()
.getOrCreate() .getOrCreate()
//val checkpointPath = spark.sparkContext.getConf.get("checkpoint.path")
val process = Runner.create() val process = Runner.create()
//.bind(classOf[SparkSession].getName, spark) //.bind(classOf[SparkSession].getName, spark)
.bind("checkpoint.path",PropertyUtil.getPropertyValue("checkpoint.path")) .bind("checkpoint.path",ConfigureUtil.getCheckpointPath())
.bind("debug.path",PropertyUtil.getPropertyValue("debug.path")) .bind("debug.path",ConfigureUtil.getDebugPath())
.start(flowGroup); .start(flowGroup);
val applicationId = spark.sparkContext.applicationId val applicationId = spark.sparkContext.applicationId
process.awaitTermination(); process.awaitTermination();

View File

@ -4,6 +4,7 @@ import cn.piflow.Runner
import cn.piflow.api.util.PropertyUtil import cn.piflow.api.util.PropertyUtil
import cn.piflow.conf.bean.FlowBean import cn.piflow.conf.bean.FlowBean
import cn.piflow.conf.util.OptionUtil import cn.piflow.conf.util.OptionUtil
import cn.piflow.util.ConfigureUtil
import org.apache.spark.sql.SparkSession import org.apache.spark.sql.SparkSession
import scala.util.parsing.json.JSON import scala.util.parsing.json.JSON
@ -29,14 +30,11 @@ object StartFlowMain {
.getOrCreate() .getOrCreate()
println("hive.metastore.uris=" + spark.sparkContext.getConf.get("hive.metastore.uris") + "!!!!!!!") println("hive.metastore.uris=" + spark.sparkContext.getConf.get("hive.metastore.uris") + "!!!!!!!")
//val checkpointPath = spark.sparkContext.getConf.get("checkpoint.path")
val process = Runner.create() val process = Runner.create()
.bind(classOf[SparkSession].getName, spark) .bind(classOf[SparkSession].getName, spark)
//.bind("checkpoint.path","hdfs://10.0.86.89:9000/xjzhu/piflow/checkpoints/") .bind("checkpoint.path",ConfigureUtil.getCheckpointPath())
//.bind("debug.path","hdfs://10.0.86.89:9000/xjzhu/piflow/debug/") .bind("debug.path",ConfigureUtil.getDebugPath())
.bind("checkpoint.path",PropertyUtil.getPropertyValue("checkpoint.path"))
.bind("debug.path",PropertyUtil.getPropertyValue("debug.path"))
.start(flow); .start(flow);
val applicationId = spark.sparkContext.applicationId val applicationId = spark.sparkContext.applicationId
process.awaitTermination(); process.awaitTermination();