Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: fix on/off sync and conf #3360

Merged
merged 3 commits into from
Jul 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/zh/deploy/conf.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,8 @@ Spark Config中重点关注的配置如下:

如果TaskManager配置文件中`spark.home`为空,则会尝试读取TaskManager启动时的环境变量`SPARK_HOME`。如二者都未配置,TaskManager将会启动失败,并提示`spark.home`未配置。

如果使用一键部署工具,SPARK_HOME会被设置为`<package_home>/spark`。举例说明,如果TaskManager部署到host1的`/work/taskmanager`,那么host1的SPARK_HOME默认为`/work/taskmanager/spark`。如果需要单独配置,在openmldb-env.sh中配置。不要单独更改properties template文件,会被覆盖,请注意部署时`OPENMLDB envs:`的提示。

#### spark.master

`spark.master`配置Spark的模式,Spark模式配置更详细的解释请参考[Spark Master URL](https://spark.apache.org/docs/latest/submitting-applications.html#master-urls)。
Expand Down
1 change: 0 additions & 1 deletion docs/zh/deploy/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@
compile
integrate_hadoop
offline_integrate_kubernetes
online_offline_sync
18 changes: 17 additions & 1 deletion docs/zh/deploy/install_deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,12 +154,13 @@ OpenMLDB 提供了两种启动模式:普通和守护进程启动。守护进

如果想要使守护进程模式启动,请使用`bash bin/start.sh start <component> mon`或者`sbin/start-all.sh mon`的方式启动。守护进程模式中,`bin/<component>.pid`将是 mon 进程的 pid,`bin/<component>.pid.child` 为组件真实的 pid。


## 部署方式一:一键部署(推荐)
OpenMLDB集群版需要部署ZooKeeper、NameServer、TabletServer、TaskManager等模块。其中ZooKeeper用于服务发现和保存元数据信息。NameServer用于管理TabletServer,实现高可用和failover。TabletServer用于存储数据和主从同步数据。APIServer是可选的,如果要用http的方式和OpenMLDB交互需要部署此模块。TaskManager 用于管理离线 job。我们提供了一键部署脚本,可以简化手动在每台机器上下载和配置的复杂性。

**注意:** 同一台机器部署多个组件时,一定要部署在不同的目录里,便于单独管理。尤其是部署TabletServer,一定不能重复使用目录,避免数据文件和日志文件冲突。

DataCollector和SyncTool暂不支持一键部署。请参考手动部署方式。

### 环境要求

- 部署机器(执行部署脚本的机器)可以免密登录其他部署节点
Expand Down Expand Up @@ -254,6 +255,8 @@ sbin/deploy-all.sh
这样在分发配置文件的时候,每个节点都可以用到更改后的配置。
重复执行`sbin/deploy-all.sh`会覆盖上一次的配置。

详细配置说明见[配置文件](./conf.md),请注意TaskManager Spark的选择与细节配置[Spark Config详解](./conf.md#spark-config详解)。

### 启动服务

普通模式启动:
Expand Down Expand Up @@ -599,6 +602,9 @@ offline.data.prefix=file:///tmp/openmldb_offline_storage/
spark.master=local
spark.home=
```

更多Spark相关配置说明,见[Spark Config详解](./conf.md#spark-config详解)。

```{attention}
分布式部署的集群,请不要使用客户端本地文件作为源数据导入,推荐使用hdfs路径。

Expand Down Expand Up @@ -648,3 +654,13 @@ set @@execute_mode='online';
Insert into t1 values (1, 'a'),(2,'b');
select * from t1;
```

### 部署在离线同步工具 (可选)

在离线同步工具中的DataCollector需要部署在TabletServer所在机器上,所以,如果有在离线同步需求,可以在所有TabletServer部署目录中再进行DataCollector的部署。

SyncTool需要Java运行环境,没有额外要求,建议单独部署在一台机器上。

SyncTool的同步任务管理工具SyncTool Helper,在部署包的`tools/synctool_helper.py`,需要Python3运行环境,无额外要求,可以远程使用,但由于支持不够完善,查看Tool的调试信息需要在SyncTool所在机器上使用Helper。

具体部署方式见[在离线同步工具](../tutorial/online_offline_sync.md),请仔细阅读在离线同步工具的版本条件与功能边界。
21 changes: 0 additions & 21 deletions docs/zh/deploy/integrate_hadoop.md

This file was deleted.

1 change: 1 addition & 0 deletions docs/zh/tutorial/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@
standalone_vs_cluster
standalone_use
app_arch
online_offline_sync
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 在离线数据同步

在离线数据同步,指将在线数据同步到离线地址,离线地址指大容量持久化存储地址,用户可以自行指定,不一定是OpenMLDB表中的离线数据地址,仅支持写入到hdfs集群
在离线数据同步,指将在线数据同步到离线地址,离线地址指大容量持久化存储地址,用户可以自行指定,不一定是OpenMLDB表中的离线数据地址。当前仅支持**磁盘表**同步,仅支持写入到**hdfs集群**

开启在离线同步功能,需要部署两种组件,DataCollector和SyncTool。一期仅支持单个SyncTool,DataCollector需要在**每台部署TabletServer的机器**上**至少**部署一台。举例说明,一台机器上可以存在多个TabletServer,同步任务将使用该机器上的一个DataCollector,如果你添加了更多的DataCollector,它们不会工作,直到运行的DataCollector下线,将由下一个DataCollector代替以继续工作。

Expand All @@ -10,7 +10,7 @@

由于SyncTool有状态,如果先启动它,可能会在无DataCollector的情况下尝试分配同步任务。所以,请保证先启动所有DataCollector,再启动SyncTool。
Copy link
Collaborator Author

@vagetablechicken vagetablechicken Jul 18, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • 仅支持磁盘表


部署包请从github release或镜像网站中下载,版本>0.7.3,并解压。不可使用旧版本的TabletServer进行同步
在离线同步要求集群的TabletServer版本>0.7.3,如果你的集群版本低于0.7.3,请先升级。DataCollector在部署包中的bin目录中,SyncTool在根目录`synctool`中,两者都可通过`bin/start.sh`启动

### DataCollector

Expand Down