[ https://issues.apache.org/jira/browse/FLINK-1984?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14966148#comment-14966148 ]
ASF GitHub Bot commented on FLINK-1984: --------------------------------------- Github user cfmcgrady commented on a diff in the pull request: https://github.com/apache/flink/pull/948#discussion_r42578446 --- Diff: flink-mesos/src/main/scala/org/apache/flink/mesos/scheduler/HttpServer.scala --- @@ -0,0 +1,82 @@ +/* + * 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.flink.mesos.scheduler + +import java.nio.file.{Files, Paths} + +import unfiltered.request.{Path, Seg} +import unfiltered.response.ResponseString + +import scala.io.Source + +class HttpServer(conf: Conf) { + val confDir: String = conf.confDir + + val consoleLog4jConfiguration = ResponseString( + """ + |log4j.rootLogger=INFO, stdout + | + |log4j.appender.stdout=org.apache.log4j.ConsoleAppender + |log4j.appender.stdout.layout=org.apache.log4j.PatternLayout + |log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p %-60c %x - %m%n + | + |log4j.logger.org.jboss.netty.channel.DefaultChannelPipeline=ERROR, stdout + | + """.stripMargin) + + // create a plan to serve flink-config.yaml and log4j.properties via http + val configServerPlan = unfiltered.filter.Planify { + case Path(Seg("log4j.properties" :: Nil)) => + // get the log4j configuration and send it + val confDirLog4JPropsFile = Paths.get(confDir, "log4j.properties") + sys.env.get("log4j.configuration") match { + case Some(filePath: String) => + new ResponseString(Source.fromFile(filePath).mkString) + case None if Files.exists(confDirLog4JPropsFile) => + new ResponseString(Source.fromFile(confDirLog4JPropsFile.toString).mkString) + case None => + consoleLog4jConfiguration + } + } + + // serve using an embedded jetty server running via any available local port + val svr = { + val _svr = if (conf.port == -1) { + unfiltered.jetty.Server.anylocal + } else { + unfiltered.jetty.Server.local(conf.port) + } --- End diff -- we need the client ip not localhost ip address, so that the mesos slave can get config file from client. > Integrate Flink with Apache Mesos > --------------------------------- > > Key: FLINK-1984 > URL: https://issues.apache.org/jira/browse/FLINK-1984 > Project: Flink > Issue Type: New Feature > Components: New Components > Reporter: Robert Metzger > Priority: Minor > Attachments: 251.patch > > > There are some users asking for an integration of Flink into Mesos. > There also is a pending pull request for adding Mesos support for Flink: > https://github.com/apache/flink/pull/251 > But the PR is insufficiently tested. I'll add the code of the pull request to > this JIRA in case somebody wants to pick it up in the future. -- This message was sent by Atlassian JIRA (v6.3.4#6332)