You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@submarine.apache.org by li...@apache.org on 2020/06/27 15:24:20 UTC
[submarine] branch master updated: SUBMARINE-549. Fix the typo in
Submarine
This is an automated email from the ASF dual-hosted git repository.
liuxun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/submarine.git
The following commit(s) were added to refs/heads/master by this push:
new 77e7c01 SUBMARINE-549. Fix the typo in Submarine
77e7c01 is described below
commit 77e7c01cf2839110a4454cf76c8ee4da40f03cfb
Author: Neo Yang <ck...@gmail.com>
AuthorDate: Sat Jun 27 20:10:50 2020 +0800
SUBMARINE-549. Fix the typo in Submarine
### What is this PR for?
Fix the typo in Submarine
### What type of PR is it?
[Bug Fix]
### Todos
* [ ] - Task
### What is the Jira issue?
[SUBMARINE-549](https://issues.apache.org/jira/projects/SUBMARINE/issues/SUBMARINE-549)
### How should this be tested?
[Travis CI](https://travis-ci.org/github/cku328/submarine/builds/702634423)
### Screenshots (if appropriate)
### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No
Author: Neo Yang <ck...@gmail.com>
Closes #330 from cku328/SUBMARINE-549 and squashes the following commits:
87d252c [Neo Yang] SUBMARINE-549. Fix the typo in Submarine
---
README.md | 12 +-
conf/log4j.properties | 2 +-
conf/log4j.properties.template | 2 +-
dev-support/cicd/HowToRelease.md | 8 +-
dev-support/cicd/common_release.sh | 2 +-
dev-support/cicd/merge_submarine_pr.py | 2 +-
dev-support/cicd/publish_release.sh | 2 +-
.../k8s/pytorchjob/deploy-pytorch-operator.sh | 2 +-
dev-support/mini-submarine/README.md | 6 +-
.../mini-submarine/conf/container-executor.cfg | 2 +-
dev-support/submarine-installer/README-CN.md | 28 +-
dev-support/submarine-installer/README.md | 2 +-
dev-support/submarine-installer/install.sh | 2 +-
.../hadoop/yarn/etc_insecure/hadoop/core-site.xml | 418 +++----
.../hadoop/yarn/etc_secure/hadoop/core-site.xml | 470 +++----
.../hadoop/yarn/etc_secure/hadoop/yarn-site.xml | 1304 ++++++++++----------
.../package/submarine/submarine.sh | 2 +-
dev-support/submarine-installer/scripts/calico.sh | 14 +-
dev-support/submarine-installer/scripts/docker.sh | 2 +-
dev-support/submarine-installer/scripts/menu.sh | 18 +-
.../submarine-installer/scripts/nvidia-docker.sh | 2 +-
dev-support/submarine-installer/scripts/nvidia.sh | 2 +-
dev-support/submarine-installer/scripts/yarn.sh | 14 +-
.../submarine-installer/scripts/yarn_insecure.sh | 12 +-
docs/database/README.md | 2 +-
docs/database/submarine-data.sql | 2 +-
docs/design/experiment-implementation.md | 10 +-
docs/design/implementation-notes.md | 2 +-
docs/design/notebook-implementation.md | 6 +-
docs/design/security-implementation.md | 2 +-
docs/design/storage-implementation.md | 6 +-
docs/design/submarine-server/jobspec.md | 4 +-
docs/design/wip-designs/SubmarineClusterServer.md | 4 +-
docs/development/IntegrationTest.md | 4 +-
docs/development/README.md | 2 +-
.../cifar10_estimator_tf_1.13.1/README.md | 4 +-
.../cifar10_estimator_tf_1.13.1/cifar10_main.py | 2 +-
.../cifar10_estimator_tf_1.13.1/cifar10_utils.py | 2 +-
docs/workbench/HowToRun.md | 4 +-
docs/workbench/README.md | 2 +-
docs/workbench/README.zh-CN.md | 6 +-
pom.xml | 8 +-
.../submarine/client/cli/runjob/RunJobCli.java | 2 +-
submarine-cloud/hack/deploy-submarine.sh | 2 +-
submarine-cloud/hack/integration-test.sh | 8 +-
submarine-cloud/hack/kind-cluster-build.sh | 2 +-
.../pkg/apis/submarine/v1alpha1/default.go | 2 +-
.../pkg/apis/submarine/v1alpha1/register.go | 2 +-
.../pkg/apis/submarine/v1alpha1/types.go | 6 +-
submarine-cloud/pkg/config/submarine.go | 2 +-
submarine-cloud/pkg/controller/actions.go | 4 +-
submarine-cloud/pkg/controller/checks.go | 4 +-
.../pkg/controller/clustering/cluster-placement.go | 6 +-
submarine-cloud/pkg/controller/condition.go | 2 +-
submarine-cloud/pkg/controller/controller.go | 4 +-
submarine-cloud/pkg/controller/pod/control.go | 6 +-
.../pkg/controller/poddisruptionbudgets_control.go | 2 +-
.../pkg/controller/sanitycheck/process.go | 2 +-
submarine-cloud/pkg/controller/services_control.go | 2 +-
submarine-cloud/pkg/operator/operator.go | 2 +-
submarine-cloud/pkg/submarine/admin.go | 8 +-
submarine-cloud/pkg/submarine/client.go | 2 +-
submarine-cloud/pkg/submarine/clusterinfo.go | 2 +-
submarine-cloud/pkg/submarine/connections.go | 6 +-
.../submarine/commons/cluster/ClusterClient.java | 4 +-
.../submarine/commons/cluster/ClusterManager.java | 4 +-
.../submarine/commons/cluster/ClusterMonitor.java | 12 +-
.../commons/cluster/meta/ClusterMeta.java | 4 +-
submarine-commons/commons-rpc/pom.xml | 2 +-
submarine-sdk/pysubmarine/submarine/exceptions.py | 2 +-
.../submarine/ml/tensorflow/layers/core.py | 2 +-
.../pysubmarine/submarine/tracking/fluent.py | 2 +-
.../spark/security/parser/SubmarineSqlBase.g4 | 2 +-
.../SubmarineRowFilterExtensionTest.scala | 2 +-
.../server/workbench/database/entity/Team.java | 4 +-
.../workbench/database/utils/DepartmentUtil.java | 4 +-
.../server/workbench/rest/SysDeptRestApi.java | 2 +-
.../server/workbench/rest/TeamRestApi.java | 2 +-
.../websocket/NotebookSocketListener.java | 2 +-
.../server/AbstractSubmarineServerTest.java | 2 +-
.../server/response/JsonResponseTest.java | 4 +-
.../database/utils/DepartmentUtilTest.java | 4 +-
.../apache/submarine/ChromeWebDriverProvider.java | 2 +-
.../apache/submarine/FirefoxWebDriverProvider.java | 2 +-
.../java/org/apache/submarine/ProcessData.java | 2 +-
.../apache/submarine/integration/workspaceIT.java | 2 +-
.../submarine/interpreter/InterpreterResult.java | 4 +-
submarine-workbench/interpreter/pom.xml | 8 +-
.../app/pages/workbench/data/data.component.html | 2 +-
.../manager/department/department.component.html | 4 +-
.../manager/department/department.component.ts | 8 +-
.../new-project-page.component.html | 2 +-
.../workbench/workspace/team/team.component.html | 2 +-
.../workspace/training/training.component.ts | 2 +-
.../workbench-web-ng/src/theme.less | 2 +-
.../workbench-web/public/color.less | 8 +-
.../src/components/CountDown/index.md | 2 +-
.../src/components/NoticeIcon/NoticeIcon.vue | 10 +-
.../src/components/SettingDrawer/SettingDrawer.vue | 6 +-
.../workbench-web/src/config/router.config.js | 4 +-
.../workbench-web/src/utils/device.js | 4 +-
.../workbench-web/src/views/list/QueryList.vue | 10 +-
.../src/views/list/search/Article.vue | 2 +-
.../workbench-web/src/views/system/DeptList.vue | 2 +-
.../src/views/system/modules/PasswordModal.vue | 2 +-
.../src/views/workbench/workspace/Training.vue | 2 +-
106 files changed, 1317 insertions(+), 1317 deletions(-)
diff --git a/README.md b/README.md
index c7018c6..e009d8f 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ Apache Submarine (Submarine for short) is the `ONE PLATFORM` to allow Data Scien
## Why Submarine?
-There're already a lot of open-source and comericial projects are trying to create a end-to-end machine-learning/deep-learning platform, what's the vision of Submarine?
+There're already a lot of open-source and commercial projects are trying to create a end-to-end machine-learning/deep-learning platform, what's the vision of Submarine?
### Problems
@@ -47,14 +47,14 @@ _Theodore Levitt_ once said:
- ML-focused APIs to run/track experiment from Python SDK (notebook), REST API, and CLI.
- Provide APIs to run training jobs by using popular frameworks (Standalone/Distributed TensorFlow/PyTorch/Hovorod).
- Pre-packaged Training Template for Data-Scientists to focus on domain-specific tasks (like using DeepFM to build a CTR prediction model).
-- Support GPU and other compute speed-up devides.
+- Support GPU and other compute speed-up devices.
- Support running on K8s/YARN or other resource management system.
- Pipeline is also on the backlog, we will look into pipeline for training in the future.
#### Notebook Service
- Submarine is target to provide notebook service, which allows users to create/edit/delete a notebook instance (such as a Jupyter notebook) running on the cluster.
-- Users can submit experiement, manage models using Submarine SDK.
+- Users can submit experiment, manage models using Submarine SDK.
#### Model Management (Serving/versioning/monitoring, etc.)
@@ -135,7 +135,7 @@ For a quick-start, see [Submarine On K8s](docs/userdocs/k8s/README.md)
## Architecture, Design and requirements
-If you want to knwow more about Submarine's architecture, components, requirements and design doc, they can be found on [Architecture-and-requirement](docs/design/architecture-and-requirements.md)
+If you want to know more about Submarine's architecture, components, requirements and design doc, they can be found on [Architecture-and-requirement](docs/design/architecture-and-requirements.md)
Detailed design documentation, implementation notes can be found at: [Implementation notes](docs/design/implementation-notes.md)
@@ -151,9 +151,9 @@ Issue Tracking: https://issues.apache.org/jira/projects/SUBMARINE
See [User Guide Home Page](docs/user-guide-home.md)
-## Developper Document
+## Developer Document
-See [Developper Guide Home Page](docs/development-guide-home.md)
+See [Developer Guide Home Page](docs/development-guide-home.md)
## Roadmap
diff --git a/conf/log4j.properties b/conf/log4j.properties
index fb5a6f4..2f44c72 100644
--- a/conf/log4j.properties
+++ b/conf/log4j.properties
@@ -35,7 +35,7 @@ log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DRFA.File=${submarine.log.dir}/${submarine.log.file}
-# Rollver at midnight
+# Rollover at midnight
log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
# 30-day backup
diff --git a/conf/log4j.properties.template b/conf/log4j.properties.template
index 00e8b8c..579a382 100755
--- a/conf/log4j.properties.template
+++ b/conf/log4j.properties.template
@@ -35,7 +35,7 @@ log4j.appender.DRFA=org.apache.log4j.DailyRollingFileAppender
log4j.appender.DRFA.File=${submarine.log.dir}/${submarine.log.file}
-# Rollver at midnight
+# Rollover at midnight
log4j.appender.DRFA.DatePattern=.yyyy-MM-dd
# 30-day backup
diff --git a/dev-support/cicd/HowToRelease.md b/dev-support/cicd/HowToRelease.md
index 5cd77e4..2149550 100644
--- a/dev-support/cicd/HowToRelease.md
+++ b/dev-support/cicd/HowToRelease.md
@@ -36,7 +36,7 @@ Click "tools"-> "bulk update" to edit all issues:
1. Change the target version to X+1. Here it is 0.4.0
2. Add a comment to inform contributors. Like this "Bulk update due to releasing 0.3.0. Please change it back if you think this is a blocker."
-Do a double-check to confirm that there's no issues found with the above filter. And send mail to the develeper list informing that we should mark "Target version" to 0.4.0 when creating new JIRAs.
+Do a double-check to confirm that there's no issues found with the above filter. And send mail to the developer list informing that we should mark "Target version" to 0.4.0 when creating new JIRAs.
## Tagging
Once the JIRA is cleaned up, we can tag the candidate release with below steps:
@@ -75,10 +75,10 @@ exit
```
### Staging Docker Images
#### Package An Existing Release Candidates
-When doing release, the release manager might needs to package a artifact candidatesin this docker image and public the image candidate for a vote.
+When doing release, the release manager might needs to package an artifact candidates in this docker image and public the image candidate for a vote.
In this scenario, we can do this:
-Put submarine candidate aritifacts to a folder like "~/releases/submarine-release"
+Put submarine candidate artifacts to a folder like "~/releases/submarine-release"
```
$ ls $release_candidates_path
submarine-dist-0.3.0-hadoop-2.9.tar.gz submarine-dist-0.3.0-src.tar.gz.asc
@@ -103,7 +103,7 @@ export ASF_USERID=yourApacheId
export ASF_PASSWORD=yourApachePwd
./publish_release.sh $version $tag
```
-Then to view the staging repo, we can login the the https://repository.apache.org with the apache id. Click the "Staging Reposotories" in the left side of the web page. And click "orgapachesubmarine-1001", then you will see the details of the repo including the URI. The URI is like this:
+Then to view the staging repo, we can login the the https://repository.apache.org with the apache id. Click the "Staging Repositories" in the left side of the web page. And click "orgapachesubmarine-1001", then you will see the details of the repo including the URI. The URI is like this:
"https://repository.apache.org/content/repositories/orgapachesubmarine-1001"
### Call A Vote For The Release Candidate
diff --git a/dev-support/cicd/common_release.sh b/dev-support/cicd/common_release.sh
index 5d84245..c597121 100755
--- a/dev-support/cicd/common_release.sh
+++ b/dev-support/cicd/common_release.sh
@@ -17,7 +17,7 @@
# limitations under the License.
#
-# common fucntions
+# common functions
if [[ -z "${TAR}" ]]; then
TAR="/usr/bin/tar"
diff --git a/dev-support/cicd/merge_submarine_pr.py b/dev-support/cicd/merge_submarine_pr.py
index 54d8acf..7b5e57c 100755
--- a/dev-support/cicd/merge_submarine_pr.py
+++ b/dev-support/cicd/merge_submarine_pr.py
@@ -279,7 +279,7 @@ def resolve_jira_issue(merge_branches, comment, default_jira_id=""):
asf_jira.transition_issue(
jira_id, resolve["id"], fixVersions=jira_fix_versions, comment=comment)
- print "Succesfully resolved %s with fixVersions=%s!" % (jira_id, fix_versions)
+ print "Successfully resolved %s with fixVersions=%s!" % (jira_id, fix_versions)
def resolve_jira_issues(title, merge_branches, comment):
diff --git a/dev-support/cicd/publish_release.sh b/dev-support/cicd/publish_release.sh
index cf73a19..275e052 100755
--- a/dev-support/cicd/publish_release.sh
+++ b/dev-support/cicd/publish_release.sh
@@ -139,7 +139,7 @@ function publish_to_maven() {
done
nexus_upload="${NEXUS_STAGING}/deployByRepositoryId/${staged_repo_id}"
- echo "Uplading files to ${nexus_upload}"
+ echo "Uploading files to ${nexus_upload}"
for file in $(find . -type f); do
# strip leading ./
file_short="$(echo "${file}" | sed -e 's/\.\///')"
diff --git a/dev-support/k8s/pytorchjob/deploy-pytorch-operator.sh b/dev-support/k8s/pytorchjob/deploy-pytorch-operator.sh
index eed8b89..5eff1b4 100755
--- a/dev-support/k8s/pytorchjob/deploy-pytorch-operator.sh
+++ b/dev-support/k8s/pytorchjob/deploy-pytorch-operator.sh
@@ -21,5 +21,5 @@
kubectl apply -f ./namespace.yaml
sleep 5
-# there're two deployment yaml file. One for K8s version prior to 1.16. One for 1.16+ due to API incompatability
+# there're two deployment yaml file. One for K8s version prior to 1.16. One for 1.16+ due to API incompatibility
kubectl apply -f ./
diff --git a/dev-support/mini-submarine/README.md b/dev-support/mini-submarine/README.md
index 5783400..83e935e 100644
--- a/dev-support/mini-submarine/README.md
+++ b/dev-support/mini-submarine/README.md
@@ -54,7 +54,7 @@ cd submarine/dev-support/mini-submarine/
When doing release, the release manager might needs to package a artifact candidates in this docker image and public the image candidate for a vote.
In this scenario, we can do this:
-Put submarine candidate aritifacts to a folder like "~/releases/submarine-release"
+Put submarine candidate artifacts to a folder like "~/releases/submarine-release"
```
$ ls $release_candidates_path
submarine-dist-0.4.0-hadoop-2.9.tar.gz submarine-dist-0.4.0-src.tar.gz.asc
@@ -131,7 +131,7 @@ echo "http://localhost:$(docker inspect --format='{{(index (index .NetworkSettin
```
The URL returned by the command (like to: http://localhost:32819) is opened through a browser. The username and initial password of the workbench are both `admin`.
-## Run a sumbarine job
+## Run a submarine job
### Switch to user yarn
@@ -243,7 +243,7 @@ Debug submarine client with the parameter "--debug"
```
Port 8000 is used in the mini-submarine.
-You need to find the debug port mapping between mini-subamrine and the host on which run mini-subamrine.
+You need to find the debug port mapping between mini-submarine and the host on which run mini-subamrine.
```
docker port <SUBMARINE_CONTAINER_ID>
diff --git a/dev-support/mini-submarine/conf/container-executor.cfg b/dev-support/mini-submarine/conf/container-executor.cfg
index 828bb3a..4feaeca 100644
--- a/dev-support/mini-submarine/conf/container-executor.cfg
+++ b/dev-support/mini-submarine/conf/container-executor.cfg
@@ -23,7 +23,7 @@ feature.tc.enabled=false
[docker]
module.enabled=true
docker.binary=/usr/bin/docker
-# docker.allowed.devices=## comma seperated list of devices that can be mounted into a container
+# docker.allowed.devices=## comma separated list of devices that can be mounted into a container
docker.privileged-containers.enabled=false
# docker.allowed.volume-drivers=## comma seperated list of allowed volume-drivers
# docker.no-new-privileges.enabled=## enable/disable the no-new-privileges flag for docker run. Set to "true" to enable, disabled by default
diff --git a/dev-support/submarine-installer/README-CN.md b/dev-support/submarine-installer/README-CN.md
index ad0c02e..82a3baf 100644
--- a/dev-support/submarine-installer/README-CN.md
+++ b/dev-support/submarine-installer/README-CN.md
@@ -142,13 +142,13 @@ hadoop 在 2.9 版本中就已经让 YARN 支持了 Docker 容器的资源调度
6. install component
- + **instll etcd**
+ + **install etcd**
下载 etcd 的 bin 文件,并安装到 `/usr/bin` 目录中;
根据 **ETCD_HOSTS** 配置项生成 `etcd.service` 文件, 安装到 `/etc/systemd/system/` 目录中;
- + **instll docker**
+ + **install docker**
下载 docker 的 RPM 包进行本地安装;
@@ -156,7 +156,7 @@ hadoop 在 2.9 版本中就已经让 YARN 支持了 Docker 容器的资源调度
生成 `docker.service` 配置文件,安装到 `/etc/systemd/system/` 目录中;
- + **instll calico network**
+ + **install calico network**
下载 `calico` 、`calicoctl` 和 `calico-ipam` 文件,安装到 `/usr/bin` 目录中;
@@ -166,7 +166,7 @@ hadoop 在 2.9 版本中就已经让 YARN 支持了 Docker 容器的资源调度
安装完毕后,会在容器中会根据 **CALICO_NETWORK_NAME** 配置项自动创建 calico network,并自动创建 2 个 Docker 容器,检查 2 个容器是否能偶互相 PING 通;
- + **instll nvidia driver**
+ + **install nvidia driver**
下载 `nvidia-detect` 文件,在服务器中检测显卡版本;
@@ -176,19 +176,19 @@ hadoop 在 2.9 版本中就已经让 YARN 支持了 Docker 容器的资源调度
如果本服务器中已经 `disabled Nouveau` ,那么就会进行本地安装;
- + **instll nvidia docker**
+ + **install nvidia docker**
下载 `nvidia-docker` 的 RPM 安装包并进行安装;
显示检测 `nvidia-docker` 是否可用的命令提示信息,需要你另外打开一个终端根据命令顺序执行;
- + **instll yarn container-executor**
+ + **install yarn container-executor**
根据 **YARN_CONTAINER_EXECUTOR_PATH 配置项**,将 `container-executor` 文件复制到 `/etc/yarn/sbin/Linux-amd64-64/` 目录中;
根据配置生成 `container-executor.cfg` 文件,复制到 `/etc/yarn/sbin/etc/hadoop/` 目录中;
- + **instll submarine autorun script**
+ + **install submarine autorun script**
复制 `submarine.sh` 文件到 `/etc/rc.d/init.d/` 目录中;
@@ -198,13 +198,13 @@ hadoop 在 2.9 版本中就已经让 YARN 支持了 Docker 容器的资源调度
删除指定组件的 BIN 文件和配置文件,不在复述
- - uninstll etcd
- - uninstll docker
- - uninstll calico network
- - uninstll nvidia driver
- - uninstll nvidia docker
- - uninstll yarn container-executor
- - uninstll submarine autorun script
+ - uninstall etcd
+ - uninstall docker
+ - uninstall calico network
+ - uninstall nvidia driver
+ - uninstall nvidia docker
+ - uninstall yarn container-executor
+ - uninstall submarine autorun script
8. start component
diff --git a/dev-support/submarine-installer/README.md b/dev-support/submarine-installer/README.md
index c6af549..9acd420 100644
--- a/dev-support/submarine-installer/README.md
+++ b/dev-support/submarine-installer/README.md
@@ -11,7 +11,7 @@ Since the distributed deep learning framework needs to run in multiple Docker co
In order to reduce the difficulty of deploying components, we have developed this **submarine-installer** project to deploy the **Submarine** runtime environment, providing a one-click installation script or step-by-step installation. Unload, start, and stop individual components, and explain the main parameter configuration and considerations for each step. We also provides a [Chinese manual](project/github/submarine/docs/userdocs/yarn/InstallationGuideChineseVersion.md) and an [English [...]
-This installer is just created for your convenience and for test purpose only. You can choose to install required libraries by yourself, please don't run this script in your production envionrment before fully validate it in a sandbox environment.
+This installer is just created for your convenience and for test purpose only. You can choose to install required libraries by yourself, please don't run this script in your production environment before fully validate it in a sandbox environment.
## prerequisites
diff --git a/dev-support/submarine-installer/install.sh b/dev-support/submarine-installer/install.sh
index 79aef6f..93691b0 100755
--- a/dev-support/submarine-installer/install.sh
+++ b/dev-support/submarine-installer/install.sh
@@ -14,7 +14,7 @@
# 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.
-# description: sumbarine install scripts.
+# description: submarine install scripts.
ROOT=$(cd "$(dirname "$0")"; pwd)
SUBMARINE_INSTALLER_VERSION="v0.8.0"
diff --git a/dev-support/submarine-installer/package/hadoop/yarn/etc_insecure/hadoop/core-site.xml b/dev-support/submarine-installer/package/hadoop/yarn/etc_insecure/hadoop/core-site.xml
index 38e6a58..72c7f2e 100755
--- a/dev-support/submarine-installer/package/hadoop/yarn/etc_insecure/hadoop/core-site.xml
+++ b/dev-support/submarine-installer/package/hadoop/yarn/etc_insecure/hadoop/core-site.xml
@@ -1,209 +1,209 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
- Licensed 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. See accompanying LICENSE file.
--->
-
-<configuration>
-
- <!-- file system properties -->
- <property>
- <name>fs.defaultFS</name>
- <value>FS_DEFAULTFS_REPLACE</value>
- <description>The name of the default file system. Either the literal string "local" or a host:port for NDFS. </description>
- <final>true</final>
- </property>
-
- <!-- add LZO,LZ4 compression support -->
- <property>
- <name>io.compression.codecs</name>
- <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.Lz4Codec,org.apache.hadoop.io.compress.SnappyCodec</value>
- </property>
-
- <property>
- <name>io.compression.codec.lzo.class</name>
- <value>com.hadoop.compression.lzo.LzoCodec</value>
- </property>
-
- <!-- Web Interface Configuration -->
- <property>
- <name>webinterface.private.actions</name>
- <value>false</value>
- <description> If set to true, the web interfaces of JT and NN may
- contain
- actions, such as kill job, delete file, etc., that should
- not be exposed to public. Enable this option if the interfaces
- are only reachable by those who have the right authorization.
- </description>
- </property>
-
- <property>
- <name>hadoop.security.authentication</name>
- <value>simple</value>
- <description>
- Set the authentication for the cluster. Valid values are: simple or
- kerberos.
- </description>
- </property>
-
- <property>
- <name>hadoop.security.authorization</name>
- <value>false</value>
- <description>
- Enable authorization for different protocols.
- </description>
- </property>
-
- <property>
- <name>hadoop.security.groups.cache.secs</name>
- <value>14400</value>
- </property>
-
- <!-- Authentication for Hadoop HTTP web-consoles -->
- <property>
- <name>hadoop.http.filter.initializers</name>
- <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
- </property>
- <property>
- <name>hadoop.http.authentication.type</name>
- <value>simple</value>
- </property>
-
- <property>
- <name>hadoop.http.authentication.token.validity</name>
- <value>36000</value>
- </property>
- <property>
- <name>hadoop.http.authentication.signature.secret.file</name>
- <value>HADOOP_HTTP_AUTHENTICATION_SIGNATURE_SECRET_FILE_REPLACE</value>
- <description>
- The signature secret for signing the authentication tokens.
- If not set a random secret is generated at startup time.
- The same secret should be used for JT/NN/DN/TT configurations.
- </description>
- </property>
-
- <property>
- <name>hadoop.http.authentication.simple.anonymous.allowed</name>
- <value>true</value>
- </property>
-
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/tmp/hadoop-${user.name}</value>
- </property>
-
- <property>
- <name>io.bytes.per.checksum</name>
- <value>4096</value>
- </property>
-
- <property>
- <name>fs.inmemory.size.mb</name>
- <value>200</value>
- </property>
-
- <property>
- <name>io.file.buffer.size</name>
- <value>131072</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.mapred.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.mapred.groups</name>
- <value>*</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.hive.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.hive.groups</name>
- <value>*</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.hadoop.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.hadoop.groups</name>
- <value>*</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.yarn.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.yarn.groups</name>
- <value>*</value>
- </property>
-
- <!--yarn registery config-->
- <property>
- <description>
- Is the registry enabled in the YARN Resource Manager?
- If true, the YARN RM will, as needed.
- create the user and system paths, and purge
- service records when containers, application attempts
- and applications complete.
- If false, the paths must be created by other means,
- and no automatic cleanup of service records will take place.
- </description>
- <name>hadoop.registry.rm.enabled</name>
- <value>false</value>
- </property>
-
- <property>
- <description>
- A comma separated list of hostname:port pairs defining the
- zookeeper quorum binding for the registry
- </description>
- <name>hadoop.registry.zk.quorum</name>
- <value>YARN_ZK_ADDRESS_REPLACE</value>
- </property>
-
- <property>
- <description>
- The root zookeeper node for the registry
- </description>
- <name>hadoop.registry.zk.root</name>
- <value>/registry</value>
- </property>
-
- <property>
- <description>
- Zookeeper connection retry count before failing
- </description>
- <name>hadoop.registry.zk.retry.times</name>
- <value>5</value>
- </property>
-
- <property>
- <description>
- </description>
- <name>hadoop.registry.zk.retry.interval.ms</name>
- <value>1000</value>
- </property>
-
- <property>
- <description>
- Zookeeper session timeout in milliseconds
- </description>
- <name>hadoop.registry.zk.connection.timeout.ms</name>
- <value>15000</value>
- </property>
-</configuration>
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+ Licensed 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. See accompanying LICENSE file.
+-->
+
+<configuration>
+
+ <!-- file system properties -->
+ <property>
+ <name>fs.defaultFS</name>
+ <value>FS_DEFAULTFS_REPLACE</value>
+ <description>The name of the default file system. Either the literal string "local" or a host:port for NDFS. </description>
+ <final>true</final>
+ </property>
+
+ <!-- add LZO,LZ4 compression support -->
+ <property>
+ <name>io.compression.codecs</name>
+ <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.Lz4Codec,org.apache.hadoop.io.compress.SnappyCodec</value>
+ </property>
+
+ <property>
+ <name>io.compression.codec.lzo.class</name>
+ <value>com.hadoop.compression.lzo.LzoCodec</value>
+ </property>
+
+ <!-- Web Interface Configuration -->
+ <property>
+ <name>webinterface.private.actions</name>
+ <value>false</value>
+ <description> If set to true, the web interfaces of JT and NN may
+ contain
+ actions, such as kill job, delete file, etc., that should
+ not be exposed to public. Enable this option if the interfaces
+ are only reachable by those who have the right authorization.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.security.authentication</name>
+ <value>simple</value>
+ <description>
+ Set the authentication for the cluster. Valid values are: simple or
+ kerberos.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.security.authorization</name>
+ <value>false</value>
+ <description>
+ Enable authorization for different protocols.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.security.groups.cache.secs</name>
+ <value>14400</value>
+ </property>
+
+ <!-- Authentication for Hadoop HTTP web-consoles -->
+ <property>
+ <name>hadoop.http.filter.initializers</name>
+ <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
+ </property>
+ <property>
+ <name>hadoop.http.authentication.type</name>
+ <value>simple</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.token.validity</name>
+ <value>36000</value>
+ </property>
+ <property>
+ <name>hadoop.http.authentication.signature.secret.file</name>
+ <value>HADOOP_HTTP_AUTHENTICATION_SIGNATURE_SECRET_FILE_REPLACE</value>
+ <description>
+ The signature secret for signing the authentication tokens.
+ If not set a random secret is generated at startup time.
+ The same secret should be used for JT/NN/DN/TT configurations.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.simple.anonymous.allowed</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <name>hadoop.tmp.dir</name>
+ <value>/tmp/hadoop-${user.name}</value>
+ </property>
+
+ <property>
+ <name>io.bytes.per.checksum</name>
+ <value>4096</value>
+ </property>
+
+ <property>
+ <name>fs.inmemory.size.mb</name>
+ <value>200</value>
+ </property>
+
+ <property>
+ <name>io.file.buffer.size</name>
+ <value>131072</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.mapred.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.mapred.groups</name>
+ <value>*</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.hive.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.hive.groups</name>
+ <value>*</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.hadoop.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.hadoop.groups</name>
+ <value>*</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.yarn.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.yarn.groups</name>
+ <value>*</value>
+ </property>
+
+ <!--yarn registry config-->
+ <property>
+ <description>
+ Is the registry enabled in the YARN Resource Manager?
+ If true, the YARN RM will, as needed.
+ create the user and system paths, and purge
+ service records when containers, application attempts
+ and applications complete.
+ If false, the paths must be created by other means,
+ and no automatic cleanup of service records will take place.
+ </description>
+ <name>hadoop.registry.rm.enabled</name>
+ <value>false</value>
+ </property>
+
+ <property>
+ <description>
+ A comma separated list of hostname:port pairs defining the
+ zookeeper quorum binding for the registry
+ </description>
+ <name>hadoop.registry.zk.quorum</name>
+ <value>YARN_ZK_ADDRESS_REPLACE</value>
+ </property>
+
+ <property>
+ <description>
+ The root zookeeper node for the registry
+ </description>
+ <name>hadoop.registry.zk.root</name>
+ <value>/registry</value>
+ </property>
+
+ <property>
+ <description>
+ Zookeeper connection retry count before failing
+ </description>
+ <name>hadoop.registry.zk.retry.times</name>
+ <value>5</value>
+ </property>
+
+ <property>
+ <description>
+ </description>
+ <name>hadoop.registry.zk.retry.interval.ms</name>
+ <value>1000</value>
+ </property>
+
+ <property>
+ <description>
+ Zookeeper session timeout in milliseconds
+ </description>
+ <name>hadoop.registry.zk.connection.timeout.ms</name>
+ <value>15000</value>
+ </property>
+</configuration>
diff --git a/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/core-site.xml b/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/core-site.xml
index 086dd4d..27ed641 100755
--- a/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/core-site.xml
+++ b/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/core-site.xml
@@ -1,235 +1,235 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
- Licensed 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. See accompanying LICENSE file.
--->
-
-<configuration>
- <property>
- <name>local.realm</name>
- <value>LOCAL_REALM_REPLACE</value>
- </property>
-
- <!-- file system properties -->
- <property>
- <name>fs.defaultFS</name>
- <value>FS_DEFAULTFS_REPLACE</value>
- <description>The name of the default file system. Either the literal string "local" or a host:port for NDFS. </description>
- <final>true</final>
- </property>
-
- <!-- add LZO,LZ4 compression support -->
- <property>
- <name>io.compression.codecs</name>
- <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.Lz4Codec,org.apache.hadoop.io.compress.SnappyCodec</value>
- </property>
-
- <property>
- <name>io.compression.codec.lzo.class</name>
- <value>com.hadoop.compression.lzo.LzoCodec</value>
- </property>
-
- <!-- Web Interface Configuration -->
- <property>
- <name>webinterface.private.actions</name>
- <value>false</value>
- <description> If set to true, the web interfaces of JT and NN may
- contain
- actions, such as kill job, delete file, etc., that should
- not be exposed to public. Enable this option if the interfaces
- are only reachable by those who have the right authorization.
- </description>
- </property>
-
- <property>
- <name>hadoop.security.authentication</name>
- <value>kerberos</value>
- <description>
- Set the authentication for the cluster. Valid values are: simple or
- kerberos.
- </description>
- </property>
-
- <property>
- <name>hadoop.security.authorization</name>
- <value>true</value>
- <description>
- Enable authorization for different protocols.
- </description>
- </property>
-
- <property>
- <name>hadoop.security.groups.cache.secs</name>
- <value>14400</value>
- </property>
-
- <property>
- <name>hadoop.kerberos.kinit.command</name>
- <value>/usr/bin/kinit</value>
- </property>
-
- <!-- Authentication for Hadoop HTTP web-consoles -->
- <property>
- <name>hadoop.http.filter.initializers</name>
- <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
- </property>
-
- <property>
- <name>hadoop.http.authentication.type</name>
- <value>kerberos</value>
- </property>
-
- <property>
- <name>hadoop.http.authentication.token.validity</name>
- <value>36000</value>
- </property>
-
- <property>
- <name>hadoop.http.authentication.signature.secret.file</name>
- <value>HADOOP_HTTP_AUTHENTICATION_SIGNATURE_SECRET_FILE_REPLACE</value>
- <description>
- The signature secret for signing the authentication tokens.
- If not set a random secret is generated at startup time.
- The same secret should be used for JT/NN/DN/TT configurations.
- </description>
- </property>
-
- <property>
- <name>hadoop.http.authentication.cookie.domain</name>
- <value>${local.realm}</value>
- </property>
-
- <property>
- <name>hadoop.http.authentication.simple.anonymous.allowed</name>
- <value>true</value>
- </property>
-
- <property>
- <name>hadoop.http.authentication.kerberos.principal</name>
- <value>HTTP/_HOST@${local.realm}</value>
- </property>
-
- <property>
- <name>hadoop.http.authentication.kerberos.keytab</name>
- <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
- </property>
-
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/tmp/hadoop-${user.name}</value>
- </property>
-
- <property>
- <name>io.bytes.per.checksum</name>
- <value>4096</value>
- </property>
-
- <property>
- <name>fs.inmemory.size.mb</name>
- <value>200</value>
- </property>
-
- <property>
- <name>io.file.buffer.size</name>
- <value>131072</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.mapred.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.mapred.groups</name>
- <value>*</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.hive.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.hive.groups</name>
- <value>*</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.hadoop.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.hadoop.groups</name>
- <value>*</value>
- </property>
-
- <property>
- <name>hadoop.proxyuser.yarn.hosts</name>
- <value>*</value>
- </property>
- <property>
- <name>hadoop.proxyuser.yarn.groups</name>
- <value>*</value>
- </property>
-
- <!--yarn registery config-->
- <property>
- <description>
- Is the registry enabled in the YARN Resource Manager?
- If true, the YARN RM will, as needed.
- create the user and system paths, and purge
- service records when containers, application attempts
- and applications complete.
- If false, the paths must be created by other means,
- and no automatic cleanup of service records will take place.
- </description>
- <name>hadoop.registry.rm.enabled</name>
- <value>false</value>
- </property>
-
- <property>
- <description>
- A comma separated list of hostname:port pairs defining the
- zookeeper quorum binding for the registry
- </description>
- <name>hadoop.registry.zk.quorum</name>
- <value>YARN_ZK_ADDRESS_REPLACE</value>
- </property>
-
- <property>
- <description>
- The root zookeeper node for the registry
- </description>
- <name>hadoop.registry.zk.root</name>
- <value>/registry</value>
- </property>
-
- <property>
- <description>
- Zookeeper connection retry count before failing
- </description>
- <name>hadoop.registry.zk.retry.times</name>
- <value>5</value>
- </property>
-
- <property>
- <description>
- </description>
- <name>hadoop.registry.zk.retry.interval.ms</name>
- <value>1000</value>
- </property>
-
- <property>
- <description>
- Zookeeper session timeout in milliseconds
- </description>
- <name>hadoop.registry.zk.connection.timeout.ms</name>
- <value>15000</value>
- </property>
-</configuration>
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+ Licensed 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. See accompanying LICENSE file.
+-->
+
+<configuration>
+ <property>
+ <name>local.realm</name>
+ <value>LOCAL_REALM_REPLACE</value>
+ </property>
+
+ <!-- file system properties -->
+ <property>
+ <name>fs.defaultFS</name>
+ <value>FS_DEFAULTFS_REPLACE</value>
+ <description>The name of the default file system. Either the literal string "local" or a host:port for NDFS. </description>
+ <final>true</final>
+ </property>
+
+ <!-- add LZO,LZ4 compression support -->
+ <property>
+ <name>io.compression.codecs</name>
+ <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress.Lz4Codec,org.apache.hadoop.io.compress.SnappyCodec</value>
+ </property>
+
+ <property>
+ <name>io.compression.codec.lzo.class</name>
+ <value>com.hadoop.compression.lzo.LzoCodec</value>
+ </property>
+
+ <!-- Web Interface Configuration -->
+ <property>
+ <name>webinterface.private.actions</name>
+ <value>false</value>
+ <description> If set to true, the web interfaces of JT and NN may
+ contain
+ actions, such as kill job, delete file, etc., that should
+ not be exposed to public. Enable this option if the interfaces
+ are only reachable by those who have the right authorization.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.security.authentication</name>
+ <value>kerberos</value>
+ <description>
+ Set the authentication for the cluster. Valid values are: simple or
+ kerberos.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.security.authorization</name>
+ <value>true</value>
+ <description>
+ Enable authorization for different protocols.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.security.groups.cache.secs</name>
+ <value>14400</value>
+ </property>
+
+ <property>
+ <name>hadoop.kerberos.kinit.command</name>
+ <value>/usr/bin/kinit</value>
+ </property>
+
+ <!-- Authentication for Hadoop HTTP web-consoles -->
+ <property>
+ <name>hadoop.http.filter.initializers</name>
+ <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.type</name>
+ <value>kerberos</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.token.validity</name>
+ <value>36000</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.signature.secret.file</name>
+ <value>HADOOP_HTTP_AUTHENTICATION_SIGNATURE_SECRET_FILE_REPLACE</value>
+ <description>
+ The signature secret for signing the authentication tokens.
+ If not set a random secret is generated at startup time.
+ The same secret should be used for JT/NN/DN/TT configurations.
+ </description>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.cookie.domain</name>
+ <value>${local.realm}</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.simple.anonymous.allowed</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.kerberos.principal</name>
+ <value>HTTP/_HOST@${local.realm}</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.authentication.kerberos.keytab</name>
+ <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
+ </property>
+
+ <property>
+ <name>hadoop.tmp.dir</name>
+ <value>/tmp/hadoop-${user.name}</value>
+ </property>
+
+ <property>
+ <name>io.bytes.per.checksum</name>
+ <value>4096</value>
+ </property>
+
+ <property>
+ <name>fs.inmemory.size.mb</name>
+ <value>200</value>
+ </property>
+
+ <property>
+ <name>io.file.buffer.size</name>
+ <value>131072</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.mapred.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.mapred.groups</name>
+ <value>*</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.hive.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.hive.groups</name>
+ <value>*</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.hadoop.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.hadoop.groups</name>
+ <value>*</value>
+ </property>
+
+ <property>
+ <name>hadoop.proxyuser.yarn.hosts</name>
+ <value>*</value>
+ </property>
+ <property>
+ <name>hadoop.proxyuser.yarn.groups</name>
+ <value>*</value>
+ </property>
+
+ <!--yarn registry config-->
+ <property>
+ <description>
+ Is the registry enabled in the YARN Resource Manager?
+ If true, the YARN RM will, as needed.
+ create the user and system paths, and purge
+ service records when containers, application attempts
+ and applications complete.
+ If false, the paths must be created by other means,
+ and no automatic cleanup of service records will take place.
+ </description>
+ <name>hadoop.registry.rm.enabled</name>
+ <value>false</value>
+ </property>
+
+ <property>
+ <description>
+ A comma separated list of hostname:port pairs defining the
+ zookeeper quorum binding for the registry
+ </description>
+ <name>hadoop.registry.zk.quorum</name>
+ <value>YARN_ZK_ADDRESS_REPLACE</value>
+ </property>
+
+ <property>
+ <description>
+ The root zookeeper node for the registry
+ </description>
+ <name>hadoop.registry.zk.root</name>
+ <value>/registry</value>
+ </property>
+
+ <property>
+ <description>
+ Zookeeper connection retry count before failing
+ </description>
+ <name>hadoop.registry.zk.retry.times</name>
+ <value>5</value>
+ </property>
+
+ <property>
+ <description>
+ </description>
+ <name>hadoop.registry.zk.retry.interval.ms</name>
+ <value>1000</value>
+ </property>
+
+ <property>
+ <description>
+ Zookeeper session timeout in milliseconds
+ </description>
+ <name>hadoop.registry.zk.connection.timeout.ms</name>
+ <value>15000</value>
+ </property>
+</configuration>
diff --git a/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/yarn-site.xml b/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/yarn-site.xml
index fe9f927..fd5c840 100755
--- a/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/yarn-site.xml
+++ b/dev-support/submarine-installer/package/hadoop/yarn/etc_secure/hadoop/yarn-site.xml
@@ -1,652 +1,652 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
-<!--
- Licensed 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. See accompanying LICENSE file.
--->
-
-<configuration>
- <property>
- <name>local.hostname.rm1</name>
- <value>YARN_RESOURCE_MANAGER_HOSTS1_REPLACE</value>
- </property>
- <property>
- <name>local.hostname.rm2</name>
- <value>YARN_RESOURCE_MANAGER_HOSTS2_REPLACE</value>
- </property>
- <property>
- <name>local.cluster-id</name>
- <value>LOCAL_CLUSTER_ID_REPLACE</value>
- </property>
-
- <!--ResourceManager Restart-->
- <property>
- <name>yarn.resourcemanager.zk-address</name>
- <value>YARN_ZK_ADDRESS_REPLACE</value>
- </property>
- <property>
- <name>yarn.resourcemanager.recovery.enabled</name>
- <value>true</value>
- </property>
- <property>
- <name>yarn.resourcemanager.store.class</name>
- <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
- </property>
- <property>
- <name>yarn.resourcemanager.zk-timeout-ms</name>
- <value>90000</value>
- </property>
- <property>
- <name>yarn.resourcemanager.am.max-attempts</name>
- <value>3</value>
- </property>
- <property>
- <name>yarn.resourcemanager.state-store.max-completed-applications</name>
- <value>200</value>
- </property>
-
- <!--ResourceManager HA-->
- <property>
- <name>yarn.resourcemanager.ha.enabled</name>
- <value>true</value>
- </property>
- <property>
- <name>yarn.resourcemanager.cluster-id</name>
- <value>${local.cluster-id}</value>
- </property>
- <property>
- <name>yarn.resourcemanager.ha.rm-ids</name>
- <value>rm1,rm2</value>
- </property>
-
- <property>
- <name>yarn.resourcemanager.hostname.rm1</name>
- <value>${local.hostname.rm1}</value>
- </property>
-
- <property>
- <name>yarn.resourcemanager.hostname.rm2</name>
- <value>${local.hostname.rm2}</value>
- </property>
-
- <property>
- <name>yarn.resourcemanager.webapp.address.rm1</name>
- <value>${local.hostname.rm1}:8088</value>
- </property>
-
- <property>
- <name>yarn.resourcemanager.webapp.address.rm2</name>
- <value>${local.hostname.rm2}:8088</value>
- </property>
-
- <!--aux services-->
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle,spark_shuffle,timeline_collector</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
- <value>org.apache.hadoop.mapred.ShuffleHandler</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
- <value>org.apache.spark.network.yarn.YarnShuffleService</value>
- </property>
- <property>
- <name>spark.yarn.shuffle.stopOnFailure</name>
- <value>true</value>
- </property>
- <property>
- <name>yarn.nodemanager.aux-services.timeline_collector.class</name>
- <value>org.apache.hadoop.yarn.server.timelineservice.collector.PerNodeTimelineCollectorsAuxService</value>
- </property>
-
- <!--local and log dir, 12 disks-->
- <property>
- <name>yarn.nodemanager.local-dirs</name>
- <value>YARN_NODEMANAGER_LOCAL_DIRS_REPLACE</value>
- </property>
- <property>
- <name>yarn.nodemanager.log-dirs</name>
- <value>YARN_NODEMANAGER_LOG_DIRS_REPLACE</value>
- </property>
-
- <!--log-aggregation configuration-->
- <property>
- <description>Where to aggregate logs in hdfs</description>
- <name>yarn.nodemanager.remote-app-log-dir</name>
- <value>YARN_AGGREGATED_LOG_DIR_REPLACE</value>
- </property>
- <property>
- <name>yarn.log-aggregation-enable</name>
- <value>true</value>
- </property>
- <property>
- <name>yarn.log-aggregation.retain-seconds</name>
- <value>604800</value>
- </property>
- <property>
- <name>yarn.log-aggregation.retain-check-interval-seconds</name>
- <value>86400</value>
- </property>
- <property>
- <name>yarn.nodemanager.log-aggregation.compression-type</name>
- <value>gz</value>
- </property>
-
- <!-- ResourceManager security configs -->
- <property>
- <name>yarn.resourcemanager.keytab</name>
- <value>YARN_KEYTAB_LOCATION_REPLACE</value> <!-- path to the YARN keytab -->
- </property>
- <property>
- <name>yarn.resourcemanager.principal</name>
- <value>yarn/_HOST@${local.realm}</value>
- </property>
-
- <!-- NodeManager security configs -->
- <property>
- <name>yarn.nodemanager.keytab</name>
- <value>YARN_KEYTAB_LOCATION_REPLACE</value> <!-- path to the YARN keytab -->
- </property>
- <property>
- <name>yarn.nodemanager.principal</name>
- <value>yarn/_HOST@${local.realm}</value>
- </property>
-
- <!--container executor configuration-->
- <property>
- <name>yarn.nodemanager.container-executor.class</name>
- <value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor</value>
- </property>
- <property>
- <name>yarn.nodemanager.linux-container-executor.path</name>
- <value>/etc/yarn/sbin/Linux-amd64-64/container-executor</value>
- </property>
- <property>
- <name>yarn.nodemanager.linux-container-executor.group</name>
- <value>yarn</value>
- </property>
-
- <!--scheduler configuration-->
- <property>
- <description>Miniumum request grant-able by the RM scheduler</description>
- <name>yarn.scheduler.minimum-allocation-mb</name>
- <value>512</value>
- </property>
- <property>
- <description>Maximum request grant-able by the RM scheduler</description>
- <name>yarn.scheduler.maximum-allocation-mb</name>
- <value>32768</value>
- </property>
- <property>
- <name>yarn.scheduler.minimum-allocation-vcores</name>
- <value>1</value>
- </property>
- <property>
- <name>yarn.scheduler.maximum-allocation-vcores</name>
- <value>30</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.class</name>
- <!--value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value-->
- <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
- </property>
- <!--property>
- <name>yarn.scheduler.fair.allocation.file</name>
- <value>/home/hadoop/hadoop-current/etc/hadoop/fair-scheduler.xml</value>
- </property-->
- <property>
- <name>yarn.scheduler.increment-allocation-mb</name>
- <value>512</value>
- </property>
- <property>
- <name>yarn.scheduler.fair.allow-undeclared-pools</name>
- <value>false</value>
- </property>
-
- <property>
- <name>yarn.client.nodemanager-connect.max-wait-ms</name>
- <value>60000</value>
- </property>
-
- <!--handler count configuration-->
- <property>
- <name>yarn.resourcemanager.client.thread-count</name>
- <value>64</value>
- </property>
- <property>
- <name>yarn.resourcemanager.resource-tracker.client.thread-count</name>
- <value>64</value>
- </property>
- <property>
- <name>yarn.resourcemanager.scheduler.client.thread-count</name>
- <value>64</value>
- </property>
- <property>
- <name>yarn.nodemanager.container-manager.thread-count</name>
- <value>32</value>
- </property>
- <property>
- <name>yarn.nodemanager.container-metrics.enable</name>
- <value>true</value>
- <description>Todo hbase metrics cleanup mechanism</description>
- </property>
-
- <!--NodeManager Disk configuration-->
- <property>
- <description>The minimum space that must be available on a disk for
- it to be used. This applies to yarn.nodemanager.local-dirs and
- yarn.nodemanager.log-dirs.</description>
- <name>yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb</name>
- <value>1000</value>
- </property>
- <property>
- <description>Defines how often NMs wake up to upload log files.
- The default value is -1. By default, the logs will be uploaded when
- the application is finished. By setting this configure, logs can be uploaded
- periodically when the application is running. The minimum rolling-interval-seconds
- can be set is 3600.
- </description>
- <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
- <value>3600</value>
- </property>
- <property>
- <description>Enable the node manager to recover after starting</description>
- <name>yarn.nodemanager.recovery.enabled</name>
- <value>true</value>
- </property>
- <property>
- <description>The local filesystem directory in which the node manager will
- store state when recovery is enabled.</description>
- <name>yarn.nodemanager.recovery.dir</name>
- <value>YARN_NODEMANAGER_RECOVERY_DIR_REPLACE</value>
- </property>
-
- <!--NodeManager configuration-->
- <property>
- <name>yarn.nodemanager.resource.memory-mb</name>
- <value>204800</value>
- </property>
- <property>
- <name>yarn.nodemanager.resource.cpu-vcores</name>
- <value>40</value>
- </property>
-
- <property>
- <name>yarn.admin.acl</name>
- <value>hadoop,yarn</value>
- </property>
- <property>
- <name>yarn.acl.enable</name>
- <value>true</value>
- </property>
-
- <!--property>
- <name>yarn.resourcemanager.nodes.include-path</name>
- <value>/home/hadoop/hosts/yarn_include</value>
- </property-->
- <property>
- <name>yarn.resourcemanager.nodes.exclude-path</name>
- <value>YARN_RESOURCEMANAGER_NODES_EXCLUDE_PATH_REPLACE</value>
- </property>
- <property>
- <description>If true, ResourceManager will have proxy-user privileges.
- Use case: In a secure cluster, YARN requires the user hdfs delegation-tokens to
- do localization and log-aggregation on behalf of the user. If this is set to true,
- ResourceManager is able to request new hdfs delegation tokens on behalf of
- the user. This is needed by long-running-service, because the hdfs tokens
- will eventually expire and YARN requires new valid tokens to do localization
- and log-aggregation. Note that to enable this use case, the corresponding
- HDFS NameNode has to configure ResourceManager as the proxy-user so that
- ResourceManager can itself ask for new tokens on behalf of the user when
- tokens are past their max-life-time.</description>
- <name>yarn.resourcemanager.proxy-user-privileges.enabled</name>
- <value>true</value>
- </property>
-
- <!--YARN-2397-->
- <property>
- <name>yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled</name>
- <value>false</value>
- </property>
-
- <property>
- <name>hadoop.http.filter.initializers</name>
- <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
- </property>
- <property>
- <name>hadoop.http.authentication.type</name>
- <!--<value>simple</value>-->
- <value>kerberos</value>
- </property>
-
- <property>
- <name>yarn.nodemanager.container.use.serialgc.enable</name>
- <value>true</value>
- </property>
-
- <!--timeline config -->
- <property>
- <description>Indicate to clients whether Timeline service is enabled or not.
- If enabled, the TimelineClient library used by end-users will post entities
- and events to the Timeline server.</description>
- <name>yarn.timeline-service.enabled</name>
- <value>true</value>
- </property>
-
- <property>
- <description>The setting that controls whether yarn system metrics is
- published on the timeline server or not by RM.</description>
- <name>yarn.resourcemanager.system-metrics-publisher.enabled</name>
- <value>true</value>
- </property>
-
- <property>
- <description>Indicate to clients whether to query generic application
- data from timeline history-service or not. If not enabled then application
- data is queried only from Resource Manager.</description>
- <name>yarn.timeline-service.generic-application-history.enabled</name>
- <value>true</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.http-authentication.type</name>
- <!--<value>simple</value>-->
- <value>kerberos</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.principal</name>
- <value>yarn/_HOST@${local.realm}</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.keytab</name>
- <value>YARN_KEYTAB_LOCATION_REPLACE</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.http-authentication.kerberos.principal</name>
- <value>HTTP/_HOST@${local.realm}</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.http-authentication.kerberos.keytab</name>
- <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.hostname</name>
- <value>YARN_TIMELINE_HOST_REPLACE</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.hbase.coprocessor.jar.hdfs.location</name>
- <value>/hbase/coprocessor</value>
- </property>
-
- <property>
- <description>URL for log aggregation server web service</description>
- <name>yarn.log.server.web-service.url</name>
- <value>http://YARN_TIMELINE_HOST_REPLACE:8189/ws/v2/applicationlog</value>
- </property>
-
- <!-- timeline v1 configuration -->
- <property>
- <name>yarn.timeline-service.leveldb-timeline-store.path</name>
- <value>YARN_TIMELINE_SERVICE_LEVELDB_STATE_STORE_PATH_REPLACE</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.leveldb-state-store.path</name>
- <value>YARN_TIMELINE_SERVICE_LEVELDB_STATE_STORE_PATH_REPLACE</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.leveldb-timeline-store.read-cache-size</name>
- <value>104857600</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size</name>
- <value>10000</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size</name>
- <value>10000</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
- <value>300000</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.recovery.enabled</name>
- <value>true</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.state-store-class</name>
- <value>org.apache.hadoop.yarn.server.timeline.recovery.LeveldbTimelineStateStore</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.store-class</name>
- <value>org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.ttl-enable</name>
- <value>true</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.ttl-ms</name>
- <value>2678400000</value>
- </property>
-
- <!-- timeline server v2 -->
- <property>
- <name>yarn.timeline-service.version</name>
- <value>2.0f</value>
- </property>
-
- <property>
- <description>The setting that controls whether yarn system metrics is
- published on the Timeline service or not by RM And NM.</description>
- <name>yarn.system-metrics-publisher.enabled</name>
- <value>true</value>
- </property>
-
- <property>
- <description>The setting that controls whether yarn container events are
- published to the timeline service or not by RM. This configuration setting
- is for ATS V2.
- </description>
- <name>yarn.rm.system-metrics-publisher.emit-container-events</name>
- <value>true</value>
- </property>
-
- <property>
- <description> Optional URL to an hbase-site.xml configuration file to be
- used to connect to the timeline-service hbase cluster. If empty or not
- specified, then the HBase configuration will be loaded from the classpath.
- When specified the values in the specified configuration file will override
- those from the ones that are present on the classpath.
- </description>
- <name>yarn.timeline-service.hbase.configuration.file</name>
- <value>YARN_TIMELINE_SERVICE_HBASE_CONFIGURATION_FILE_REPLACE</value>
- </property>
-
- <!--Enable timeline server v1.5 and v2-->
- <property>
- <name>yarn.timeline-service.versions</name>
- <value>1.5f,2.0f</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.entity-group-fs-store.active-dir</name>
- <value>YARN_TIMELINE_FS_STORE_DIR_REPLACE/active</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.entity-group-fs-store.done-dir</name>
- <value>YARN_TIMELINE_FS_STORE_DIR_REPLACE/done</value>
- </property>
-
- <!--To void confilcts with timeline server 8188 port-->
- <property>
- <name>yarn.timeline-service.reader.webapp.address</name>
- <value>YARN_TIMELINE_HOST_REPLACE:8189</value>
- </property>
-
- <property>
- <name>yarn.timeline-service.entity-group-fs-store.summary-store</name>
- <value>org.apache.hadoop.yarn.server.timeline.RollingLevelDBTimelineStore</value>
- </property>
-
- <property>
- <description>Enable services rest api on ResourceManager.</description>
- <name>yarn.webapp.api-service.enable</name>
- <value>true</value>
- </property>
-
- <property>
- <description>The domain name for Hadoop cluster associated records. As short as possible.</description>
- <name>hadoop.registry.dns.domain-name</name>
- <value>ml</value>
- </property>
-
- <property>
- <description>The DNS functionality is enabled for the cluster. Default is false.</description>
- <name>hadoop.registry.dns.enabled</name>
- <value>true</value>
- </property>
- <property>
- <description>Address associated with the network interface to which the DNS listener should bind.</description>
- <name>hadoop.registry.dns.bind-address</name>
- <value>YARN_REGISTRY_DNS_HOST_REPLACE</value>
- </property>
- <property>
- <description>The port number for the DNS listener. The default port is 5353.
- If the standard privileged port 53 is used, make sure start the DNS with jsvc support.</description>
- <name>hadoop.registry.dns.bind-port</name>
- <!--<value>5353</value>-->
- <value>YARN_REGISTRY_DNS_HOST_PORT_REPLACE</value>
- </property>
-
- <property>
- <description>
- The Kerberos keytab file to be used for spnego filter for the NM web interface.
- </description>
- <name>yarn.nodemanager.webapp.spnego-keytab-file</name>
- <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
- </property>
-
- <property>
- <description>
- The Kerberos principal to be used for spnego filter for the NM web interface.
- </description>
- <name>yarn.nodemanager.webapp.spnego-principal</name>
- <value>HTTP/_HOST@${local.realm}</value>
- </property>
-
- <property>
- <description>
- The Kerberos keytab file to be used for spnego filter for the RM web interface.
- </description>
- <name>yarn.resourcemanager.webapp.spnego-keytab-file</name>
- <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
- </property>
-
- <property>
- <description>
- The Kerberos principal to be used for spnego filter for the RM web interface.
- </description>
- <name>yarn.resourcemanager.webapp.spnego-principal</name>
- <value>HTTP/_HOST@${local.realm}</value>
- </property>
-
- <!-- cgroup configuration -->
- <property>
- <name>yarn.nodemanager.linux-container-executor.resources-handler.class</name>
- <value>org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler</value>
- </property>
- <property>
- <name>yarn.nodemanager.linux-container-executor.cgroups.mount</name>
- <value>false</value>
- </property>
- <property>
- <name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
- <value>80</value>
- </property>
- <property>
- <description>Whether virtual memory limits will be enforced for containers.</description>
- <name>yarn.nodemanager.vmem-check-enabled</name>
- <value>false</value>
- </property>
- <!-- Enable memory cgroup -->
- <property>
- <description>Whether YARN CGroups memory tracking is enabled.</description>
- <name>yarn.nodemanager.resource.memory.enabled</name>
- <value>true</value>
- </property>
-
- <!--docker configuration-->
- <property>
- <name>yarn.nodemanager.runtime.linux.docker.default-container-network</name>
- <value>YARN_DOCKER_CONTAINER_DEFAULT_NETWORK_REPLACE</value>
- </property>
- <property>
- <name>yarn.nodemanager.runtime.linux.allowed-runtimes</name>
- <value>default,docker</value>
- </property>
- <property>
- <name>yarn.nodemanager.runtime.linux.docker.allowed-container-networks</name>
- <value>YARN_DOCKER_ALLOWED_CONTAINER_NETWORKS_REPLACE</value>
- </property>
- <property>
- <name>yarn.nodemanager.runtime.linux.docker.privileged-containers.allowed</name>
- <value>false</value>
- </property>
- <property>
- <name>yarn.nodemanager.runtime.linux.docker.privileged-containers.acl</name>
- <value></value>
- </property>
- <property>
- <name>yarn.nodemanager.runtime.linux.docker.capabilities</name>
- <value>CHOWN,DAC_OVERRIDE,FSETID,FOWNER,MKNOD,NET_RAW,SETGID,SETUID,SETFCAP,SETPCAP,NET_BIND_SERVICE,SYS_CHROOT,KILL,AUDIT_WRITE</value>
- </property>
-
- <!--Yarn UI V2-->
- <property>
- <name>yarn.webapp.ui2.enable</name>
- <value>true</value>
- </property>
-
- <!--property>
- <name>yarn.service.am.java.opts</name>
- <value>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=16002</value>
- </property-->
-
- <property>
- <name>yarn.service.base.path</name>
- <value>/tmp/.LOCAL_CLUSTER_ID_REPLACE/</value>
- </property>
-
- <property>
- <name>yarn.nodemanager.address</name>
- <value>0.0.0.0:45454</value>
- </property>
-
-</configuration>
+<?xml version="1.0" encoding="UTF-8"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+ Licensed 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. See accompanying LICENSE file.
+-->
+
+<configuration>
+ <property>
+ <name>local.hostname.rm1</name>
+ <value>YARN_RESOURCE_MANAGER_HOSTS1_REPLACE</value>
+ </property>
+ <property>
+ <name>local.hostname.rm2</name>
+ <value>YARN_RESOURCE_MANAGER_HOSTS2_REPLACE</value>
+ </property>
+ <property>
+ <name>local.cluster-id</name>
+ <value>LOCAL_CLUSTER_ID_REPLACE</value>
+ </property>
+
+ <!--ResourceManager Restart-->
+ <property>
+ <name>yarn.resourcemanager.zk-address</name>
+ <value>YARN_ZK_ADDRESS_REPLACE</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.recovery.enabled</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.store.class</name>
+ <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.zk-timeout-ms</name>
+ <value>90000</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.am.max-attempts</name>
+ <value>3</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.state-store.max-completed-applications</name>
+ <value>200</value>
+ </property>
+
+ <!--ResourceManager HA-->
+ <property>
+ <name>yarn.resourcemanager.ha.enabled</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.cluster-id</name>
+ <value>${local.cluster-id}</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.ha.rm-ids</name>
+ <value>rm1,rm2</value>
+ </property>
+
+ <property>
+ <name>yarn.resourcemanager.hostname.rm1</name>
+ <value>${local.hostname.rm1}</value>
+ </property>
+
+ <property>
+ <name>yarn.resourcemanager.hostname.rm2</name>
+ <value>${local.hostname.rm2}</value>
+ </property>
+
+ <property>
+ <name>yarn.resourcemanager.webapp.address.rm1</name>
+ <value>${local.hostname.rm1}:8088</value>
+ </property>
+
+ <property>
+ <name>yarn.resourcemanager.webapp.address.rm2</name>
+ <value>${local.hostname.rm2}:8088</value>
+ </property>
+
+ <!--aux services-->
+ <property>
+ <name>yarn.nodemanager.aux-services</name>
+ <value>mapreduce_shuffle,spark_shuffle,timeline_collector</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
+ <value>org.apache.hadoop.mapred.ShuffleHandler</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.aux-services.spark_shuffle.class</name>
+ <value>org.apache.spark.network.yarn.YarnShuffleService</value>
+ </property>
+ <property>
+ <name>spark.yarn.shuffle.stopOnFailure</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.aux-services.timeline_collector.class</name>
+ <value>org.apache.hadoop.yarn.server.timelineservice.collector.PerNodeTimelineCollectorsAuxService</value>
+ </property>
+
+ <!--local and log dir, 12 disks-->
+ <property>
+ <name>yarn.nodemanager.local-dirs</name>
+ <value>YARN_NODEMANAGER_LOCAL_DIRS_REPLACE</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.log-dirs</name>
+ <value>YARN_NODEMANAGER_LOG_DIRS_REPLACE</value>
+ </property>
+
+ <!--log-aggregation configuration-->
+ <property>
+ <description>Where to aggregate logs in hdfs</description>
+ <name>yarn.nodemanager.remote-app-log-dir</name>
+ <value>YARN_AGGREGATED_LOG_DIR_REPLACE</value>
+ </property>
+ <property>
+ <name>yarn.log-aggregation-enable</name>
+ <value>true</value>
+ </property>
+ <property>
+ <name>yarn.log-aggregation.retain-seconds</name>
+ <value>604800</value>
+ </property>
+ <property>
+ <name>yarn.log-aggregation.retain-check-interval-seconds</name>
+ <value>86400</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.log-aggregation.compression-type</name>
+ <value>gz</value>
+ </property>
+
+ <!-- ResourceManager security configs -->
+ <property>
+ <name>yarn.resourcemanager.keytab</name>
+ <value>YARN_KEYTAB_LOCATION_REPLACE</value> <!-- path to the YARN keytab -->
+ </property>
+ <property>
+ <name>yarn.resourcemanager.principal</name>
+ <value>yarn/_HOST@${local.realm}</value>
+ </property>
+
+ <!-- NodeManager security configs -->
+ <property>
+ <name>yarn.nodemanager.keytab</name>
+ <value>YARN_KEYTAB_LOCATION_REPLACE</value> <!-- path to the YARN keytab -->
+ </property>
+ <property>
+ <name>yarn.nodemanager.principal</name>
+ <value>yarn/_HOST@${local.realm}</value>
+ </property>
+
+ <!--container executor configuration-->
+ <property>
+ <name>yarn.nodemanager.container-executor.class</name>
+ <value>org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.linux-container-executor.path</name>
+ <value>/etc/yarn/sbin/Linux-amd64-64/container-executor</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.linux-container-executor.group</name>
+ <value>yarn</value>
+ </property>
+
+ <!--scheduler configuration-->
+ <property>
+ <description>Minimum request grant-able by the RM scheduler</description>
+ <name>yarn.scheduler.minimum-allocation-mb</name>
+ <value>512</value>
+ </property>
+ <property>
+ <description>Maximum request grant-able by the RM scheduler</description>
+ <name>yarn.scheduler.maximum-allocation-mb</name>
+ <value>32768</value>
+ </property>
+ <property>
+ <name>yarn.scheduler.minimum-allocation-vcores</name>
+ <value>1</value>
+ </property>
+ <property>
+ <name>yarn.scheduler.maximum-allocation-vcores</name>
+ <value>30</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.scheduler.class</name>
+ <!--value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value-->
+ <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
+ </property>
+ <!--property>
+ <name>yarn.scheduler.fair.allocation.file</name>
+ <value>/home/hadoop/hadoop-current/etc/hadoop/fair-scheduler.xml</value>
+ </property-->
+ <property>
+ <name>yarn.scheduler.increment-allocation-mb</name>
+ <value>512</value>
+ </property>
+ <property>
+ <name>yarn.scheduler.fair.allow-undeclared-pools</name>
+ <value>false</value>
+ </property>
+
+ <property>
+ <name>yarn.client.nodemanager-connect.max-wait-ms</name>
+ <value>60000</value>
+ </property>
+
+ <!--handler count configuration-->
+ <property>
+ <name>yarn.resourcemanager.client.thread-count</name>
+ <value>64</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.resource-tracker.client.thread-count</name>
+ <value>64</value>
+ </property>
+ <property>
+ <name>yarn.resourcemanager.scheduler.client.thread-count</name>
+ <value>64</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.container-manager.thread-count</name>
+ <value>32</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.container-metrics.enable</name>
+ <value>true</value>
+ <description>Todo hbase metrics cleanup mechanism</description>
+ </property>
+
+ <!--NodeManager Disk configuration-->
+ <property>
+ <description>The minimum space that must be available on a disk for
+ it to be used. This applies to yarn.nodemanager.local-dirs and
+ yarn.nodemanager.log-dirs.</description>
+ <name>yarn.nodemanager.disk-health-checker.min-free-space-per-disk-mb</name>
+ <value>1000</value>
+ </property>
+ <property>
+ <description>Defines how often NMs wake up to upload log files.
+ The default value is -1. By default, the logs will be uploaded when
+ the application is finished. By setting this configure, logs can be uploaded
+ periodically when the application is running. The minimum rolling-interval-seconds
+ can be set is 3600.
+ </description>
+ <name>yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds</name>
+ <value>3600</value>
+ </property>
+ <property>
+ <description>Enable the node manager to recover after starting</description>
+ <name>yarn.nodemanager.recovery.enabled</name>
+ <value>true</value>
+ </property>
+ <property>
+ <description>The local filesystem directory in which the node manager will
+ store state when recovery is enabled.</description>
+ <name>yarn.nodemanager.recovery.dir</name>
+ <value>YARN_NODEMANAGER_RECOVERY_DIR_REPLACE</value>
+ </property>
+
+ <!--NodeManager configuration-->
+ <property>
+ <name>yarn.nodemanager.resource.memory-mb</name>
+ <value>204800</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.resource.cpu-vcores</name>
+ <value>40</value>
+ </property>
+
+ <property>
+ <name>yarn.admin.acl</name>
+ <value>hadoop,yarn</value>
+ </property>
+ <property>
+ <name>yarn.acl.enable</name>
+ <value>true</value>
+ </property>
+
+ <!--property>
+ <name>yarn.resourcemanager.nodes.include-path</name>
+ <value>/home/hadoop/hosts/yarn_include</value>
+ </property-->
+ <property>
+ <name>yarn.resourcemanager.nodes.exclude-path</name>
+ <value>YARN_RESOURCEMANAGER_NODES_EXCLUDE_PATH_REPLACE</value>
+ </property>
+ <property>
+ <description>If true, ResourceManager will have proxy-user privileges.
+ Use case: In a secure cluster, YARN requires the user hdfs delegation-tokens to
+ do localization and log-aggregation on behalf of the user. If this is set to true,
+ ResourceManager is able to request new hdfs delegation tokens on behalf of
+ the user. This is needed by long-running-service, because the hdfs tokens
+ will eventually expire and YARN requires new valid tokens to do localization
+ and log-aggregation. Note that to enable this use case, the corresponding
+ HDFS NameNode has to configure ResourceManager as the proxy-user so that
+ ResourceManager can itself ask for new tokens on behalf of the user when
+ tokens are past their max-life-time.</description>
+ <name>yarn.resourcemanager.proxy-user-privileges.enabled</name>
+ <value>true</value>
+ </property>
+
+ <!--YARN-2397-->
+ <property>
+ <name>yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled</name>
+ <value>false</value>
+ </property>
+
+ <property>
+ <name>hadoop.http.filter.initializers</name>
+ <value>org.apache.hadoop.security.AuthenticationFilterInitializer</value>
+ </property>
+ <property>
+ <name>hadoop.http.authentication.type</name>
+ <!--<value>simple</value>-->
+ <value>kerberos</value>
+ </property>
+
+ <property>
+ <name>yarn.nodemanager.container.use.serialgc.enable</name>
+ <value>true</value>
+ </property>
+
+ <!--timeline config -->
+ <property>
+ <description>Indicate to clients whether Timeline service is enabled or not.
+ If enabled, the TimelineClient library used by end-users will post entities
+ and events to the Timeline server.</description>
+ <name>yarn.timeline-service.enabled</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <description>The setting that controls whether yarn system metrics is
+ published on the timeline server or not by RM.</description>
+ <name>yarn.resourcemanager.system-metrics-publisher.enabled</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <description>Indicate to clients whether to query generic application
+ data from timeline history-service or not. If not enabled then application
+ data is queried only from Resource Manager.</description>
+ <name>yarn.timeline-service.generic-application-history.enabled</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.http-authentication.type</name>
+ <!--<value>simple</value>-->
+ <value>kerberos</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.principal</name>
+ <value>yarn/_HOST@${local.realm}</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.keytab</name>
+ <value>YARN_KEYTAB_LOCATION_REPLACE</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.http-authentication.kerberos.principal</name>
+ <value>HTTP/_HOST@${local.realm}</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.http-authentication.kerberos.keytab</name>
+ <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.hostname</name>
+ <value>YARN_TIMELINE_HOST_REPLACE</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.hbase.coprocessor.jar.hdfs.location</name>
+ <value>/hbase/coprocessor</value>
+ </property>
+
+ <property>
+ <description>URL for log aggregation server web service</description>
+ <name>yarn.log.server.web-service.url</name>
+ <value>http://YARN_TIMELINE_HOST_REPLACE:8189/ws/v2/applicationlog</value>
+ </property>
+
+ <!-- timeline v1 configuration -->
+ <property>
+ <name>yarn.timeline-service.leveldb-timeline-store.path</name>
+ <value>YARN_TIMELINE_SERVICE_LEVELDB_STATE_STORE_PATH_REPLACE</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.leveldb-state-store.path</name>
+ <value>YARN_TIMELINE_SERVICE_LEVELDB_STATE_STORE_PATH_REPLACE</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.leveldb-timeline-store.read-cache-size</name>
+ <value>104857600</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.leveldb-timeline-store.start-time-read-cache-size</name>
+ <value>10000</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.leveldb-timeline-store.start-time-write-cache-size</name>
+ <value>10000</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.leveldb-timeline-store.ttl-interval-ms</name>
+ <value>300000</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.recovery.enabled</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.state-store-class</name>
+ <value>org.apache.hadoop.yarn.server.timeline.recovery.LeveldbTimelineStateStore</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.store-class</name>
+ <value>org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.ttl-enable</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.ttl-ms</name>
+ <value>2678400000</value>
+ </property>
+
+ <!-- timeline server v2 -->
+ <property>
+ <name>yarn.timeline-service.version</name>
+ <value>2.0f</value>
+ </property>
+
+ <property>
+ <description>The setting that controls whether yarn system metrics is
+ published on the Timeline service or not by RM And NM.</description>
+ <name>yarn.system-metrics-publisher.enabled</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <description>The setting that controls whether yarn container events are
+ published to the timeline service or not by RM. This configuration setting
+ is for ATS V2.
+ </description>
+ <name>yarn.rm.system-metrics-publisher.emit-container-events</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <description> Optional URL to an hbase-site.xml configuration file to be
+ used to connect to the timeline-service hbase cluster. If empty or not
+ specified, then the HBase configuration will be loaded from the classpath.
+ When specified the values in the specified configuration file will override
+ those from the ones that are present on the classpath.
+ </description>
+ <name>yarn.timeline-service.hbase.configuration.file</name>
+ <value>YARN_TIMELINE_SERVICE_HBASE_CONFIGURATION_FILE_REPLACE</value>
+ </property>
+
+ <!--Enable timeline server v1.5 and v2-->
+ <property>
+ <name>yarn.timeline-service.versions</name>
+ <value>1.5f,2.0f</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.entity-group-fs-store.active-dir</name>
+ <value>YARN_TIMELINE_FS_STORE_DIR_REPLACE/active</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.entity-group-fs-store.done-dir</name>
+ <value>YARN_TIMELINE_FS_STORE_DIR_REPLACE/done</value>
+ </property>
+
+ <!--To void conflicts with timeline server 8188 port-->
+ <property>
+ <name>yarn.timeline-service.reader.webapp.address</name>
+ <value>YARN_TIMELINE_HOST_REPLACE:8189</value>
+ </property>
+
+ <property>
+ <name>yarn.timeline-service.entity-group-fs-store.summary-store</name>
+ <value>org.apache.hadoop.yarn.server.timeline.RollingLevelDBTimelineStore</value>
+ </property>
+
+ <property>
+ <description>Enable services rest api on ResourceManager.</description>
+ <name>yarn.webapp.api-service.enable</name>
+ <value>true</value>
+ </property>
+
+ <property>
+ <description>The domain name for Hadoop cluster associated records. As short as possible.</description>
+ <name>hadoop.registry.dns.domain-name</name>
+ <value>ml</value>
+ </property>
+
+ <property>
+ <description>The DNS functionality is enabled for the cluster. Default is false.</description>
+ <name>hadoop.registry.dns.enabled</name>
+ <value>true</value>
+ </property>
+ <property>
+ <description>Address associated with the network interface to which the DNS listener should bind.</description>
+ <name>hadoop.registry.dns.bind-address</name>
+ <value>YARN_REGISTRY_DNS_HOST_REPLACE</value>
+ </property>
+ <property>
+ <description>The port number for the DNS listener. The default port is 5353.
+ If the standard privileged port 53 is used, make sure start the DNS with jsvc support.</description>
+ <name>hadoop.registry.dns.bind-port</name>
+ <!--<value>5353</value>-->
+ <value>YARN_REGISTRY_DNS_HOST_PORT_REPLACE</value>
+ </property>
+
+ <property>
+ <description>
+ The Kerberos keytab file to be used for spnego filter for the NM web interface.
+ </description>
+ <name>yarn.nodemanager.webapp.spnego-keytab-file</name>
+ <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
+ </property>
+
+ <property>
+ <description>
+ The Kerberos principal to be used for spnego filter for the NM web interface.
+ </description>
+ <name>yarn.nodemanager.webapp.spnego-principal</name>
+ <value>HTTP/_HOST@${local.realm}</value>
+ </property>
+
+ <property>
+ <description>
+ The Kerberos keytab file to be used for spnego filter for the RM web interface.
+ </description>
+ <name>yarn.resourcemanager.webapp.spnego-keytab-file</name>
+ <value>HTTP_KEYTAB_LOCATION_REPLACE</value>
+ </property>
+
+ <property>
+ <description>
+ The Kerberos principal to be used for spnego filter for the RM web interface.
+ </description>
+ <name>yarn.resourcemanager.webapp.spnego-principal</name>
+ <value>HTTP/_HOST@${local.realm}</value>
+ </property>
+
+ <!-- cgroup configuration -->
+ <property>
+ <name>yarn.nodemanager.linux-container-executor.resources-handler.class</name>
+ <value>org.apache.hadoop.yarn.server.nodemanager.util.CgroupsLCEResourcesHandler</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.linux-container-executor.cgroups.mount</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.resource.percentage-physical-cpu-limit</name>
+ <value>80</value>
+ </property>
+ <property>
+ <description>Whether virtual memory limits will be enforced for containers.</description>
+ <name>yarn.nodemanager.vmem-check-enabled</name>
+ <value>false</value>
+ </property>
+ <!-- Enable memory cgroup -->
+ <property>
+ <description>Whether YARN CGroups memory tracking is enabled.</description>
+ <name>yarn.nodemanager.resource.memory.enabled</name>
+ <value>true</value>
+ </property>
+
+ <!--docker configuration-->
+ <property>
+ <name>yarn.nodemanager.runtime.linux.docker.default-container-network</name>
+ <value>YARN_DOCKER_CONTAINER_DEFAULT_NETWORK_REPLACE</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.runtime.linux.allowed-runtimes</name>
+ <value>default,docker</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.runtime.linux.docker.allowed-container-networks</name>
+ <value>YARN_DOCKER_ALLOWED_CONTAINER_NETWORKS_REPLACE</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.runtime.linux.docker.privileged-containers.allowed</name>
+ <value>false</value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.runtime.linux.docker.privileged-containers.acl</name>
+ <value></value>
+ </property>
+ <property>
+ <name>yarn.nodemanager.runtime.linux.docker.capabilities</name>
+ <value>CHOWN,DAC_OVERRIDE,FSETID,FOWNER,MKNOD,NET_RAW,SETGID,SETUID,SETFCAP,SETPCAP,NET_BIND_SERVICE,SYS_CHROOT,KILL,AUDIT_WRITE</value>
+ </property>
+
+ <!--Yarn UI V2-->
+ <property>
+ <name>yarn.webapp.ui2.enable</name>
+ <value>true</value>
+ </property>
+
+ <!--property>
+ <name>yarn.service.am.java.opts</name>
+ <value>-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=16002</value>
+ </property-->
+
+ <property>
+ <name>yarn.service.base.path</name>
+ <value>/tmp/.LOCAL_CLUSTER_ID_REPLACE/</value>
+ </property>
+
+ <property>
+ <name>yarn.nodemanager.address</name>
+ <value>0.0.0.0:45454</value>
+ </property>
+
+</configuration>
diff --git a/dev-support/submarine-installer/package/submarine/submarine.sh b/dev-support/submarine-installer/package/submarine/submarine.sh
index 114b4b2..b5c4b03 100644
--- a/dev-support/submarine-installer/package/submarine/submarine.sh
+++ b/dev-support/submarine-installer/package/submarine/submarine.sh
@@ -26,6 +26,6 @@ chown :yarn -R /sys/fs/cgroup/memory
chmod g+rwx -R /sys/fs/cgroup/memory
-# If GPUs are used,the access to cgroup devices folder is neede as well
+# If GPUs are used,the access to cgroup devices folder is needed as well
chown :yarn -R /sys/fs/cgroup/devices
chmod g+rwx -R /sys/fs/cgroup/devices
diff --git a/dev-support/submarine-installer/scripts/calico.sh b/dev-support/submarine-installer/scripts/calico.sh
index 1af9371..b3eb80b 100644
--- a/dev-support/submarine-installer/scripts/calico.sh
+++ b/dev-support/submarine-installer/scripts/calico.sh
@@ -20,7 +20,7 @@
## @stability stable
function download_calico_bin()
{
- # submarin http server
+ # submarine http server
if [[ -n "$DOWNLOAD_HTTP" ]]; then
MY_CALICOCTL_DOWNLOAD_URL=${DOWNLOAD_HTTP}/downloads/calico/calicoctl
MY_CALICO_DOWNLOAD_URL=${DOWNLOAD_HTTP}/downloads/calico/calico
@@ -133,9 +133,9 @@ function kernel_network_config()
## @stability stable
function calico_network_exist()
{
- local dockerNetwokInfo
- dockerNetwokInfo=$(docker network ls --filter NAME="${CALICO_NETWORK_NAME}")
- echo "${dockerNetwokInfo}" | grep "${CALICO_NETWORK_NAME}"
+ local dockerNetworkInfo
+ dockerNetworkInfo=$(docker network ls --filter NAME="${CALICO_NETWORK_NAME}")
+ echo "${dockerNetworkInfo}" | grep "${CALICO_NETWORK_NAME}"
}
## @description verification calico
@@ -144,9 +144,9 @@ function calico_network_exist()
function verification_calico()
{
echo " ===== Check if the network between 2 containers can be connected ====="
- local claicoNetworkExist
- claicoNetworkExist=$(calico_network_exist)
- if [[ "$claicoNetworkExist" = "" ]]; then
+ local calicoNetworkExist
+ calicoNetworkExist=$(calico_network_exist)
+ if [[ "$calicoNetworkExist" = "" ]]; then
echo "Create a calico network"
docker network create --driver calico --ipam-driver calico-ipam "${CALICO_NETWORK_NAME}"
else
diff --git a/dev-support/submarine-installer/scripts/docker.sh b/dev-support/submarine-installer/scripts/docker.sh
index 80a5c5d..c282a2a 100644
--- a/dev-support/submarine-installer/scripts/docker.sh
+++ b/dev-support/submarine-installer/scripts/docker.sh
@@ -132,7 +132,7 @@ function install_docker()
sudo systemctl enable docker.service
}
-## @description unstall docker
+## @description uninstall docker
## @audience public
## @stability stable
function uninstall_docker()
diff --git a/dev-support/submarine-installer/scripts/menu.sh b/dev-support/submarine-installer/scripts/menu.sh
index 2491d86..aff9d7a 100644
--- a/dev-support/submarine-installer/scripts/menu.sh
+++ b/dev-support/submarine-installer/scripts/menu.sh
@@ -103,7 +103,7 @@ MENULIST
echo -ne "Please input your choice [\\e[32m1\\e[0m-\\e[32m7\\e[0m,\\e[32mb\\e[0m(back)]:"
}
-## @description unstall menu
+## @description uninstall menu
## @audience public
## @stability stable
uninstall_menu()
@@ -201,9 +201,9 @@ HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${
[Main menu] > [install yarn]
------------------------------------------------------------------------------------
MENULIST
-echo -e " \\e[32m1.instll YARM [every host]\\e[0m"
-echo -e " \\e[32m2.instll YARM container-executor [every host]\\e[0m"
-echo -e " \\e[32m3.instll YARM Timeline [one host]\\e[0m"
+echo -e " \\e[32m1.install YARN [every host]\\e[0m"
+echo -e " \\e[32m2.install YARN container-executor [every host]\\e[0m"
+echo -e " \\e[32m3.install YARN Timeline [one host]\\e[0m"
echo -e ""
echo -e " \\e[32mb.back main menu\\e[0m"
cat<<MENULIST
@@ -227,7 +227,7 @@ HOST:${LOCAL_HOST_IP} DOWNLOAD_SERVER:http://${DOWNLOAD_SERVER_IP}:${
[Main menu] > [install yarn]
------------------------------------------------------------------------------------
MENULIST
-echo -e " \\e[32m1.uninstll Yarn\\e[0m"
+echo -e " \\e[32m1.uninstall Yarn\\e[0m"
echo -e ""
echo -e " \\e[32mb.back main menu\\e[0m"
cat<<MENULIST
@@ -507,7 +507,7 @@ menu_process()
;;
# install yarn
"7-1")
- echo -n "Do you want to instll YARN?[y|n]"
+ echo -n "Do you want to install YARN?[y|n]"
read -r myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
@@ -521,7 +521,7 @@ menu_process()
fi
;;
"7-2")
- echo -n "Do you want to instll container-executor?[y|n]"
+ echo -n "Do you want to install container-executor?[y|n]"
read -r myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
@@ -530,12 +530,12 @@ menu_process()
elif [[ "${YARN_SECURITY}" = "false" ]];then
install_yarn_container_executor_insecure
else
- echo "the YARN_SECURITY Value is not support !!!"
+ echo "the YARN_SECURITY Value is not support !!!"
fi
fi
;;
"7-3")
- echo -n "Do you want to instll Timeline?[y|n]"
+ echo -n "Do you want to install Timeline?[y|n]"
read -r myselect
if [[ "$myselect" = "y" || "$myselect" = "Y" ]]
then
diff --git a/dev-support/submarine-installer/scripts/nvidia-docker.sh b/dev-support/submarine-installer/scripts/nvidia-docker.sh
index ffa461c..dd72b2c 100644
--- a/dev-support/submarine-installer/scripts/nvidia-docker.sh
+++ b/dev-support/submarine-installer/scripts/nvidia-docker.sh
@@ -71,7 +71,7 @@ function install_nvidia_docker()
cp /etc/docker/daemon.json "${DOCKER_DAEMON_BAK}"
echo "Backup /etc/docker/daemon.json in ${DOCKER_DAEMON_BAK}"
- # Remove nividia docker 1.0
+ # Remove nvidia docker 1.0
remove_nvidia_docker_1.0
# Get nvidia-docker repo
diff --git a/dev-support/submarine-installer/scripts/nvidia.sh b/dev-support/submarine-installer/scripts/nvidia.sh
index 6d9e45b..a335214 100644
--- a/dev-support/submarine-installer/scripts/nvidia.sh
+++ b/dev-support/submarine-installer/scripts/nvidia.sh
@@ -84,7 +84,7 @@ function download_nvidia_driver()
else
nvidia_run_file="NVIDIA-Linux-x86_64-${nvidiaVersion}.run"
- # submarin http server
+ # submarine http server
if [[ -n "$DOWNLOAD_HTTP" ]]; then
MY_NVIDIA_DRIVER_RUN_URL="${DOWNLOAD_HTTP}/downloads/nvidia/${nvidia_run_file}"
else
diff --git a/dev-support/submarine-installer/scripts/yarn.sh b/dev-support/submarine-installer/scripts/yarn.sh
index c042d9b..7650abd 100644
--- a/dev-support/submarine-installer/scripts/yarn.sh
+++ b/dev-support/submarine-installer/scripts/yarn.sh
@@ -20,7 +20,7 @@
## @stability stable
function install_yarn()
{
- # base YARN_SECURITY determain which etc is
+ # base YARN_SECURITY determine which etc is
rm -f ${PACKAGE_DIR}/hadoop/yarn/etc
ln -s ${PACKAGE_DIR}/hadoop/yarn/etc_secure ${PACKAGE_DIR}/hadoop/yarn/etc
@@ -43,11 +43,11 @@ function install_yarn()
install_yarn_sbin
install_yarn_rm_nm
install_yarn_service
- install_registery_dns
+ install_registry_dns
install_timeline_server
install_job_history
install_mapred
- install_spark_suffle
+ install_spark_shuffle
install_lzo_native
# copy file
@@ -131,7 +131,7 @@ function install_yarn_tarball()
ln -s "/home/hadoop/${HADOOP_VERSION}-${tag}" "${HADOOP_HOME}"
chown ${HADOOP_SETUP_USER} "${HADOOP_HOME}"
else
- echo "ERROR: Please put ${HADOOP_TARBALL} in the path of ${PACKAGE_DIR}/hadoop/ fristly."
+ echo "ERROR: Please put ${HADOOP_TARBALL} in the path of ${PACKAGE_DIR}/hadoop/ firstly."
return 1
fi
}
@@ -150,7 +150,7 @@ function install_java_tarball()
chown -R ${HADOOP_SETUP_USER} "/home/hadoop/${JAVA_VERSION}"
ln -s "/home/hadoop/${JAVA_VERSION}" "${JAVA_HOME}"
else
- echo "Error: Failed to install java, please put java tallball in the path of
+ echo "Error: Failed to install java, please put java tarball in the path of
${PACKAGE_DIR}/java/${JAVA_TARBALL}"
return 1
fi
@@ -268,7 +268,7 @@ function install_yarn_rm_nm()
install_yarn_container_executor
}
-function install_spark_suffle() {
+function install_spark_shuffle() {
cp -R ${PACKAGE_DIR}/hadoop/yarn/lib/spark* "${HADOOP_HOME}/share/hadoop/yarn/lib/"
}
@@ -372,7 +372,7 @@ Modify method: In core-site.xml, add parameters:
HELPINFO
}
-function install_registery_dns() {
+function install_registry_dns() {
sed -i "s/YARN_REGISTRY_DNS_HOST_REPLACE/${YARN_REGISTRY_DNS_HOST}/g" "$INSTALL_TEMP_DIR/hadoop/yarn/etc/hadoop/yarn-site.xml"
sed -i "s/YARN_REGISTRY_DNS_HOST_PORT_REPLACE/${YARN_REGISTRY_DNS_HOST_PORT}/g" "$INSTALL_TEMP_DIR/hadoop/yarn/etc/hadoop/yarn-site.xml"
}
diff --git a/dev-support/submarine-installer/scripts/yarn_insecure.sh b/dev-support/submarine-installer/scripts/yarn_insecure.sh
index 660b28c..847c608 100644
--- a/dev-support/submarine-installer/scripts/yarn_insecure.sh
+++ b/dev-support/submarine-installer/scripts/yarn_insecure.sh
@@ -43,11 +43,11 @@ function install_yarn_insecure()
install_yarn_sbin_insecure
install_yarn_rm_nm_insecure
install_yarn_service_insecure
- install_registery_dns_insecure
+ install_registry_dns_insecure
install_timeline_server_insecure
install_job_history_insecure
install_mapred_insecure
- install_spark_suffle_insecure
+ install_spark_shuffle_insecure
install_lzo_native_insecure
# copy file
@@ -131,7 +131,7 @@ function install_yarn_tarball_insecure()
ln -s "/home/hadoop/${HADOOP_VERSION}-${tag}" "${HADOOP_HOME}"
chown ${HADOOP_SETUP_USER} "${HADOOP_HOME}"
else
- echo "ERROR: Please put ${HADOOP_TARBALL} in the path of ${PACKAGE_DIR}/hadoop/ fristly."
+ echo "ERROR: Please put ${HADOOP_TARBALL} in the path of ${PACKAGE_DIR}/hadoop/ firstly."
return 1
fi
}
@@ -150,7 +150,7 @@ function install_java_tarball()
chown -R ${HADOOP_SETUP_USER} "/home/hadoop/${JAVA_VERSION}"
ln -s "/home/hadoop/${JAVA_VERSION}" "${JAVA_HOME}"
else
- echo "Error: Failed to install java, please put java tallball in the path of
+ echo "Error: Failed to install java, please put java tarball in the path of
${PACKAGE_DIR}/java/${JAVA_TARBALL}"
return 1
fi
@@ -258,7 +258,7 @@ function install_yarn_rm_nm_insecure()
install_yarn_container_executor_insecure
}
-function install_spark_suffle_insecure() {
+function install_spark_shuffle_insecure() {
cp -R ${PACKAGE_DIR}/hadoop/yarn/lib/spark* "${HADOOP_HOME}/share/hadoop/yarn/lib/"
}
@@ -360,7 +360,7 @@ Modify method: In core-site.xml, add parameters:
HELPINFO
}
-function install_registery_dns_insecure() {
+function install_registry_dns_insecure() {
sed -i "s/YARN_REGISTRY_DNS_HOST_REPLACE/${YARN_REGISTRY_DNS_HOST}/g" "$INSTALL_TEMP_DIR/hadoop/yarn/etc/hadoop/yarn-site.xml"
sed -i "s/YARN_REGISTRY_DNS_HOST_PORT_REPLACE/${YARN_REGISTRY_DNS_HOST_PORT}/g" "$INSTALL_TEMP_DIR/hadoop/yarn/etc/hadoop/yarn-site.xml"
}
diff --git a/docs/database/README.md b/docs/database/README.md
index f1bbbee..c6ef8f7 100644
--- a/docs/database/README.md
+++ b/docs/database/README.md
@@ -29,7 +29,7 @@ Must:
## Run mysql on docker
-By using the official docker image of submarine databsase, only one docker command is required to run submarine databsase
+By using the official docker image of submarine database, only one docker command is required to run submarine database
```bash
docker run -it -p 3306:3306 -d --name submarine-database -e MYSQL_ROOT_PASSWORD=password apache/submarine:database-0.3.0
diff --git a/docs/database/submarine-data.sql b/docs/database/submarine-data.sql
index c0825ba..86bb5c1 100644
--- a/docs/database/submarine-data.sql
+++ b/docs/database/submarine-data.sql
@@ -45,7 +45,7 @@ INSERT INTO `sys_dict_item` VALUES ('40dbb5ece84111e9ab840242ac110002','PROJECT_
-- Records of sys_department
-- ----------------------------
INSERT INTO `sys_department` VALUES ('e3d69d19c8d211e98edc0242ac110002','A','Company',NULL,0,'','0',NULL,'2019-08-27 13:59:30',NULL,'2019-08-27 14:02:05');
-INSERT INTO `sys_department` VALUES ('eec10fe9c8d211e98edc0242ac110002','AA','DeptartmentA','A',0,'','0',NULL,'2019-08-27 13:59:48',NULL,'2019-08-27 14:04:11');
+INSERT INTO `sys_department` VALUES ('eec10fe9c8d211e98edc0242ac110002','AA','DepartmentA','A',0,'','0',NULL,'2019-08-27 13:59:48',NULL,'2019-08-27 14:04:11');
INSERT INTO `sys_department` VALUES ('f8b42e19c8d211e98edc0242ac110002','AB','DepartmentB','A',0,'','0',NULL,'2019-08-27 14:00:05',NULL,'2019-08-27 14:07:19');
INSERT INTO `sys_department` VALUES ('13a1916dc8d311e98edc0242ac110002','ABA','GroupA','AB',0,'','0',NULL,'2019-08-27 14:00:50',NULL,'2019-08-27 14:09:21');
INSERT INTO `sys_department` VALUES ('1bc0cd98c8d311e98edc0242ac110002','AAA','GroupB','AA',0,'','0',NULL,'2019-08-27 14:01:04',NULL,'2019-08-29 16:48:56');
diff --git a/docs/design/experiment-implementation.md b/docs/design/experiment-implementation.md
index 1e3f397..ccc37a5 100644
--- a/docs/design/experiment-implementation.md
+++ b/docs/design/experiment-implementation.md
@@ -52,7 +52,7 @@ As showing in the above diagram, Submarine experiment consists of the following
- On the left side, there're input data and run configs.
- In the middle box, they're experiment tasks, it could be multiple tasks when we run distributed training, pipeline, etc.
- There're main runnable code, such as `train.py` for the training main entry point.
- - The two boxes below: experiment depencies and OS/Base libraries we called `Submarine Environment Profile` or `Environment` for short. Which defined what is the basic libraries to run the main experiment code.
+ - The two boxes below: experiment dependencies and OS/Base libraries we called `Submarine Environment Profile` or `Environment` for short. Which defined what is the basic libraries to run the main experiment code.
- Experiment tasks are launched by Resource Manager, such as K8s/YARN/Cloud or just launched locally. There're resources constraints for each experiment tasks. (e.g. how much memory, cores, GPU, disk etc. can be used by tasks).
- On the right side, they're artifacts generated by experiments:
- Output artifacts: Which are main output of the experiment, it could be model(s), or output data when we do batch prediction.
@@ -64,7 +64,7 @@ For the rest of the design doc, we will talk about how we handle environment, co
This is not a full definition of experiment, for more details, please reference to experiment API.
-Here's just an example of experiment object which help developper to understand what included in an experiment.
+Here's just an example of experiment object which help developer to understand what included in an experiment.
```yaml
experiment:
@@ -126,7 +126,7 @@ There're different types of storage, such as logs, metrics, dependencies (enviro
To better understand experiment implementation, It will be good to understand what is the steps of experiment submission.
-*Please note that below code is just pesudo code, not offical APIs.*
+*Please note that below code is just pseudo code, not official APIs.*
### Specify what environment to use
@@ -233,7 +233,7 @@ There's a common misunderstanding about what is the differences between running
| | Experiment | Notebook Session |
| --------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| Run mode | Offline | Interactive |
-| Output Artifacts (a.k.a model) | Persisted in a shared storage (like S3/NFS) | Local in the notebook session container, could be emphameral |
+| Output Artifacts (a.k.a model) | Persisted in a shared storage (like S3/NFS) | Local in the notebook session container, could be ephemeral |
| Run history (meta, logs, metrics) | Meta/logs/metrics can be traced from experiment UI (or corresponding API) | No run history can be traced from Submarine UI/API. Can view the current running paragraph's log/metrics, etc. |
| What to run? | Code from Docker image or shared storage (like Tarball on S3, Github, etc.) | Local in the notebook's paragraph |
@@ -334,7 +334,7 @@ We need to make their implementation are loose-coupled, but at the same time, sh
## Support Predefined-experiment-templates
-Predefined Experiment Template is just a way to save data-scientists time to repeatly entering parameters which is not error-proof and user experience is also bad.
+Predefined Experiment Template is just a way to save data-scientists time to repeatedly entering parameters which is not error-proof and user experience is also bad.
### Predefined-experiment-template API to run experiment
diff --git a/docs/design/implementation-notes.md b/docs/design/implementation-notes.md
index 8d48844..12417eb 100644
--- a/docs/design/implementation-notes.md
+++ b/docs/design/implementation-notes.md
@@ -23,7 +23,7 @@ Here're sub topics of Submarine implementations:
- [Submarine Environment](./environments-implementation.md): How environments created, managed, stored in Submarine.
- [Submarine Experiment](./experiment-implementation.md): How experiments managed, stored, and how the predefined experiment template works.
- [Submarine Notebook](./notebook-implementation.md): How experiments managed, stored, and how the predefined experiment template works.
-- [Submarine Server](./submarine-server/architecture.md): How Submarine server is designed, architectuer, implementation notes, etc.
+- [Submarine Server](./submarine-server/architecture.md): How Submarine server is designed, architecture, implementation notes, etc.
Working-in-progress designs, Below are designs which are working-in-progress, we will move them to the upper section once design & review is finished:
diff --git a/docs/design/notebook-implementation.md b/docs/design/notebook-implementation.md
index f5e6a22..cac946b 100644
--- a/docs/design/notebook-implementation.md
+++ b/docs/design/notebook-implementation.md
@@ -23,7 +23,7 @@ Users can start N (N >= 0) number of Notebook sessions, a notebook session is a
- Notebook session can be launched by Submarine UI (P0), and Submarine CLI (P2).
- When launch notebook session, users can choose T-shirt size of notebook session (how much mem/cpu/gpu resources, or resource profile such as small, medium, large, etc.). (P0)
-- And user can choose an environment for notebook. More details please refer to [environment implmentation](./environments-implementation.md) (P0)
+- And user can choose an environment for notebook. More details please refer to [environment implementation](./environments-implementation.md) (P0)
- When start a notebook, user can choose what code to be initialized, similar to experiment. (P1)
- Optionally, users can choose to attach a persistent volume to a notebook session. (P2)
@@ -86,9 +86,9 @@ When there're needs to attach volume (such as user's home folder) to Submarine n
### Environment
-Submarine notebook's environment should be used to run experiment, model serving, etc. Please check [environment implmentation](./environments-implementation.md). (More specific to notebook, please check "How to implement to make user can easily use Submarine environments")
+Submarine notebook's environment should be used to run experiment, model serving, etc. Please check [environment implementation](./environments-implementation.md). (More specific to notebook, please check "How to implement to make user can easily use Submarine environments")
-Please note that notebook's Environment should include right version of notebook libraries, and admin should follow the guidance to build correct Docker image, Conda libraris to correctly run Notebook.
+Please note that notebook's Environment should include right version of notebook libraries, and admin should follow the guidance to build correct Docker image, Conda libraries to correctly run Notebook.
### Submarine SDK (For Experiment, etc.)
diff --git a/docs/design/security-implementation.md b/docs/design/security-implementation.md
index 0770d01..611f5bc 100644
--- a/docs/design/security-implementation.md
+++ b/docs/design/security-implementation.md
@@ -17,7 +17,7 @@
## Handle User's Credential
-Users credential includes Kerberoes Keytabs, Docker registry crendentials, Github ssh-keys, etc.
+Users credential includes Kerberoes Keytabs, Docker registry credentials, Github ssh-keys, etc.
User's credential must be stored securitely, for example, via KeyCloak or K8s Secrets.
diff --git a/docs/design/storage-implementation.md b/docs/design/storage-implementation.md
index 7968c4a..8b2961d 100644
--- a/docs/design/storage-implementation.md
+++ b/docs/design/storage-implementation.md
@@ -58,7 +58,7 @@ First of all, all the notebook-sessions / experiments / model-serving instances)
- ML-related metrics such as loss, epoch, etc. (in contrast of system metrics such as CPU/memory usage, etc.)
- There're different types of ML-related metrics, for Tensorflow/pytorch, they can use tf.events and get visualizations on tensorboard.
- Or they can use tracking APIs (such as Submarine tracking, mlflow tracking, etc.) to output customized tracking results for non TF/Pytorch workloads.
-- Training jobs of experiment typically generate model artifacts (files) which need perisisted, and both of notebook, model serving needs to load model artifacts from persistent storage.
+- Training jobs of experiment typically generate model artifacts (files) which need persisted, and both of notebook, model serving needs to load model artifacts from persistent storage.
- There're various of meta information, such as experiment meta, model registry, model serving, notebook, experiment, environment, etc. We need be able to read these meta information back.
- We also have code for experiment (like training/batch-prediction), notebook (ipynb), and model servings.
- And notebook/experiments/model-serving need depend on environments (dependencies such as pip, and Docker Images).
@@ -97,7 +97,7 @@ User may want to store their training code to a tarball on a shared storage. Sub
#### Localization of experiment/notebook/model-serving code
-To make user experiences keeps same across different environment, we will localize code to a same folder after the container is launched, preferrably `/code`
+To make user experiences keeps same across different environment, we will localize code to a same folder after the container is launched, preferably `/code`
For example, there's a git repo need to be synced up for an experiment/notebook/model-serving (example above):
@@ -139,7 +139,7 @@ spec:
emptyDir: {}
```
-The above K8s spec create a code-dir and mount it to `/code` to launched containers. The initContiner `git-localize` uses `https://github.com/kubernetes/git-sync` to do the sync up. (If other storages are used such as s3, we can use similar initContainer approach to download contents)
+The above K8s spec create a code-dir and mount it to `/code` to launched containers. The initContainer `git-localize` uses `https://github.com/kubernetes/git-sync` to do the sync up. (If other storages are used such as s3, we can use similar initContainer approach to download contents)
## System-related metrics/logs and their storages
diff --git a/docs/design/submarine-server/jobspec.md b/docs/design/submarine-server/jobspec.md
index 906f5a4..063d714 100644
--- a/docs/design/submarine-server/jobspec.md
+++ b/docs/design/submarine-server/jobspec.md
@@ -59,7 +59,7 @@ The library spec describes the info about machine learning framework. All the fi
| envVars | key/value | YES | The public env vars for the task if not specified. |
### Submitter Spec
-It describes the info of submitter which the user spcified, such as yarn, yarnservice or k8s. All the fields as below:
+It describes the info of submitter which the user specified, such as yarn, yarnservice or k8s. All the fields as below:
| field | type | optional | description |
|---|---|---|---|
@@ -83,7 +83,7 @@ taskSpecs:
resources: "cpu=4,memory=2048M,nvidia.com/gpu=1"
```
-All the fileds as below:
+All the fields as below:
| field | type | optional | description |
|---|---|---|---|
diff --git a/docs/design/wip-designs/SubmarineClusterServer.md b/docs/design/wip-designs/SubmarineClusterServer.md
index b83d797..8588018 100644
--- a/docs/design/wip-designs/SubmarineClusterServer.md
+++ b/docs/design/wip-designs/SubmarineClusterServer.md
@@ -102,8 +102,8 @@ ServerMeta:key='host:port',value= {SERVER_HOST=...,SERVER_PORT=...,...}
| Name | Description |
| --------------------- | ------------------------------- |
-| SUBAMRINE_SERVER_HOST | Submarine server IP |
-| SUBAMRINE_SERVER_PORT | Submarine server port |
+| SUBMARINE_SERVER_HOST | Submarine server IP |
+| SUBMARINE_SERVER_PORT | Submarine server port |
| WORKBENCH_SERVER_HOST | Submarine workbench server IP |
| WORKBENCH_SERVER_PORT | Submarine workbench server port |
diff --git a/docs/development/IntegrationTest.md b/docs/development/IntegrationTest.md
index b6e81ff..6d9b259 100644
--- a/docs/development/IntegrationTest.md
+++ b/docs/development/IntegrationTest.md
@@ -73,7 +73,7 @@ Each time a code is submitted, travis is automatically triggered for testing.
* Step2: Make sure that the `headless` option is not commented in [ChromeWebDriverProvider.java](https://github.com/apache/submarine/blob/master/submarine-test/test-e2e/src/test/java/org/apache/submarine/ChromeWebDriverProvider.java).
* Step3: If you push the commit to Github, the Travis CI will execute automatically and you can check it in `https://travis-ci.org/${your_github_account}/${your_repo_name}`.
### Run the existing tests.
-##### Move to the working directroy.
+##### Move to the working directory.
```
cd submarine/submarine-test/test-e2e
```
@@ -111,7 +111,7 @@ BUILD FAILURE
void clickAndWait(final By locator); // Click element and wait for 1 second.
void sleep(long millis, boolean logOutput); // Let system sleep a period of time.
```
-3. There are also some commonly used functions except in AbstractSybmarineIT.java.
+3. There are also some commonly used functions except in AbstractSubmarineIT.java.
```java
// In WebDriverManager.java:
public static WebDriver getWebDriver(); // This return a firefox webdriver which has been set to your workbench website.
diff --git a/docs/development/README.md b/docs/development/README.md
index 493989b..56c045e 100644
--- a/docs/development/README.md
+++ b/docs/development/README.md
@@ -114,7 +114,7 @@ When you write the `vue, js` file in `workbench-web` through IDEA, because IDEA
yarn run lint
```
-In fact, you must execute this command when you develop and submit any workbench-web feture. Otherwise, chances are that you won't be able to check the code specification we set up in Travis.
+In fact, you must execute this command when you develop and submit any workbench-web feature. Otherwise, chances are that you won't be able to check the code specification we set up in Travis.
## 3.3 Workbench-server
diff --git a/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/README.md b/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/README.md
index 5b4ae34..4ca03fa 100644
--- a/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/README.md
+++ b/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/README.md
@@ -204,7 +204,7 @@ on distributed settings.
Run this on master:
Runs an Experiment in sync mode on 4 GPUs using CPU as parameter server for
40000 steps. It will run evaluation a couple of times during training. The
-num_workers arugument is used only to update the learning rate correctly. Make
+num_workers argument is used only to update the learning rate correctly. Make
sure the model_dir is the same as defined on the TF_CONFIG.
```shell
@@ -503,7 +503,7 @@ tensorboard --log-dir="<job dir>"
## Warnings
-When runninng `cifar10_main.py` with `--sync` argument you may see an error
+When running `cifar10_main.py` with `--sync` argument you may see an error
similar to:
```python
diff --git a/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_main.py b/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_main.py
index 51da6b9..dbd2418 100644
--- a/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_main.py
+++ b/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_main.py
@@ -445,7 +445,7 @@ if __name__ == '__main__':
type=float,
default=0.1,
help="""\
- This is the inital learning rate value. The learning rate will decrease
+ This is the initial learning rate value. The learning rate will decrease
during training. For more details check the model_fn implementation in
this file.\
""")
diff --git a/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_utils.py b/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_utils.py
index 5eb2c3f..d3d29dd 100644
--- a/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_utils.py
+++ b/docs/userdocs/yarn/docker/tensorflow/with-cifar10-models/ubuntu-18.04/cifar10_estimator_tf_1.13.1/cifar10_utils.py
@@ -37,7 +37,7 @@ class RunConfig(tf.contrib.learn.RunConfig):
Args:
whitelist: A list of the string names of the properties uid should not
include. If `None`, defaults to `_DEFAULT_UID_WHITE_LIST`, which
- includes most properties user allowes to change.
+ includes most properties user allowed to change.
Returns:
A uid string.
"""
diff --git a/docs/workbench/HowToRun.md b/docs/workbench/HowToRun.md
index f2b417e..4d05741 100644
--- a/docs/workbench/HowToRun.md
+++ b/docs/workbench/HowToRun.md
@@ -53,7 +53,7 @@ docker cp workbench-web.war submarine-server:/opt/submarine-dist-0.4.0-hadoop-2.
```
docker exec -it submarine-server bash
```
-* Step5: Modify the value of the configutation **workbench.web.war** in conf/submarine-site.xml from "../submarine-workbench-web-ng.war" to "../submarine-workbench-web.war".
+* Step5: Modify the value of the configuration **workbench.web.war** in conf/submarine-site.xml from "../submarine-workbench-web-ng.war" to "../submarine-workbench-web.war".
* Step6: Restart the Submarine Server
```
@@ -69,7 +69,7 @@ docker start submarine-server
```
docker exec -it submarine-server bash
```
-* Step2: Modify the value of the configutation **workbench.web.war** in conf/submarine-site.xml from "../workbench-web.war" to "../submarine-workbench-web-ng.war".
+* Step2: Modify the value of the configuration **workbench.web.war** in conf/submarine-site.xml from "../workbench-web.war" to "../submarine-workbench-web-ng.war".
* Step3: Restart the Submarine Server
```
./bin/submarine-daemon.sh restart
diff --git a/docs/workbench/README.md b/docs/workbench/README.md
index 274413a..77a3379 100644
--- a/docs/workbench/README.md
+++ b/docs/workbench/README.md
@@ -38,7 +38,7 @@ In the `Quick Start` list, the most commonly used feature links in the Workbench
In the `Open Recent` list, there are nine items that the user has used recently, so you can work quickly.
-At `What's New?` In the list, some of the latest features and project information released by Submarine are displayed to help you understand the latest developments in the Subamrine project.
+At `What's New?` In the list, some of the latest features and project information released by Submarine are displayed to help you understand the latest developments in the Submarine project.
## Workspace
diff --git a/docs/workbench/README.zh-CN.md b/docs/workbench/README.zh-CN.md
index 0d256a4..edebaf9 100644
--- a/docs/workbench/README.zh-CN.md
+++ b/docs/workbench/README.zh-CN.md
@@ -37,7 +37,7 @@
在 `Open Recent` 列表中,显示了用户最近使用过的九个项目,方便你快速的进行工作。
-在 `What‘s New?` 列表中,显示了 Submarine 最新发布的一些功能特性和项目信息,方便你了解 Subamrine 项目的最新进展。
+在 `What‘s New?` 列表中,显示了 Submarine 最新发布的一些功能特性和项目信息,方便你了解 Submarine 项目的最新进展。
## Workspace
@@ -56,7 +56,7 @@ Workspace 主要有五个 Tab 页组成,每个 Tab 页的标题中显示了各
3. **Github/Gitlab 集成**:Submarine Workbench 与 `Github`/`Gitlab` 进行了系统集成,每个 Project 都可以在 Workbench 中进行 `Watch`、`Star`、`Frok` 和 `Comment` 操作。
+ **Watch**:[TODO]
+ **Star**:[TODO]
- + **Frok**:[TODO]
+ + **Fork**:[TODO]
+ **Comment**:用户可以在项目中进行评论
4. **Edit**:用户通过双击项目或者点击 `Edit` 按钮,可以在 `Notebook` 中打开项目,进行算法开发等操作。
5. **Download**:用户通过点击 `Download` 按钮,将项目打包下载到本地。
@@ -110,7 +110,7 @@ Workspace 主要有五个 Tab 页组成,每个 Tab 页的标题中显示了各

-+ **Git Repo**: 在你的 **Github**/**Gitlab** 账号中 **Frok** 一个仓库中的文件内容来初始化项目。
++ **Git Repo**: 在你的 **Github**/**Gitlab** 账号中 **Fork** 一个仓库中的文件内容来初始化项目。

diff --git a/pom.xml b/pom.xml
index 8262207..3223578 100644
--- a/pom.xml
+++ b/pom.xml
@@ -82,7 +82,7 @@
<cglib.version>3.2.2</cglib.version>
<mybatis.version>3.2.8</mybatis.version>
<mysql-connector-java.version>5.1.39</mysql-connector-java.version>
- <grpc.verison>1.25.0</grpc.verison>
+ <grpc.version>1.25.0</grpc.version>
<!-- frontend maven plugin related versions-->
<plugin.frontend.version>1.6</plugin.frontend.version>
@@ -311,17 +311,17 @@
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
- <version>${grpc.verison}</version>
+ <version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
- <version>${grpc.verison}</version>
+ <version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
- <version>${grpc.verison}</version>
+ <version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
diff --git a/submarine-client/src/main/java/org/apache/submarine/client/cli/runjob/RunJobCli.java b/submarine-client/src/main/java/org/apache/submarine/client/cli/runjob/RunJobCli.java
index c317d3f..5c1bec0 100644
--- a/submarine-client/src/main/java/org/apache/submarine/client/cli/runjob/RunJobCli.java
+++ b/submarine-client/src/main/java/org/apache/submarine/client/cli/runjob/RunJobCli.java
@@ -149,7 +149,7 @@ public class RunJobCli extends AbstractCli {
+ " If it's a relative path, it'll be"
+ " under container's implied working directory"
+ " but sub directory is not supported yet."
- + " This option can be set mutiple times."
+ + " This option can be set multiple times."
+ " Examples are \n"
+ "-localization \"hdfs:///user/yarn/mydir2:/opt/data\"\n"
+ "-localization \"s3a:///a/b/myfile1:./\"\n"
diff --git a/submarine-cloud/hack/deploy-submarine.sh b/submarine-cloud/hack/deploy-submarine.sh
index ff2abe4..48d8f1e 100755
--- a/submarine-cloud/hack/deploy-submarine.sh
+++ b/submarine-cloud/hack/deploy-submarine.sh
@@ -112,7 +112,7 @@ Options:
Usage:
install: $0 --database database_ip
OR
- unstall: $0 -u
+ uninstall: $0 -u
EOF
}
diff --git a/submarine-cloud/hack/integration-test.sh b/submarine-cloud/hack/integration-test.sh
index af109e3..48fd23d 100755
--- a/submarine-cloud/hack/integration-test.sh
+++ b/submarine-cloud/hack/integration-test.sh
@@ -37,7 +37,7 @@ function start() {
info=`curl -s -m 10 --connect-timeout 10 -I http://127.0.0.1/api/v1/cluster/address`
code=`echo $info | grep "HTTP" | awk '{print $2}'`
- ############# DON'T DELETE NEXT DEBUG COMAND #############
+ ############# DON'T DELETE NEXT DEBUG COMMAND #############
# $KUBECTL_BIN get node
# $KUBECTL_BIN get pods
# $KUBECTL_BIN get svc
@@ -108,7 +108,7 @@ case $key in
shift
;;
-u|--update)
- UPDATE_IAMGE="TRUE"
+ UPDATE_IMAGE="TRUE"
shift
;;
-h|--help)
@@ -124,9 +124,9 @@ esac
done
OPERATION=${OPERATION:-""}
-UPDATE_IAMGE=${UPDATE_IAMGE:-""}
+UPDATE_IMAGE=${UPDATE_IMAGE:-""}
-if [[ $UPDATE_IAMGE == "TRUE" ]]; then
+if [[ $UPDATE_IMAGE == "TRUE" ]]; then
update_docker_images
fi
diff --git a/submarine-cloud/hack/kind-cluster-build.sh b/submarine-cloud/hack/kind-cluster-build.sh
index ca61972..f1c743d 100755
--- a/submarine-cloud/hack/kind-cluster-build.sh
+++ b/submarine-cloud/hack/kind-cluster-build.sh
@@ -236,7 +236,7 @@ $KIND_BIN load docker-image registry:2
# https://kind.sigs.k8s.io/docs/user/ingress/#ingress-nginx
echo "setting up ingress on a kind cluster."
-# load ingress denpendence docker-image into kind
+# load ingress dependence docker-image into kind
if ! docker inspect quay.io/kubernetes-ingress-controller/nginx-ingress-controller:master >/dev/null ; then
docker pull quay.io/kubernetes-ingress-controller/nginx-ingress-controller:master
fi
diff --git a/submarine-cloud/pkg/apis/submarine/v1alpha1/default.go b/submarine-cloud/pkg/apis/submarine/v1alpha1/default.go
index 15ab53f..4809b80 100644
--- a/submarine-cloud/pkg/apis/submarine/v1alpha1/default.go
+++ b/submarine-cloud/pkg/apis/submarine/v1alpha1/default.go
@@ -57,7 +57,7 @@ func DefaultSubmarineCluster(undefaultSubmarineCluster *SubmarineCluster) *Subma
return rc
}
-// NewInt32 use to instanciate a int32 pointer
+// NewInt32 use to instantiate a int32 pointer
func NewInt32(val int32) *int32 {
output := new(int32)
*output = val
diff --git a/submarine-cloud/pkg/apis/submarine/v1alpha1/register.go b/submarine-cloud/pkg/apis/submarine/v1alpha1/register.go
index cbff1d9..4d53bf7 100644
--- a/submarine-cloud/pkg/apis/submarine/v1alpha1/register.go
+++ b/submarine-cloud/pkg/apis/submarine/v1alpha1/register.go
@@ -56,7 +56,7 @@ func addKnownTypes(scheme *runtime.Scheme) error {
}
const (
- // ResourcePlural is the id to indentify pluarals
+ // ResourcePlural is the id to identify plurals
ResourcePlural = "submarineclusters"
// ResourceSingular represents the id for identify singular resource
ResourceSingular = "submarinecluster"
diff --git a/submarine-cloud/pkg/apis/submarine/v1alpha1/types.go b/submarine-cloud/pkg/apis/submarine/v1alpha1/types.go
index 68e32c8..8813e74 100644
--- a/submarine-cloud/pkg/apis/submarine/v1alpha1/types.go
+++ b/submarine-cloud/pkg/apis/submarine/v1alpha1/types.go
@@ -56,7 +56,7 @@ type SubmarineClusterSpec struct {
// if ServiceName is empty, the SubmarineCluster.Name will be use for creating the service.
ServiceName string `json:"serviceName,omitempty"`
- // PodTemplate contains the pod specificaton that should run the Submarine-server process
+ // PodTemplate contains the pod specification that should run the Submarine-server process
PodTemplate *kapiv1.PodTemplateSpec `json:"podTemplate,omitempty"`
// Labels for created Submarine-cluster (deployment, rs, pod) (if any)
@@ -94,7 +94,7 @@ const (
// SubmarineClusterOK means the SubmarineCluster is in a good shape
SubmarineClusterOK SubmarineClusterConditionType = "ClusterOK"
- // SubmarineClusterScaling means the SubmarineCluster is currenlty in a scaling stage
+ // SubmarineClusterScaling means the SubmarineCluster is currently in a scaling stage
SubmarineClusterScaling SubmarineClusterConditionType = "Scaling"
// SubmarineClusterRebalancing means the SubmarineCluster is currenlty rebalancing slots and keys
@@ -150,7 +150,7 @@ type SubmarineClusterStatus struct {
// StartTime represents time when the workflow was acknowledged by the Workflow controller
// It is not guaranteed to be set in happens-before order across separate operations.
// It is represented in RFC3339 form and is in UTC.
- // StartTime doesn't consider startime of `ExternalReference`
+ // StartTime doesn't consider start time of `ExternalReference`
StartTime *metav1.Time `json:"startTime,omitempty"`
// (brief) reason for the condition's last transition.
Reason string `json:"reason,omitempty"`
diff --git a/submarine-cloud/pkg/config/submarine.go b/submarine-cloud/pkg/config/submarine.go
index c6acd83..bb4dd58 100644
--- a/submarine-cloud/pkg/config/submarine.go
+++ b/submarine-cloud/pkg/config/submarine.go
@@ -42,7 +42,7 @@ const (
SubmarineServerPortDefault = "6379"
// SubmarineMaxMemoryDefault default Submarine max memory
SubmarineMaxMemoryDefault = 0
- // SubmarineMaxMemoryPolicyDefault default Submarine max memory evition policy
+ // SubmarineMaxMemoryPolicyDefault default Submarine max memory eviction policy
SubmarineMaxMemoryPolicyDefault = "noeviction"
)
diff --git a/submarine-cloud/pkg/controller/actions.go b/submarine-cloud/pkg/controller/actions.go
index 95f8009..9b8a9e6 100644
--- a/submarine-cloud/pkg/controller/actions.go
+++ b/submarine-cloud/pkg/controller/actions.go
@@ -97,7 +97,7 @@ func (c *Controller) applyConfiguration(admin submarine.AdminInterface, cluster
}
// PodTemplate changes require rolling updates
if needRollingUpdate(cluster) {
- if setRollingUpdategCondition(&cluster.Status, true) {
+ if setRollingUpdateCondition(&cluster.Status, true) {
if cluster, err = c.updateHandler(cluster); err != nil {
return false, err
}
@@ -106,7 +106,7 @@ func (c *Controller) applyConfiguration(admin submarine.AdminInterface, cluster
glog.Info("applyConfiguration needRollingUpdate")
return c.manageRollingUpdate(admin, cluster, rCluster, nodes)
}
- if setRollingUpdategCondition(&cluster.Status, false) {
+ if setRollingUpdateCondition(&cluster.Status, false) {
if cluster, err = c.updateHandler(cluster); err != nil {
return false, err
}
diff --git a/submarine-cloud/pkg/controller/checks.go b/submarine-cloud/pkg/controller/checks.go
index f2ddca5..4b99ef3 100644
--- a/submarine-cloud/pkg/controller/checks.go
+++ b/submarine-cloud/pkg/controller/checks.go
@@ -134,12 +134,12 @@ func compareNodes(nodeA, nodeB *rapi.SubmarineClusterNode) bool {
sizeSlotsB = len(nodeB.Slots)
}
if sizeSlotsA != sizeSlotsB {
- glog.Infof("compare Node.Slote size: %d - %d", sizeSlotsA, sizeSlotsB)
+ glog.Infof("compare Node.Slots size: %d - %d", sizeSlotsA, sizeSlotsB)
return true
}
if (sizeSlotsA != 0) && !reflect.DeepEqual(nodeA.Slots, nodeB.Slots) {
- glog.Infof("compare Node.Slote deepEqual: %v - %v", nodeA.Slots, nodeB.Slots)
+ glog.Infof("compare Node.Slots deepEqual: %v - %v", nodeA.Slots, nodeB.Slots)
return true
}
diff --git a/submarine-cloud/pkg/controller/clustering/cluster-placement.go b/submarine-cloud/pkg/controller/clustering/cluster-placement.go
index adfc2b8..b9530a0 100644
--- a/submarine-cloud/pkg/controller/clustering/cluster-placement.go
+++ b/submarine-cloud/pkg/controller/clustering/cluster-placement.go
@@ -22,7 +22,7 @@ import (
"github.com/golang/glog"
)
-const unknownVMName = "unknown" // <-- I hope nobody will ever name a VM "unknown" because this will impact the algorythm inside that package. Maybe you should generate a mangled name or amore complex name here to reduce probability.
+const unknownVMName = "unknown" // <-- I hope nobody will ever name a VM "unknown" because this will impact the algorithm inside that package. Maybe you should generate a mangled name or a more complex name here to reduce probability.
// PlaceMasters used to select Submarine Node knowing on which VM they are running in order to spread as possible
// the masters on different VMs.
@@ -31,7 +31,7 @@ func PlaceMasters(cluster *submarine.Cluster, currentMaster submarine.Nodes, all
selection := submarine.Nodes{}
selection = append(selection, currentMaster...)
- // in case of scale down the current number of master is supperior to
+ // in case of scale down the current number of master is superior to
// the number of needed master so we limit the size of the selection.
if len(selection) > int(nbMaster) {
selection = selection[0:nbMaster]
@@ -106,7 +106,7 @@ func sortSubmarineNodeByVM(cluster *submarine.Cluster, nodes submarine.Nodes) ma
func PlaceSlaves(cluster *submarine.Cluster, masters, oldSlaves, newSlaves submarine.Nodes, replicationFactor int32) (map[string]submarine.Nodes, bool) {
slavesByMaster := make(map[string]submarine.Nodes)
- // be sure that no oldSlaves is presentin in newSlaves
+ // be sure that no oldSlaves is present in newSlaves
for _, newSlave := range newSlaves {
for _, oldSlaves := range oldSlaves {
if newSlave.ID == oldSlaves.ID {
diff --git a/submarine-cloud/pkg/controller/condition.go b/submarine-cloud/pkg/controller/condition.go
index d92b8f3..280e971 100644
--- a/submarine-cloud/pkg/controller/condition.go
+++ b/submarine-cloud/pkg/controller/condition.go
@@ -49,7 +49,7 @@ func setCondition(clusterStatus *rapi.SubmarineClusterStatus, conditionType rapi
return updated
}
-func setRollingUpdategCondition(clusterStatus *rapi.SubmarineClusterStatus, status bool) bool {
+func setRollingUpdateCondition(clusterStatus *rapi.SubmarineClusterStatus, status bool) bool {
statusCondition := apiv1.ConditionFalse
if status {
statusCondition = apiv1.ConditionTrue
diff --git a/submarine-cloud/pkg/controller/controller.go b/submarine-cloud/pkg/controller/controller.go
index e08fa13..db7436c 100644
--- a/submarine-cloud/pkg/controller/controller.go
+++ b/submarine-cloud/pkg/controller/controller.go
@@ -63,7 +63,7 @@ type Controller struct {
podDisruptionBudgetLister policyv1listers.PodDisruptionBudgetLister
PodDiscruptionBudgetSynced cache.InformerSynced
- podControl pod.SubmarineClusterControlInteface
+ podControl pod.SubmarineClusterControlInterface
serviceControl ServicesControlInterface
podDisruptionBudgetControl PodDisruptionBudgetsControlInterface
@@ -338,7 +338,7 @@ func (c *Controller) syncCluster(submarineCluster *rapi.SubmarineCluster) (force
// Reset all conditions and reconcile
if setRebalancingCondition(&submarineCluster.Status, false) ||
- setRollingUpdategCondition(&submarineCluster.Status, false) ||
+ setRollingUpdateCondition(&submarineCluster.Status, false) ||
setScalingCondition(&submarineCluster.Status, false) ||
setClusterStatusCondition(&submarineCluster.Status, true) {
_, err = c.updateHandler(submarineCluster)
diff --git a/submarine-cloud/pkg/controller/pod/control.go b/submarine-cloud/pkg/controller/pod/control.go
index 3f7ea59..6c89d6e 100644
--- a/submarine-cloud/pkg/controller/pod/control.go
+++ b/submarine-cloud/pkg/controller/pod/control.go
@@ -32,8 +32,8 @@ import (
"k8s.io/client-go/tools/record"
)
-// SubmarineClusterControlInteface interface for the SubmarineClusterPodControl
-type SubmarineClusterControlInteface interface {
+// SubmarineClusterControlInterface interface for the SubmarineClusterPodControl
+type SubmarineClusterControlInterface interface {
// GetSubmarineClusterPods return list of Pod attached to a SubmarineCluster
GetSubmarineClusterPods(submarineCluster *rapi.SubmarineCluster) ([]*kapiv1.Pod, error)
// CreatePod used to create a Pod from the SubmarineCluster pod template
@@ -44,7 +44,7 @@ type SubmarineClusterControlInteface interface {
DeletePodNow(submarineCluster *rapi.SubmarineCluster, podName string) error
}
-// SubmarineClusterControl contains requieres accessor to managing the SubmarineCluster pods
+// SubmarineClusterControl contains requires accessor to managing the SubmarineCluster pods
type SubmarineClusterControl struct {
PodLister corev1listers.PodLister
KubeClient clientset.Interface
diff --git a/submarine-cloud/pkg/controller/poddisruptionbudgets_control.go b/submarine-cloud/pkg/controller/poddisruptionbudgets_control.go
index 3b283ae..776c7cf 100644
--- a/submarine-cloud/pkg/controller/poddisruptionbudgets_control.go
+++ b/submarine-cloud/pkg/controller/poddisruptionbudgets_control.go
@@ -23,7 +23,7 @@ import (
"k8s.io/client-go/tools/record"
)
-// PodDisruptionBudgetsControlInterface inferface for the PodDisruptionBudgetsControl
+// PodDisruptionBudgetsControlInterface interface for the PodDisruptionBudgetsControl
type PodDisruptionBudgetsControlInterface interface {
// CreateSubmarineClusterPodDisruptionBudget used to create the Kubernetes PodDisruptionBudget needed to access the Submarine Cluster
CreateSubmarineClusterPodDisruptionBudget(submarineCluster *rapi.SubmarineCluster) (*policyv1.PodDisruptionBudget, error)
diff --git a/submarine-cloud/pkg/controller/sanitycheck/process.go b/submarine-cloud/pkg/controller/sanitycheck/process.go
index 7f8e721..963bbd9 100644
--- a/submarine-cloud/pkg/controller/sanitycheck/process.go
+++ b/submarine-cloud/pkg/controller/sanitycheck/process.go
@@ -25,7 +25,7 @@ import (
// RunSanityChecks function used to run all the sanity check on the current cluster
// Return actionDone = true if a modification has been made on the cluster
-func RunSanityChecks(admin submarine.AdminInterface, config *config.Submarine, podControl pod.SubmarineClusterControlInteface, cluster *rapi.SubmarineCluster, infos *submarine.ClusterInfos, dryRun bool) (actionDone bool, err error) {
+func RunSanityChecks(admin submarine.AdminInterface, config *config.Submarine, podControl pod.SubmarineClusterControlInterface, cluster *rapi.SubmarineCluster, infos *submarine.ClusterInfos, dryRun bool) (actionDone bool, err error) {
/*
// * fix failed nodes: in some cases (cluster without enough master after crash or scale down), some nodes may still know about fail nodes
if actionDone, err = FixFailedNodes(admin, cluster, infos, dryRun); err != nil {
diff --git a/submarine-cloud/pkg/controller/services_control.go b/submarine-cloud/pkg/controller/services_control.go
index 93780ed..2354b12 100644
--- a/submarine-cloud/pkg/controller/services_control.go
+++ b/submarine-cloud/pkg/controller/services_control.go
@@ -24,7 +24,7 @@ import (
"k8s.io/client-go/tools/record"
)
-// ServicesControlInterface inferface for the ServicesControl
+// ServicesControlInterface interface for the ServicesControl
type ServicesControlInterface interface {
// CreateSubmarineClusterService used to create the Kubernetes Service needed to access the Submarine Cluster
CreateSubmarineClusterService(submarineCluster *rapi.SubmarineCluster) (*kapiv1.Service, error)
diff --git a/submarine-cloud/pkg/operator/operator.go b/submarine-cloud/pkg/operator/operator.go
index 419f777..67fb3a3 100644
--- a/submarine-cloud/pkg/operator/operator.go
+++ b/submarine-cloud/pkg/operator/operator.go
@@ -54,7 +54,7 @@ func NewSubmarineOperator(cfg *Config) *SubmarineOperator {
extClient, err := apiextensionsclient.NewForConfig(kubeConfig)
if err != nil {
- glog.Fatalf("Unable to init submarinClientset from kubeconfig:%v", err)
+ glog.Fatalf("Unable to init submarineClientset from kubeconfig:%v", err)
}
_, err = client.DefineSubmarineClusterResource(extClient)
if err != nil && !apierrors.IsAlreadyExists(err) {
diff --git a/submarine-cloud/pkg/submarine/admin.go b/submarine-cloud/pkg/submarine/admin.go
index 3924c8f..9fdf6db 100644
--- a/submarine-cloud/pkg/submarine/admin.go
+++ b/submarine-cloud/pkg/submarine/admin.go
@@ -38,7 +38,7 @@ type AdminInterface interface {
AttachNodeToCluster(addr string) error
// AttachSlaveToMaster attach a slave to a master node
AttachSlaveToMaster(slave *Node, master *Node) error
- // DetachSlave dettach a slave to its master
+ // DetachSlave detach a slave to its master
//DetachSlave(slave *Node) error
// StartFailover execute the failover of the Submarine Master corresponding to the addr
StartFailover(addr string) error
@@ -46,10 +46,10 @@ type AdminInterface interface {
ForgetNode(id string) error
// ForgetNodeByAddr execute the Submarine command to force the cluster to forgot the the Node
ForgetNodeByAddr(id string) error
- // SetSlots exect the submarine command to set slots in a pipeline, provide
+ // SetSlots exec the submarine command to set slots in a pipeline, provide
// and empty nodeID if the set slots commands doesn't take a nodeID in parameter
//SetSlots(addr string, action string, slots []Slot, nodeID string) error
- // AddSlots exect the submarine command to add slots in a pipeline
+ // AddSlots exec the submarine command to add slots in a pipeline
//AddSlots(addr string, slots []Slot) error
// DelSlots exec the submarine command to del slots in a pipeline
//DelSlots(addr string, slots []Slot) error
@@ -111,7 +111,7 @@ func (a Admin) GetClusterInfos() (*ClusterInfos, error) {
if nodeinfos.Node != nil && nodeinfos.Node.IPPort() == addr {
infos.Infos[addr] = nodeinfos
} else {
- glog.Warningf("Bad node info retreived from %s", addr)
+ glog.Warningf("Bad node info retrieved from %s", addr)
}
}
diff --git a/submarine-cloud/pkg/submarine/client.go b/submarine-cloud/pkg/submarine/client.go
index f866e5c..d283f58 100644
--- a/submarine-cloud/pkg/submarine/client.go
+++ b/submarine-cloud/pkg/submarine/client.go
@@ -49,7 +49,7 @@ type ClientInterface interface {
PipeClear() (int, int)
// ReadResp will read a Resp off of the connection without sending anything
- // first (useful after you've sent a SUSBSCRIBE command). This will block until
+ // first (useful after you've sent a SUBSCRIBE command). This will block until
// a reply is received or the timeout is reached (returning the IOErr). You can
// use IsTimeout to check if the Resp is due to a Timeout
//
diff --git a/submarine-cloud/pkg/submarine/clusterinfo.go b/submarine-cloud/pkg/submarine/clusterinfo.go
index ff01d29..ee201ad 100644
--- a/submarine-cloud/pkg/submarine/clusterinfo.go
+++ b/submarine-cloud/pkg/submarine/clusterinfo.go
@@ -137,7 +137,7 @@ func DecodeNodeInfos(input *string, addr string) *NodeInfos {
// ComputeStatus check the ClusterInfos status based on the current data
// the status ClusterInfosPartial is set while building the clusterinfos
// if already set, do nothing
-// returns true if contistent or if another error
+// returns true if consistent or if another error
func (c *ClusterInfos) ComputeStatus() bool {
if c.Status != ClusterInfosUnset {
return false
diff --git a/submarine-cloud/pkg/submarine/connections.go b/submarine-cloud/pkg/submarine/connections.go
index 5de06bf..f860fa1 100644
--- a/submarine-cloud/pkg/submarine/connections.go
+++ b/submarine-cloud/pkg/submarine/connections.go
@@ -53,7 +53,7 @@ type AdminConnectionsInterface interface {
//GetSelected returns a map of clients based on the input addresses
GetSelected(addrs []string) map[string]ClientInterface
// Reconnect force a reconnection on the given address
- // if the adress is not part of the map, act like Add
+ // if the address is not part of the map, act like Add
Reconnect(addr string) error
// AddAll connect to the given list of addresses and
// register them in the map
@@ -134,7 +134,7 @@ func buildCommandReplaceMapping(filePath string) map[string]string {
mapping := make(map[string]string)
file, err := os.Open(filePath)
if err != nil {
- glog.Errorf("Cannor open %s: %v", filePath, err)
+ glog.Errorf("Cannot open %s: %v", filePath, err)
return mapping
}
defer file.Close()
@@ -148,7 +148,7 @@ func buildCommandReplaceMapping(filePath string) map[string]string {
}
if err := scanner.Err(); err != nil {
- glog.Errorf("Cannor parse %s: %v", filePath, err)
+ glog.Errorf("Cannot parse %s: %v", filePath, err)
return mapping
}
return mapping
diff --git a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterClient.java b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterClient.java
index 145fba5..189b043 100644
--- a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterClient.java
+++ b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterClient.java
@@ -23,7 +23,7 @@ import org.slf4j.LoggerFactory;
import static org.apache.submarine.commons.cluster.meta.ClusterMetaType.INTP_PROCESS_META;
/**
- * Cluster management client class instantiated in submarine-interperter
+ * Cluster management client class instantiated in submarine-interpreter
*/
public class ClusterClient extends ClusterManager {
private static Logger LOG = LoggerFactory.getLogger(ClusterClient.class);
@@ -60,7 +60,7 @@ public class ClusterClient extends ClusterManager {
return false;
}
- // In the ClusterClient metaKey equal interperterGroupId
+ // In the ClusterClient metaKey equal interpreterGroupId
public void start(String metaKey) {
LOG.info("ClusterClient::start({})", metaKey);
if (!sconf.isClusterMode()) {
diff --git a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterManager.java b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterManager.java
index 1bfc2bf..2d05f1b 100644
--- a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterManager.java
+++ b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterManager.java
@@ -277,7 +277,7 @@ public abstract class ClusterManager {
clusterMetaQueue.remove(metaEntity);
LOG.info("Cluster Meta Consume success! {}", metaEntity);
} else {
- LOG.error("Cluster Meta Consume faild!");
+ LOG.error("Cluster Meta Consume failed!");
}
} else {
Thread.sleep(100);
@@ -396,7 +396,7 @@ public abstract class ClusterManager {
boolean result = deleteClusterMeta(metaEntity);
if (false == result) {
- LOG.warn(this.getClass().toString() + "::deleteClusterMeta faild, Cache data to queue.");
+ LOG.warn(this.getClass().toString() + "::deleteClusterMeta failed, Cache data to queue.");
clusterMetaQueue.add(metaEntity);
}
}
diff --git a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterMonitor.java b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterMonitor.java
index 8c987f9..7230ee2 100644
--- a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterMonitor.java
+++ b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/ClusterMonitor.java
@@ -38,11 +38,11 @@ import static org.apache.submarine.commons.cluster.meta.ClusterMetaType.SERVER_M
/**
* cluster monitoring
- * 1. cluster monitoring is also used for submarine-Server and submarine Interperter,
+ * 1. cluster monitoring is also used for submarine-Server and submarine Interpreter,
* distinguish by member variable ClusterMetaType
* 2. Report the average of the server resource CPU and MEMORY usage in the
* last few minutes to smooth the server's instantaneous peak
- * 3. checks the heartbeat timeout of the submarine-server and interperter processes
+ * 3. checks the heartbeat timeout of the submarine-server and interpreter processes
*/
public class ClusterMonitor {
private static Logger LOG = LoggerFactory.getLogger(ClusterMonitor.class);
@@ -59,8 +59,8 @@ public class ClusterMonitor {
private int heartbeatInterval = 3000; // Heartbeat reporting interval(milliseconds)
// The submarine-server leader checks the heartbeat timeout of
- // the submarine-server and submarine-interperter processes in the cluster metadata.
- // If this time is exceeded, the submarine-server and interperter processes
+ // the submarine-server and submarine-interpreter processes in the cluster metadata.
+ // If this time is exceeded, the submarine-server and interpreter processes
// can have an exception and no heartbeat is reported.
private int heartbeatTimeout = 9000;
@@ -69,7 +69,7 @@ public class ClusterMonitor {
// The key of the cluster monitoring object,
// the name of the cluster when monitoring the submarine-server,
- // and the interperterGroupID when monitoring the interperter processes
+ // and the interpreterGroupID when monitoring the interpreter processes
private String metaKey;
public ClusterMonitor(ClusterManager clusterManager) {
@@ -126,7 +126,7 @@ public class ClusterMonitor {
running.set(false);
}
- // Check the healthy of each service and interperter instance
+ // Check the healthy of each service and interpreter instance
private void checkHealthy() {
// only leader check cluster healthy
if (!clusterManager.isClusterLeader()) {
diff --git a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/meta/ClusterMeta.java b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/meta/ClusterMeta.java
index 5014e5a..11b851e 100644
--- a/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/meta/ClusterMeta.java
+++ b/submarine-commons/commons-cluster/src/main/java/org/apache/submarine/commons/cluster/meta/ClusterMeta.java
@@ -38,7 +38,7 @@ public class ClusterMeta implements Serializable {
public static String SERVER_PORT = "SERVER_PORT";
public static String SERVER_START_TIME = "SERVER_START_TIME";
- // interperter-process meta
+ // interpreter-process meta
public static String INTP_PROCESS_NAME = "INTP_PROCESS_NAME";
public static String INTP_TSERVER_HOST = "INTP_TSERVER_HOST";
public static String INTP_TSERVER_PORT = "INTP_TSERVER_PORT";
@@ -52,7 +52,7 @@ public class ClusterMeta implements Serializable {
public static String LATEST_HEARTBEAT = "LATEST_HEARTBEAT";
- // submarine-server or interperter-process status
+ // submarine-server or interpreter-process status
public static String STATUS = "STATUS";
public static String ONLINE_STATUS = "ONLINE";
public static String OFFLINE_STATUS = "OFFLINE";
diff --git a/submarine-commons/commons-rpc/pom.xml b/submarine-commons/commons-rpc/pom.xml
index edfae62..9407e65 100644
--- a/submarine-commons/commons-rpc/pom.xml
+++ b/submarine-commons/commons-rpc/pom.xml
@@ -95,7 +95,7 @@
<configuration>
<protocArtifact>com.google.protobuf:protoc:3.10.0:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
- <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.verison}:exe:${os.detected.classifier}</pluginArtifact>
+ <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
diff --git a/submarine-sdk/pysubmarine/submarine/exceptions.py b/submarine-sdk/pysubmarine/submarine/exceptions.py
index 304395e..10598cc 100644
--- a/submarine-sdk/pysubmarine/submarine/exceptions.py
+++ b/submarine-sdk/pysubmarine/submarine/exceptions.py
@@ -21,7 +21,7 @@ class SubmarineException(Exception):
def __init__(self, message):
"""
- :param message: The message describing the error that occured.
+ :param message: The message describing the error that occurred.
"""
self.message = message
super(SubmarineException, self).__init__(message)
diff --git a/submarine-sdk/pysubmarine/submarine/ml/tensorflow/layers/core.py b/submarine-sdk/pysubmarine/submarine/ml/tensorflow/layers/core.py
index f3dd83e..8afb9e2 100644
--- a/submarine-sdk/pysubmarine/submarine/ml/tensorflow/layers/core.py
+++ b/submarine-sdk/pysubmarine/submarine/ml/tensorflow/layers/core.py
@@ -46,7 +46,7 @@ def dnn_layer(inputs,
l2_reg=0,
**kwargs):
"""
- The Multi Layer Percetron
+ The Multi Layer Perceptron
:param inputs: A tensor of at least rank 2 and static value for the last dimension; i.e.
[batch_size, depth], [None, None, None, channels].
:param estimator_mode: Standard names for Estimator model modes. `TRAIN`, `EVAL`, `PREDICT`
diff --git a/submarine-sdk/pysubmarine/submarine/tracking/fluent.py b/submarine-sdk/pysubmarine/submarine/tracking/fluent.py
index 2cbb4c1..bfd05a4 100644
--- a/submarine-sdk/pysubmarine/submarine/tracking/fluent.py
+++ b/submarine-sdk/pysubmarine/submarine/tracking/fluent.py
@@ -43,7 +43,7 @@ def log_param(key, value, worker_index):
"""
Log a parameter under the current run, creating a run if necessary.
:param key: Parameter name (string)
- :param value: Parameter value (string, but will be string-ified if not)
+ :param value: Parameter value (string, but will be string-field if not)
:param worker_index
"""
job_name = get_job_name()
diff --git a/submarine-security/spark-security/src/main/antlr4/org/apache/submarine/spark/security/parser/SubmarineSqlBase.g4 b/submarine-security/spark-security/src/main/antlr4/org/apache/submarine/spark/security/parser/SubmarineSqlBase.g4
index 8803551..927ae4d 100644
--- a/submarine-security/spark-security/src/main/antlr4/org/apache/submarine/spark/security/parser/SubmarineSqlBase.g4
+++ b/submarine-security/spark-security/src/main/antlr4/org/apache/submarine/spark/security/parser/SubmarineSqlBase.g4
@@ -18,7 +18,7 @@
*/
/*
- * The idea an part of the orignal code is adpoted from Apache Spark project
+ * The idea an part of the original code is adopted from Apache Spark project
* We should obey the same Apache License 2.0 too.
*/
diff --git a/submarine-security/spark-security/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SubmarineRowFilterExtensionTest.scala b/submarine-security/spark-security/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SubmarineRowFilterExtensionTest.scala
index f8fb113..6af8d47 100644
--- a/submarine-security/spark-security/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SubmarineRowFilterExtensionTest.scala
+++ b/submarine-security/spark-security/src/test/scala/org/apache/spark/sql/catalyst/optimizer/SubmarineRowFilterExtensionTest.scala
@@ -33,7 +33,7 @@ class SubmarineRowFilterExtensionTest extends FunSuite with BeforeAndAfterAll {
spark.reset()
}
- test("applying condition to orginal query if row filter exists in ranger") {
+ test("applying condition to original query if row filter exists in ranger") {
val extension = SubmarineRowFilterExtension(spark)
val frame = spark.sql("select * from src")
SubmarineSparkUtils.withUser("bob") {
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/entity/Team.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/entity/Team.java
index 5c9010c..97bfb15 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/entity/Team.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/entity/Team.java
@@ -53,7 +53,7 @@ public class Team extends BaseEntity {
this.collaborators = collaborators;
}
- public void addCollaborator(TeamMember memeber) {
- this.collaborators.add(memeber);
+ public void addCollaborator(TeamMember member) {
+ this.collaborators.add(member);
}
}
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtil.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtil.java
index 479ac00..5e4a1b7 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtil.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtil.java
@@ -26,7 +26,7 @@ import java.util.ArrayList;
import java.util.List;
public class DepartmentUtil {
- public static void disableTagetDeptCode(List<SysDeptSelect> sysDeptSelects,
+ public static void disableTargetDeptCode(List<SysDeptSelect> sysDeptSelects,
String deptCode) {
if (sysDeptSelects == null) {
return;
@@ -36,7 +36,7 @@ public class DepartmentUtil {
if (deptSelect.getKey().equalsIgnoreCase(deptCode)) {
deptSelect.setDisabled(true);
}
- disableTagetDeptCode(deptSelect.getChildren(), deptCode);
+ disableTargetDeptCode(deptSelect.getChildren(), deptCode);
}
}
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/SysDeptRestApi.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/SysDeptRestApi.java
index c7323aa..0a1948d 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/SysDeptRestApi.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/SysDeptRestApi.java
@@ -119,7 +119,7 @@ public class SysDeptRestApi {
DepartmentUtil.wrapDeptListToTree(sysDeptList, sysDeptSelects);
if (!StringUtils.isEmpty(disableDeptCode)) {
- DepartmentUtil.disableTagetDeptCode(sysDeptSelects, disableDeptCode);
+ DepartmentUtil.disableTargetDeptCode(sysDeptSelects, disableDeptCode);
}
} catch (Exception e) {
LOG.error(e.getMessage(), e);
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/TeamRestApi.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/TeamRestApi.java
index 6149e9c..650733b 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/TeamRestApi.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/rest/TeamRestApi.java
@@ -65,7 +65,7 @@ public class TeamRestApi {
List<Team> teams = new ArrayList<>();
try {
// TODO(zhulinhao): Front need to correct 'owner' value, and Whether need the
- // front to create_by value(At the time of pr commited)
+ // front to create_by value(At the time of pr committed)
teams = teamService.queryPageList(owner, column, order, pageNo, pageSize);
} catch (Exception e) {
LOG.error(e.getMessage(), e);
diff --git a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/websocket/NotebookSocketListener.java b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/websocket/NotebookSocketListener.java
index c56484c..27edf9c 100644
--- a/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/websocket/NotebookSocketListener.java
+++ b/submarine-server/server-core/src/main/java/org/apache/submarine/server/workbench/websocket/NotebookSocketListener.java
@@ -17,7 +17,7 @@
package org.apache.submarine.server.workbench.websocket;
/**
- * NoteboookSocket listener.
+ * NotebookSocket listener.
*/
public interface NotebookSocketListener {
void onClose(NotebookSocket socket, int code, String message);
diff --git a/submarine-server/server-core/src/test/java/org/apache/submarine/server/AbstractSubmarineServerTest.java b/submarine-server/server-core/src/test/java/org/apache/submarine/server/AbstractSubmarineServerTest.java
index ead3c4a..64c5249 100644
--- a/submarine-server/server-core/src/test/java/org/apache/submarine/server/AbstractSubmarineServerTest.java
+++ b/submarine-server/server-core/src/test/java/org/apache/submarine/server/AbstractSubmarineServerTest.java
@@ -336,7 +336,7 @@ public abstract class AbstractSubmarineServerTest {
@Override
public void describeTo(Description description) {
description.appendText("response in JSON format with \"").appendText(memberName)
- .appendText("\" beeing a root element ");
+ .appendText("\" being a root element ");
}
@Override
diff --git a/submarine-server/server-core/src/test/java/org/apache/submarine/server/response/JsonResponseTest.java b/submarine-server/server-core/src/test/java/org/apache/submarine/server/response/JsonResponseTest.java
index 32a9aa4..604341f 100644
--- a/submarine-server/server-core/src/test/java/org/apache/submarine/server/response/JsonResponseTest.java
+++ b/submarine-server/server-core/src/test/java/org/apache/submarine/server/response/JsonResponseTest.java
@@ -37,7 +37,7 @@ public class JsonResponseTest {
private Gson gson = gsonBuilder.setDateFormat("yyyy-MM-dd HH:mm:ss").create();
@Test
- public void serializObject() {
+ public void serializeObject() {
SysDict sysDict = new SysDict();
sysDict.setDictCode("code");
sysDict.setDictName("name");
@@ -59,7 +59,7 @@ public class JsonResponseTest {
}
@Test
- public void serializListResult() {
+ public void serializeListResult() {
SysDict sysDict = new SysDict();
sysDict.setDictCode("code");
sysDict.setDictName("name");
diff --git a/submarine-server/server-core/src/test/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtilTest.java b/submarine-server/server-core/src/test/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtilTest.java
index 6132f1b..e56e42c 100644
--- a/submarine-server/server-core/src/test/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtilTest.java
+++ b/submarine-server/server-core/src/test/java/org/apache/submarine/server/workbench/database/utils/DepartmentUtilTest.java
@@ -70,8 +70,8 @@ public class DepartmentUtilTest {
}
@Test
- public void disableTagetDeptCodeTest() {
- DepartmentUtil.disableTagetDeptCode(sysDeptSelects, "AAA");
+ public void disableTargetDeptCodeTest() {
+ DepartmentUtil.disableTargetDeptCode(sysDeptSelects, "AAA");
assertEquals(sysDeptSelects.get(0).getChildren().get(0).getChildren().get(0).getDisabled(), Boolean.TRUE);
}
}
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/ChromeWebDriverProvider.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/ChromeWebDriverProvider.java
index 8e88b16..c9c4c54 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/ChromeWebDriverProvider.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/ChromeWebDriverProvider.java
@@ -86,7 +86,7 @@ public class ChromeWebDriverProvider implements WebDriverProvider {
}
} catch (IOException e) {
- LOG.error("Download of chromeDriver version: " + webDriverVersion + ", falied in path " + tempPath);
+ LOG.error("Download of chromeDriver version: " + webDriverVersion + ", failed in path " + tempPath);
}
LOG.info("Download the chromeDriver to " + tempPath +" successfully.");
return tempPath + chromeDriverName;
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/FirefoxWebDriverProvider.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/FirefoxWebDriverProvider.java
index cd5a040..7b4a135 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/FirefoxWebDriverProvider.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/FirefoxWebDriverProvider.java
@@ -90,7 +90,7 @@ public class FirefoxWebDriverProvider implements WebDriverProvider {
} catch (IOException e) {
LOG.error("Download of Gecko version: " + webDriverVersion +
- ", falied in path " + tempPath);
+ ", failed in path " + tempPath);
}
LOG.info("Download the firefox Gecko driver to " + tempPath +
" successfully.");
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/ProcessData.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/ProcessData.java
index de201f9..4572686 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/ProcessData.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/ProcessData.java
@@ -232,7 +232,7 @@ public class ProcessData {
try {
if ((System.currentTimeMillis() > unconditionalExitTime)) {
LOG.error(
- "!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Unconditional exit occured@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!\nsome process hag up for more than "
+ "!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Unconditional exit occurred@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@!\nsome process hag up for more than "
+ unconditionalExitDelayMinutes + " minutes.");
}
LOG.error("!##################################!");
diff --git a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java
index d18ad4d..929f2a3 100644
--- a/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java
+++ b/submarine-test/test-e2e/src/test/java/org/apache/submarine/integration/workspaceIT.java
@@ -85,7 +85,7 @@ public class workspaceIT extends AbstractSubmarineIT {
//step1
Assert.assertEquals(pollingWait(By.xpath("//form"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
pollingWait(By.xpath("//input[@id='username']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("e2e test Project");
- pollingWait(By.xpath("//textarea[@name='projectDescriptin']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("e2e test Project description");
+ pollingWait(By.xpath("//textarea[@name='projectDescription']"), MAX_BROWSER_TIMEOUT_SEC).sendKeys("e2e test Project description");
pollingWait(By.xpath("//div[@class='centerDiv']/button"), MAX_BROWSER_TIMEOUT_SEC).click();
//step2
Assert.assertEquals(pollingWait(By.xpath("//nz-tabset"), MAX_BROWSER_TIMEOUT_SEC).isDisplayed(), true);
diff --git a/submarine-workbench/interpreter/interpreter-core/src/main/java/org/apache/submarine/interpreter/InterpreterResult.java b/submarine-workbench/interpreter/interpreter-core/src/main/java/org/apache/submarine/interpreter/InterpreterResult.java
index 02d842e..06895d3 100644
--- a/submarine-workbench/interpreter/interpreter-core/src/main/java/org/apache/submarine/interpreter/InterpreterResult.java
+++ b/submarine-workbench/interpreter/interpreter-core/src/main/java/org/apache/submarine/interpreter/InterpreterResult.java
@@ -42,7 +42,7 @@ public class InterpreterResult {
} else if (result.code() == org.apache.zeppelin.interpreter.InterpreterResult.Code.KEEP_PREVIOUS_RESULT) {
code = Code.KEEP_PREVIOUS_RESULT;
} else {
- LOG.error("Unknow code type : " + result.code());
+ LOG.error("Unknown code type : " + result.code());
}
for (org.apache.zeppelin.interpreter.InterpreterResultMessage message: result.message()) {
@@ -69,7 +69,7 @@ public class InterpreterResult {
} else if (message.getType() == org.apache.zeppelin.interpreter.InterpreterResult.Type.NETWORK) {
type = Type.NETWORK;
} else {
- LOG.error("Unknow type : " + message.getType());
+ LOG.error("Unknown type : " + message.getType());
}
InterpreterResultMessage interpreterResultMessage = new InterpreterResultMessage(type, message.getData());
diff --git a/submarine-workbench/interpreter/pom.xml b/submarine-workbench/interpreter/pom.xml
index 28e20fd..5b2676e 100644
--- a/submarine-workbench/interpreter/pom.xml
+++ b/submarine-workbench/interpreter/pom.xml
@@ -43,7 +43,7 @@
</modules>
<properties>
- <grpc.verison>1.15.0</grpc.verison>
+ <grpc.version>1.15.0</grpc.version>
</properties>
<dependencyManagement>
@@ -51,17 +51,17 @@
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
- <version>${grpc.verison}</version>
+ <version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
- <version>${grpc.verison}</version>
+ <version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
- <version>${grpc.verison}</version>
+ <version>${grpc.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/data/data.component.html b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/data/data.component.html
index e9bd895..e5887ed 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/data/data.component.html
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/data/data.component.html
@@ -206,7 +206,7 @@
<form [formGroup]="createTable">
<div *ngSwitchCase="0">
<div>
- <label class="form-label" style="margin-top: 62px;">Data soruce:</label>
+ <label class="form-label" style="margin-top: 62px;">Data source:</label>
<nz-radio-group class="form-control" style="margin-top: 55px;" formControlName="dataSource">
<label nz-radio-button nzValue="upload">Upload File</label>
<label nz-radio-button nzValue="hdfs">HDFS</label>
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.html b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.html
index 22e5ec2..d315749 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.html
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.html
@@ -19,7 +19,7 @@
<nz-card>
<div class="department-header">
- <form nz-form [nzLayout]="'inline'" [formGroup]="dapartmentDictForm">
+ <form nz-form [nzLayout]="'inline'" [formGroup]="departmentDictForm">
<nz-form-item>
<nz-form-label>Code</nz-form-label>
<nz-form-control>
@@ -68,7 +68,7 @@
<tr>
<th nzWidth="15%">Code</th>
<th nzWidth="10%">Name</th>
- <th nzWidth="25%">Parent Deptartment</th>
+ <th nzWidth="25%">Parent Department</th>
<th nzWidth="25%">Description</th>
<th nzWidth="10%">Status</th>
<th>Action</th>
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.ts b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.ts
index 59862df..f5ef7c6 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.ts
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/manager/department/department.component.ts
@@ -35,7 +35,7 @@ export class DepartmentComponent implements OnInit {
sysDeptTreeList: SysDeptItem[] = [];
listOfMapData: SysDeptItem[] = [];
isLoading = true;
- dapartmentDictForm: FormGroup;
+ departmentDictForm: FormGroup;
isExpandTable = true;
filterArr: SysDeptItem[] = [];
mapOfExpandedData: { [key: string]: SysDeptItem[] } = {};
@@ -51,7 +51,7 @@ export class DepartmentComponent implements OnInit {
constructor(private departmentService: DepartmentService, private nzMessageService: NzMessageService) {}
ngOnInit() {
- this.dapartmentDictForm = new FormGroup({
+ this.departmentDictForm = new FormGroup({
departmentName: new FormControl(''),
departmentCode: new FormControl('')
});
@@ -75,8 +75,8 @@ export class DepartmentComponent implements OnInit {
Object.keys(this.mapOfExpandedData).forEach((item) => {
this.mapOfExpandedData[item].forEach((node) => {
if (
- node.deptName.includes(this.dapartmentDictForm.get('departmentName').value) &&
- node.deptCode.includes(this.dapartmentDictForm.get('departmentCode').value)
+ node.deptName.includes(this.departmentDictForm.get('departmentName').value) &&
+ node.deptCode.includes(this.departmentDictForm.get('departmentCode').value)
) {
this.filterArr.push(node);
}
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/project/new-project-page/new-project-page.component.html b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/project/new-project-page/new-project-page.component.html
index bcfebcc..956ed42 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/project/new-project-page/new-project-page.component.html
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/project/new-project-page/new-project-page.component.html
@@ -56,7 +56,7 @@
<textarea
rows="6"
class="form-control"
- name="projectDescriptin"
+ name="projectDescription"
[(ngModel)]="newProjectContent.description"
required
></textarea>
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/team/team.component.html b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/team/team.component.html
index 0f976a2..603e5a1 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/team/team.component.html
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/team/team.component.html
@@ -79,7 +79,7 @@
</form>
<div align="right">
- <button nz-button nzType="default" (click)="drawerVisible = flase" style="margin-right: 8px;">Cancel</button>
+ <button nz-button nzType="default" (click)="drawerVisible = false" style="margin-right: 8px;">Cancel</button>
<button
nz-button
id="submitNewTeamBtn"
diff --git a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/training/training.component.ts b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/training/training.component.ts
index b2bc3f9..c1229f2 100644
--- a/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/training/training.component.ts
+++ b/submarine-workbench/workbench-web-ng/src/app/pages/workbench/workspace/training/training.component.ts
@@ -42,7 +42,7 @@ export class TrainingComponent implements OnInit {
userSelectedValue = 'noLimit';
ratingSelectedValue = 'noLimit';
activeUsers = ['John', 'Jason'];
- ratings = ['Execellent', 'Good', 'Moderate'];
+ ratings = ['Excellent', 'Good', 'Moderate'];
ngOnInit() {}
diff --git a/submarine-workbench/workbench-web-ng/src/theme.less b/submarine-workbench/workbench-web-ng/src/theme.less
index ab88f5d..c30973b 100644
--- a/submarine-workbench/workbench-web-ng/src/theme.less
+++ b/submarine-workbench/workbench-web-ng/src/theme.less
@@ -212,7 +212,7 @@
@screen-xl : 1200px;
@screen-xl-min : @screen-xl;
-// Extra extra large screen / large descktop
+// Extra extra large screen / large desktop
@screen-xxl : 1600px;
@screen-xxl-min : @screen-xxl;
diff --git a/submarine-workbench/workbench-web/public/color.less b/submarine-workbench/workbench-web/public/color.less
index c7e6b1b..0b0aa82 100644
--- a/submarine-workbench/workbench-web/public/color.less
+++ b/submarine-workbench/workbench-web/public/color.less
@@ -1299,7 +1299,7 @@ this.tinycolor = tinycolor;
// We create a very complex algorithm which take the place of original tint/shade color system
// to make sure no one can understand it 👻
-// and create an entire color palette magicly by inputing just a single primary color.
+// and create an entire color palette magically by inputting just a single primary color.
// We are using bezier-curve easing function and some color manipulations like tint/shade/darken/spin
.colorPaletteMixin() {
@functions: ~`(function() {
@@ -1704,7 +1704,7 @@ this.tinycolor = tinycolor;
@screen-xl : 1200px;
@screen-xl-min : @screen-xl;
-// Extra extra large screen / large descktop
+// Extra extra large screen / large desktop
@screen-xxl : 1600px;
@screen-xxl-min : @screen-xxl;
@@ -2315,10 +2315,10 @@ i.trigger:hover {
background: #fafafa;
border-radius: 2px;
}
-.blockChecbox .item {
+.blockCheckbox .item {
border-radius: 4px;
}
-.blockChecbox .selectIcon {
+.blockCheckbox .selectIcon {
color: @primary-color;
}
.color_block {
diff --git a/submarine-workbench/workbench-web/src/components/CountDown/index.md b/submarine-workbench/workbench-web/src/components/CountDown/index.md
index fd46809..1ff219d 100644
--- a/submarine-workbench/workbench-web/src/components/CountDown/index.md
+++ b/submarine-workbench/workbench-web/src/components/CountDown/index.md
@@ -31,4 +31,4 @@ export default {
| 参数 | 说明 | 类型 | 默认值 |
|----------|------------------------------------------|-------------|-------|
| target | 目标时间 | Date | - |
-| onEnd | 倒计时结束回调 | funtion | -|
+| onEnd | 倒计时结束回调 | function | -|
diff --git a/submarine-workbench/workbench-web/src/components/NoticeIcon/NoticeIcon.vue b/submarine-workbench/workbench-web/src/components/NoticeIcon/NoticeIcon.vue
index f484ce0..ee32493 100644
--- a/submarine-workbench/workbench-web/src/components/NoticeIcon/NoticeIcon.vue
+++ b/submarine-workbench/workbench-web/src/components/NoticeIcon/NoticeIcon.vue
@@ -10,7 +10,7 @@
:overlayStyle="{ width: '300px', top: '50px' }"
>
<template slot="content">
- <a-spin :spinning="loadding">
+ <a-spin :spinning="loading">
<a-tabs>
<a-tab-pane tab="通知" key="1">
<a-list>
@@ -53,19 +53,19 @@ export default {
name: 'HeaderNotice',
data () {
return {
- loadding: false,
+ loading: false,
visible: false
}
},
methods: {
fetchNotice () {
if (!this.visible) {
- this.loadding = true
+ this.loading = true
setTimeout(() => {
- this.loadding = false
+ this.loading = false
}, 2000)
} else {
- this.loadding = false
+ this.loading = false
}
this.visible = !this.visible
}
diff --git a/submarine-workbench/workbench-web/src/components/SettingDrawer/SettingDrawer.vue b/submarine-workbench/workbench-web/src/components/SettingDrawer/SettingDrawer.vue
index 52ed726..f7c6eac 100644
--- a/submarine-workbench/workbench-web/src/components/SettingDrawer/SettingDrawer.vue
+++ b/submarine-workbench/workbench-web/src/components/SettingDrawer/SettingDrawer.vue
@@ -12,7 +12,7 @@
<div :style="{ marginBottom: '24px' }">
<h3 class="setting-drawer-index-title">整体风格设置</h3>
- <div class="setting-drawer-index-blockChecbox">
+ <div class="setting-drawer-index-blockCheckbox">
<a-tooltip>
<template slot="title">
暗色菜单风格
@@ -59,7 +59,7 @@
<div :style="{ marginBottom: '24px' }">
<h3 class="setting-drawer-index-title">导航模式</h3>
- <div class="setting-drawer-index-blockChecbox">
+ <div class="setting-drawer-index-blockCheckbox">
<a-tooltip>
<template slot="title">
侧边栏导航
@@ -283,7 +283,7 @@ export default {
.setting-drawer-index-content {
- .setting-drawer-index-blockChecbox {
+ .setting-drawer-index-blockCheckbox {
display: flex;
.setting-drawer-index-item {
diff --git a/submarine-workbench/workbench-web/src/config/router.config.js b/submarine-workbench/workbench-web/src/config/router.config.js
index 2062552..e4eebf5 100644
--- a/submarine-workbench/workbench-web/src/config/router.config.js
+++ b/submarine-workbench/workbench-web/src/config/router.config.js
@@ -42,9 +42,9 @@ export const asyncRouterMap = [
},
{
path: '/workbench/workspace/release',
- name: 'workspaceRelase',
+ name: 'workspaceRelease',
component: () => import('../views/workbench/workspace/Release'),
- meta: { title: 'Relase', permission: [ 'profile' ] }
+ meta: { title: 'Release', permission: [ 'profile' ] }
},
{
path: '/workbench/workspace/training',
diff --git a/submarine-workbench/workbench-web/src/utils/device.js b/submarine-workbench/workbench-web/src/utils/device.js
index 0f350f3..2bdfca8 100644
--- a/submarine-workbench/workbench-web/src/utils/device.js
+++ b/submarine-workbench/workbench-web/src/utils/device.js
@@ -13,7 +13,7 @@ export const deviceEnquire = function (callback) {
}
}
- const matchLablet = {
+ const matchTablet = {
match: () => {
callback && callback(DEVICE_TYPE.TABLET)
}
@@ -28,6 +28,6 @@ export const deviceEnquire = function (callback) {
// screen and (max-width: 1087.99px)
enquireJs
.register('screen and (max-width: 576px)', matchMobile)
- .register('screen and (min-width: 576px) and (max-width: 1199px)', matchLablet)
+ .register('screen and (min-width: 576px) and (max-width: 1199px)', matchTablet)
.register('screen and (min-width: 1200px)', matchDesktop)
}
diff --git a/submarine-workbench/workbench-web/src/views/list/QueryList.vue b/submarine-workbench/workbench-web/src/views/list/QueryList.vue
index b3a2ca5..a3cc564 100644
--- a/submarine-workbench/workbench-web/src/views/list/QueryList.vue
+++ b/submarine-workbench/workbench-web/src/views/list/QueryList.vue
@@ -1,6 +1,6 @@
<template>
<a-card :bordered="false">
- <component @onEdit="handleEdit" @onGoBack="handleGoBack" :record="record" :is="currentComponet"></component>
+ <component @onEdit="handleEdit" @onGoBack="handleGoBack" :record="record" :is="currentComponent"></component>
</a-card>
</template>
@@ -22,7 +22,7 @@ export default {
},
data () {
return {
- currentComponet: 'List',
+ currentComponent: 'List',
record: ''
}
},
@@ -32,18 +32,18 @@ export default {
methods: {
handleEdit (record) {
this.record = record || ''
- this.currentComponet = 'Edit'
+ this.currentComponent = 'Edit'
console.log(record)
},
handleGoBack () {
this.record = ''
- this.currentComponet = 'List'
+ this.currentComponent = 'List'
}
},
watch: {
'$route.path' () {
this.record = ''
- this.currentComponet = 'List'
+ this.currentComponent = 'List'
}
}
}
diff --git a/submarine-workbench/workbench-web/src/views/list/search/Article.vue b/submarine-workbench/workbench-web/src/views/list/search/Article.vue
index 531c9a6..410530e 100644
--- a/submarine-workbench/workbench-web/src/views/list/search/Article.vue
+++ b/submarine-workbench/workbench-web/src/views/list/search/Article.vue
@@ -26,7 +26,7 @@
<a-select
style="max-width: 268px; width: 100%;"
mode="multiple"
- placeholder="选择 onwer"
+ placeholder="选择 owner"
v-decorator="['owner']"
@change="handleChange"
>
diff --git a/submarine-workbench/workbench-web/src/views/system/DeptList.vue b/submarine-workbench/workbench-web/src/views/system/DeptList.vue
index fdd95e8..75ac595 100644
--- a/submarine-workbench/workbench-web/src/views/system/DeptList.vue
+++ b/submarine-workbench/workbench-web/src/views/system/DeptList.vue
@@ -107,7 +107,7 @@ export default {
key: 'deptName'
},
{
- title: 'Parent Deptartment',
+ title: 'Parent Department',
align: 'left',
dataIndex: 'parentName',
key: 'parentName'
diff --git a/submarine-workbench/workbench-web/src/views/system/modules/PasswordModal.vue b/submarine-workbench/workbench-web/src/views/system/modules/PasswordModal.vue
index 6792022..a359d43 100644
--- a/submarine-workbench/workbench-web/src/views/system/modules/PasswordModal.vue
+++ b/submarine-workbench/workbench-web/src/views/system/modules/PasswordModal.vue
@@ -22,7 +22,7 @@
</a-form-item>
<a-form-item label="Confirm password" :labelCol="labelCol" :wrapperCol="wrapperCol" hasFeedback >
- <a-input type="password" @blur="handleConfirmBlur" placeholder="Pleae confirm passwod" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
+ <a-input type="password" @blur="handleConfirmBlur" placeholder="Please confirm password" v-decorator="[ 'confirmpassword', validatorRules.confirmpassword]"/>
</a-form-item>
</a-form>
diff --git a/submarine-workbench/workbench-web/src/views/workbench/workspace/Training.vue b/submarine-workbench/workbench-web/src/views/workbench/workspace/Training.vue
index 197f0ab..b08d150 100644
--- a/submarine-workbench/workbench-web/src/views/workbench/workspace/Training.vue
+++ b/submarine-workbench/workbench-web/src/views/workbench/workspace/Training.vue
@@ -26,7 +26,7 @@
<a-select
style="max-width: 268px; width: 100%;"
mode="multiple"
- placeholder="选择 onwer"
+ placeholder="选择 owner"
v-decorator="['owner']"
@change="handleChange"
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@submarine.apache.org
For additional commands, e-mail: dev-help@submarine.apache.org