From 98b784c108a578e6822800705c1f945b481622ce Mon Sep 17 00:00:00 2001 From: Minwoo Kang Date: Tue, 1 Dec 2015 15:57:24 +0900 Subject: [PATCH 1/4] ZEPPELIN-358 add jetty temporary directory --- .../java/org/apache/zeppelin/server/ZeppelinServer.java | 6 ++++-- .../org/apache/zeppelin/conf/ZeppelinConfiguration.java | 7 +++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java index ea8a0b64c45..4a6fb7e3a75 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java @@ -19,14 +19,12 @@ import java.io.File; import java.io.IOException; -import java.lang.reflect.Constructor; import java.util.EnumSet; import java.util.HashSet; import java.util.Set; import javax.net.ssl.SSLContext; import javax.servlet.DispatcherType; -import javax.servlet.Servlet; import javax.ws.rs.core.Application; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; @@ -240,6 +238,10 @@ private static WebAppContext setupWebAppContext( } else { // use packaged WAR webApp.setWar(warPath.getAbsolutePath()); + File warTempDirectory = new File(conf.getString(ConfVars.ZEPPELIN_WAR_TEMPDIR)); + warTempDirectory.mkdir(); + LOG.info("ZeppelinServer Webapp path: {}", warTempDirectory.getPath()); + webApp.setTempDirectory(warTempDirectory); } // Explicit bind to root webApp.addServlet( diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java index 17964307817..6a0d1a663c5 100755 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java @@ -23,12 +23,10 @@ import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; import org.apache.commons.configuration.tree.ConfigurationNode; -import org.apache.zeppelin.notebook.repo.S3NotebookRepo; import org.apache.zeppelin.notebook.repo.VFSNotebookRepo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - /** * Zeppelin configuration. * @@ -326,11 +324,11 @@ public String getTrustStorePassword() { public String getNotebookDir() { return getString(ConfVars.ZEPPELIN_NOTEBOOK_DIR); } - + public String getUser() { return getString(ConfVars.ZEPPELIN_NOTEBOOK_S3_USER); } - + public String getBucketName() { return getString(ConfVars.ZEPPELIN_NOTEBOOK_S3_BUCKET); } @@ -398,6 +396,7 @@ public static enum ConfVars { ZEPPELIN_SSL_TRUSTSTORE_TYPE("zeppelin.ssl.truststore.type", null), ZEPPELIN_SSL_TRUSTSTORE_PASSWORD("zeppelin.ssl.truststore.password", null), ZEPPELIN_WAR("zeppelin.war", "../zeppelin-web/dist"), + ZEPPELIN_WAR_TEMPDIR("zeppelin.war.tempdir", "webapps"), ZEPPELIN_INTERPRETERS("zeppelin.interpreters", "org.apache.zeppelin.spark.SparkInterpreter," + "org.apache.zeppelin.spark.PySparkInterpreter," + "org.apache.zeppelin.spark.SparkSqlInterpreter," From 0046d36079a5fe536d234716d7435bfadabe6b92 Mon Sep 17 00:00:00 2001 From: Minwoo Kang Date: Tue, 1 Dec 2015 17:58:49 +0900 Subject: [PATCH 2/4] ZEPPELIN-358 use getRelativeDir instead of getString --- .../main/java/org/apache/zeppelin/server/ZeppelinServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java index 4a6fb7e3a75..f2e99f940a2 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java @@ -238,7 +238,7 @@ private static WebAppContext setupWebAppContext( } else { // use packaged WAR webApp.setWar(warPath.getAbsolutePath()); - File warTempDirectory = new File(conf.getString(ConfVars.ZEPPELIN_WAR_TEMPDIR)); + File warTempDirectory = new File(conf.getRelativeDir(ConfVars.ZEPPELIN_WAR_TEMPDIR)); warTempDirectory.mkdir(); LOG.info("ZeppelinServer Webapp path: {}", warTempDirectory.getPath()); webApp.setTempDirectory(warTempDirectory); From cc7fdb71538953c254e09fdcc1d6d697c7ff80a9 Mon Sep 17 00:00:00 2001 From: Minwoo Kang Date: Tue, 1 Dec 2015 18:11:57 +0900 Subject: [PATCH 3/4] ZEPPELIN-358 restore unused imports --- .../main/java/org/apache/zeppelin/server/ZeppelinServer.java | 2 ++ .../java/org/apache/zeppelin/conf/ZeppelinConfiguration.java | 1 + 2 files changed, 3 insertions(+) diff --git a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java index f2e99f940a2..4eb30bf692a 100644 --- a/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java +++ b/zeppelin-server/src/main/java/org/apache/zeppelin/server/ZeppelinServer.java @@ -19,12 +19,14 @@ import java.io.File; import java.io.IOException; +import java.lang.reflect.Constructor; import java.util.EnumSet; import java.util.HashSet; import java.util.Set; import javax.net.ssl.SSLContext; import javax.servlet.DispatcherType; +import javax.servlet.Servlet; import javax.ws.rs.core.Application; import org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet; diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java index 6a0d1a663c5..909345a1c48 100755 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/conf/ZeppelinConfiguration.java @@ -23,6 +23,7 @@ import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.XMLConfiguration; import org.apache.commons.configuration.tree.ConfigurationNode; +import org.apache.zeppelin.notebook.repo.S3NotebookRepo; import org.apache.zeppelin.notebook.repo.VFSNotebookRepo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; From f19e2ca2dea03d3e2acdb0467ec192dfadda68cc Mon Sep 17 00:00:00 2001 From: Minwoo Kang Date: Wed, 2 Dec 2015 11:38:57 +0900 Subject: [PATCH 4/4] ZEPPELIN-358 add the environment variable and property. update documentation. --- conf/zeppelin-env.sh.template | 1 + conf/zeppelin-site.xml.template | 6 ++++++ docs/install/install.md | 8 +++++++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/conf/zeppelin-env.sh.template b/conf/zeppelin-env.sh.template index fe133ba348e..b0b1a5b6e50 100644 --- a/conf/zeppelin-env.sh.template +++ b/conf/zeppelin-env.sh.template @@ -25,6 +25,7 @@ # export ZEPPELIN_LOG_DIR # Where log files are stored. PWD by default. # export ZEPPELIN_PID_DIR # The pid files are stored. /tmp by default. +# export ZEPPELIN_WAR_TEMPDIR # The location of jetty temporary directory. # export ZEPPELIN_NOTEBOOK_DIR # Where notebook saved # export ZEPPELIN_NOTEBOOK_HOMESCREEN # Id of notebook to be displayed in homescreen. ex) 2A94M5J1Z # export ZEPPELIN_NOTEBOOK_HOMESCREEN_HIDE # hide homescreen notebook from list when this value set to "true". default "false" diff --git a/conf/zeppelin-site.xml.template b/conf/zeppelin-site.xml.template index 0f44c62ad51..191f8c265ae 100755 --- a/conf/zeppelin-site.xml.template +++ b/conf/zeppelin-site.xml.template @@ -37,6 +37,12 @@ Context Path of the Web Application + + zeppelin.war.tempdir + webapps + Location of jetty temporary directory + + zeppelin.notebook.dir notebook diff --git a/docs/install/install.md b/docs/install/install.md index d3914010f64..73dd7e0cf7a 100644 --- a/docs/install/install.md +++ b/docs/install/install.md @@ -145,7 +145,13 @@ Configuration can be done by both environment variable(conf/zeppelin-env.sh) and zeppelin.notebook.homescreen.hide false hide homescreen notebook from list when this value set to "true" - + + + ZEPPELIN_WAR_TEMPDIR + zeppelin.war.tempdir + webapps + The location of jetty temporary directory. + ZEPPELIN_NOTEBOOK_DIR zeppelin.notebook.dir