Skip to content

Commit dfea73f

Browse files
fix: sbin deploy and docs (#3699)
1 parent 1a29c06 commit dfea73f

File tree

10 files changed

+157
-63
lines changed

10 files changed

+157
-63
lines changed

docs/zh/deploy/install_deploy.md

Lines changed: 94 additions & 30 deletions
Large diffs are not rendered by default.

docs/zh/maintain/diagnose.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ JOB 检查是更灵活的离线任务检查命令,可以按条件筛选job,
185185

186186
### static-check 静态检查
187187

188-
`static-check`静态检查,根据集群部署配置文件(通过参数`-f,--conf_file`指定),登录各个服务组件的部署地址,可以收集版本信息、配置文件、日志文件,检查版本是否一致,对收集到的配置文件和日志文件做分析。可以在集群未部署前进行检查,避免因程序版本或配置文件错误导致的集群部署失败。或在集群异常时,将分布式的日志文件收集在一起,方便调查问题。
188+
`static-check`静态检查,根据集群部署配置文件(通过参数`-f,--conf_file`指定),登录各个服务组件的部署地址,可以收集版本信息、配置文件、日志文件,检查版本是否一致,对收集到的配置文件和日志文件做分析。可以在集群*未部署前*进行检查,避免因程序版本或配置文件错误导致的集群部署失败。或在集群异常时,将分布式的日志文件收集在一起,方便调查问题。
189189

190190
```bash
191191
openmldb_tool static-check -h
@@ -260,7 +260,7 @@ nameserver:
260260

261261
检查可通过组合FLAG来来指定检查哪些内容,例如,`-V`只检查版本,`-CL`只检查配置文件和日志,`-VCL`检查全部。
262262

263-
- `-V,--version`检查版本,检查各个组件的版本是否一致,如果不一致,会输出不一致的组件和版本信息。
263+
- `-V,--version`检查版本,检查各个组件的版本是否一致,如果不一致,会输出不一致的组件和版本信息(由于复杂度较高,openmldb-batch包的地址可能查不到,将忽略检查,替换batch包非常容易,可以推后检查)
264264
- `-C,--conf`收集配置文件,检查各个组件的配置文件中ZooKeeper地址是否一致等。
265265
- `-L,--log`收集日志,输出WARNING及以上的日志。
266266

docs/zh/quickstart/openmldb_quickstart.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,16 @@ docker run -it 4pdosc/openmldb:0.8.4 bash
3838

3939
```bash
4040
/work/openmldb/bin/openmldb --zk_cluster=127.0.0.1:2181 --zk_root_path=/openmldb --role=sql_client
41+
# 或脚本
42+
/work/openmldb/sbin/openmldb-cli.sh
4143
```
4244

4345
成功启动 OpenMLDB CLI 后如下图显示:
4446

4547
![image](./images/cli_cluster.png)
4648

49+
如果你需要对 OpenMLDB 集群进行配置修改,/work/init.sh使用的是sbin一键部署方式,具体参考[一键部署](../deploy/install_deploy.md#部署方式一一键部署推荐)
50+
4751
## 使用流程
4852

4953
参照核心概念,使用 OpenMLDB 的流程一般包含:建立数据库和表、导入离线数据、离线特征计算、SQL 方案上线、导入在线数据、在线实时特征计算六个步骤。

python/openmldb_tool/diagnostic_tool/collector.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ def get_spark_home(server_info: ServerInfo):
115115
tm_conf_path = server_info.conf_path_pair("")[0]
116116
config_name = "spark.home="
117117
log.debug("get %s from %s", config_name, tm_conf_path)
118-
grep_str, _ = server_info.cmd_on_host(f"grep {config_name} {tm_conf_path}")
118+
# last one option
119+
grep_str, _ = server_info.cmd_on_host(f"grep {config_name} {tm_conf_path} | tail -n 1")
119120

120121
if not grep_str:
121122
# TODO(hw):no config in file, get env SPARK_HOME?

release/conf/openmldb-env.sh

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,12 @@
22
export OPENMLDB_VERSION=0.8.4
33
# openmldb mode: standalone / cluster
44
export OPENMLDB_MODE=${OPENMLDB_MODE:=cluster}
5-
# tablet port
6-
export OPENMLDB_TABLET_PORT=10921
7-
# nameserver port
8-
export OPENMLDB_NAMESERVER_PORT=7527
9-
# taskmanager port
10-
export OPENMLDB_TASKMANAGER_PORT=9902
11-
# apiserver port
12-
export OPENMLDB_APISERVER_PORT=9080
13-
5+
# openmldb root path
6+
export OPENMLDB_HOME=
7+
# the root path of openmldb spark release, default is $OPENMLDB_HOME/spark
8+
# if not exists, download from online
9+
export SPARK_HOME=
10+
export RUNNER_EXISTING_SPARK_HOME=
1411
# if OPENMLDB_USE_EXISTING_ZK_CLUSTER is set, will use existing zk cluster
1512
export OPENMLDB_USE_EXISTING_ZK_CLUSTER=false
1613
# the root path of zookeeper release, default is $OPENMLDB_HOME/zookeeper
@@ -20,17 +17,26 @@ export OPENMLDB_ZK_HOME=
2017
export OPENMLDB_ZK_CLUSTER=
2118
# zookeeper root path
2219
export OPENMLDB_ZK_ROOT_PATH=/openmldb
20+
21+
export OPENMLDB_FORCE_LOCAL=false
22+
23+
export RUNNER_JAVA_HOME=
24+
25+
# if CLEAR_OPENMLDB_INSTALL_DIR is set, all files in the WORKDIR will be deleted when running sbin/clear-all.sh
26+
export CLEAR_OPENMLDB_INSTALL_DIR=false
27+
28+
# tablet port
29+
export OPENMLDB_TABLET_PORT=10921
30+
# nameserver port
31+
export OPENMLDB_NAMESERVER_PORT=7527
32+
# taskmanager port
33+
export OPENMLDB_TASKMANAGER_PORT=9902
34+
# apiserver port
35+
export OPENMLDB_APISERVER_PORT=9080
36+
2337
# zookeeper client port, clientPort=2181 in zoo.cfg
2438
export OPENMLDB_ZK_CLUSTER_CLIENT_PORT=2181
2539
# zookeeper peer port, which is the first port in this config server.1=zoo1:2888:3888 in zoo.cfg
2640
export OPENMLDB_ZK_CLUSTER_PEER_PORT=2888
2741
# zookeeper election port, which is the second port in this config server.1=zoo1:2888:3888 in zoo.cfg
2842
export OPENMLDB_ZK_CLUSTER_ELECTION_PORT=3888
29-
30-
# openmldb root path
31-
export OPENMLDB_HOME=
32-
# the root path of openmldb spark release, default is $OPENMLDB_HOME/spark
33-
# if not exists, download from online
34-
export SPARK_HOME=
35-
# if CLEAR_OPENMLDB_INSTALL_DIR is set, all files in the WORKDIR will be deleted when running sbin/clear-all.sh
36-
export CLEAR_OPENMLDB_INSTALL_DIR=false

release/sbin/deploy-all.sh

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ distribute() {
3333
type=$4
3434
fi
3535
local use_ssh=true
36-
if [[ $host = "localhost" || $host = "127.0.0.1" ]]; then
36+
if [[ "$OPENMLDB_FORCE_LOCAL" = true || "$host" = "localhost" || "$host" = "127.0.0.1" ]]; then
3737
use_ssh=false
3838
if [[ "$dest" = "$src" ]]; then
3939
echo "skip rsync as dest=src: $dest"
@@ -56,7 +56,10 @@ distribute() {
5656
else
5757
if [[ "$type" = "taskmanager" ]]; then
5858
dir_list=(bin sbin conf taskmanager)
59-
if [[ "$use_ssh" = true ]]; then
59+
if [[ -n "$RUNNER_EXISTING_SPARK_HOME" ]]; then
60+
echo "use existing spark $RUNNER_EXISTING_SPARK_HOME on $host, skip deploy spark"
61+
elif [[ "$use_ssh" = true ]]; then
62+
run_auto "$host" "mkdir -p ${SPARK_HOME} > /dev/null 2>&1"
6063
rsync -arz "${SPARK_HOME}/" "$host:${SPARK_HOME}/"
6164
fi
6265
else
@@ -146,6 +149,10 @@ function download_spark {
146149

147150
# deploy taskmanagers
148151
downloaded=false
152+
if [[ -n "${RUNNER_EXISTING_SPARK_HOME}" ]]; then
153+
echo "use $RUNNER_EXISTING_SPARK_HOME, skip download openmldbspark"
154+
downloaded=true
155+
fi
149156
for line in $(parse_host conf/hosts taskmanager)
150157
do
151158
if ! $downloaded; then
@@ -158,7 +165,7 @@ do
158165

159166
echo "deploy taskmanager to $host:$port $dir"
160167
distribute "$host" "$dir" "$home" taskmanager
161-
cmd="cd $dir && OPENMLDB_VERSION=${OPENMLDB_VERSION} SPARK_HOME=${SPARK_HOME} OPENMLDB_HOST=$host OPENMLDB_TASKMANAGER_PORT=$port OPENMLDB_ZK_CLUSTER=${OPENMLDB_ZK_CLUSTER} OPENMLDB_ZK_ROOT_PATH=${OPENMLDB_ZK_ROOT_PATH} sbin/deploy.sh taskmanager"
168+
cmd="cd $dir && SPARK_HOME=${SPARK_HOME} OPENMLDB_HOST=$host OPENMLDB_TASKMANAGER_PORT=$port OPENMLDB_ZK_CLUSTER=${OPENMLDB_ZK_CLUSTER} OPENMLDB_ZK_ROOT_PATH=${OPENMLDB_ZK_ROOT_PATH} sbin/deploy.sh taskmanager"
162169
run_auto "$host" "$cmd"
163170
done
164171

release/sbin/init.sh

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ function parse_host {
9090
run_auto() {
9191
local host=$1
9292
local cmd=$2
93-
if [[ $host = "localhost" || $host = "127.0.0.1" ]]; then
93+
if [[ "$OPENMLDB_FORCE_LOCAL" = true || "$host" = "localhost" || "$host" = "127.0.0.1" ]]; then
9494
local cur_dir
9595
cur_dir=$(pwd)
9696
bash -c "$cmd"
@@ -105,7 +105,11 @@ if [ -z "${OPENMLDB_HOME}" ]; then
105105
export OPENMLDB_HOME
106106
fi
107107

108-
if [ -z "${SPARK_HOME}" ]; then
108+
if [ -n "$RUNNER_EXISTING_SPARK_HOME" ]; then
109+
echo "use existing spark $RUNNER_EXISTING_SPARK_HOME on runner, overwrite SPARK_HOME"
110+
SPARK_HOME="$RUNNER_EXISTING_SPARK_HOME"
111+
export SPARK_HOME
112+
elif [ -z "${SPARK_HOME}" ]; then
109113
SPARK_HOME=${OPENMLDB_HOME}/spark
110114
export SPARK_HOME
111115
fi

release/sbin/openmldb-cli.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ sbin="$(cd "$(dirname "$0")" || exit 1; pwd)"
2020
. "$home"/conf/openmldb-env.sh
2121
. "$sbin"/init.sh
2222
cd "$home" || exit 1
23-
23+
echo "${OPENMLDB_MODE} ${OPENMLDB_ZK_CLUSTER} ${OPENMLDB_ZK_ROOT_PATH}"
2424
if [[ -n "$OPENMLDB_MODE" && "$OPENMLDB_MODE" = "cluster" ]]; then
2525
bin/openmldb --zk_cluster="${OPENMLDB_ZK_CLUSTER}" --zk_root_path="${OPENMLDB_ZK_ROOT_PATH}" --role=sql_client "$@"
2626
else

release/sbin/start-taskmanagers.sh

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,13 @@ else
3838

3939
echo "start taskmanager in $dir with endpoint $host:$port "
4040
cmd="cd $dir && SPARK_HOME=${SPARK_HOME} bin/start.sh start taskmanager $*"
41-
run_auto "$host" "$cmd"
42-
43-
# Print the log of taskmanager if fail
44-
#cmd="cd $dir && cat taskmanager/bin/logs/taskmanager.log"
45-
#run_auto "$host" "$cmd"
41+
# special for java
42+
pre=""
43+
if [[ -n $RUNNER_JAVA_HOME ]]; then
44+
echo "overwrite java env by RUNNER_JAVA_HOME:$RUNNER_JAVA_HOME"
45+
pre="export JAVA_HOME=$RUNNER_JAVA_HOME && export PATH=$JAVA_HOME/bin:$PATH &&"
46+
fi
47+
run_auto "$host" "$pre $cmd"
4648
done
4749
IFS="$old_IFS"
4850
fi

release/sbin/start-zks.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,12 @@ do
3333

3434
echo "start zookeeper in $dir with endpoint $host:$port "
3535
cmd="cd $dir && bin/zkServer.sh start"
36-
run_auto "$host" "$cmd"
36+
# special for java
37+
pre=""
38+
if [[ -n $RUNNER_JAVA_HOME ]]; then
39+
echo "overwrite java env by RUNNER_JAVA_HOME:$RUNNER_JAVA_HOME"
40+
pre="export JAVA_HOME=$RUNNER_JAVA_HOME && export PATH=$JAVA_HOME/bin:$PATH &&"
41+
fi
42+
run_auto "$host" "$pre $cmd"
3743
done
38-
IFS="$old_IFS"
44+
IFS="$old_IFS"

0 commit comments

Comments
 (0)