Skip to content

Commit 9693619

Browse files
committed
update doc quickStart
1 parent 8f0b06e commit 9693619

File tree

2 files changed

+210
-18
lines changed

2 files changed

+210
-18
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ FlinkStreamSQL
1515
* 自定义create view 语法
1616
* 自定义create function 语法
1717
* 实现了流与维表的join
18-
* 支持原生FLinkSQL所有的语法
19-
* 扩展了输入和输出的性能指标到promethus
18+
* 支持原生FlinkSQL所有的语法
19+
* 扩展了输入和输出的性能指标到Task metrics
2020

2121
## 目录
2222

docs/quickStart.md

Lines changed: 208 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
### 1.2 执行环境
99

1010
* Java: JDK8及以上
11-
* Flink集群: 1.4,1.5,1.8(单机模式不需要安装Flink集群)
11+
* Flink集群: 1.4,1.5,1.8,1.9,1.10(单机模式不需要安装Flink集群)
1212
* 操作系统:理论上不限
1313
* kerberos环境需要在flink-conf.yaml配置security.kerberos.login.keytab以及security.kerberos.login.principal参数,配置案例:
1414
```
@@ -29,17 +29,16 @@ zookeeper.sasl.login-context-name: Client
2929

3030
```
3131
mvn clean package -Dmaven.test.skip
32-
3332
```
3433

3534
####可运行的目录结构:
3635
```
3736
|
3837
|-----bin
3938
| |--- submit.sh 任务启动脚本
40-
|-----lib
41-
| |--- sql.launcher.jar 包存储路径,是任务提交的入口(需要手动移动到该目录)
42-
|-----plugins: 插件包存储路径(mvn 打包之后会自动将jar移动到该目录下)
39+
|-----lib: launcher包存储路径,是任务提交的入口
40+
| |--- sql.launcher.jar
41+
|-----sqlplugins: 插件包存储路径(mvn 打包之后会自动将jar移动到该目录下)
4342
| |--- core.jar
4443
| |--- xxxsource
4544
| |--- xxxsink
@@ -49,15 +48,208 @@ mvn clean package -Dmaven.test.skip
4948

5049
#### 1.4.1 启动命令
5150

51+
```shell script
52+
# 脚本启动
53+
sh submit.sh
54+
-mode yarn
55+
-name flink1.10_yarnSession
56+
-sql F:\dtstack\stressTest\flinkStreamSql\1.10_dev\sql\flink1100.sql
57+
-localSqlPluginPath F:\dtstack\project\flinkStreamSQL\plugins
58+
-remoteSqlPluginPath F:\dtstack\project\flinkStreamSQL\plugins
59+
-flinkconf F:\dtstack\flink\flink-1.10.0\conf
60+
-yarnconf F:\dtstack\flinkStreamSql\yarnConf_node1
61+
-flinkJarPath F:\dtstack\flink\flink-1.10.0\lib
62+
-pluginLoadMode shipfile
63+
-confProp {\"time.characteristic\":\"eventTime\",\"logLevel\":\"info\"}
64+
-yarnSessionConf {\"yid\":\"application_1586851105774_0014\"}
65+
```
66+
```shell script
67+
# 通过idea启动 程序入口类LaucherMain
68+
# Run/Debug Configurations中设置Program arguments
69+
-mode yarnPer
70+
-sql /home/wen/Desktop/flink_stream_sql_conf/sql/stressTest.sql
71+
-name stressTestAll
72+
-localSqlPluginPath /home/wen/IdeaProjects/flinkStreamSQL/plugins
73+
-remoteSqlPluginPath /home/wen/IdeaProjects/flinkStreamSQL/plugins
74+
-flinkconf /home/wen/Desktop/flink_stream_sql_conf/flinkConf
75+
-yarnconf /home/wen/Desktop/flink_stream_sql_conf/yarnConf_node1
76+
-flinkJarPath /home/wen/Desktop/dtstack/flink-1.8.1/lib
77+
-pluginLoadMode shipfile
78+
-confProp {\"time.characteristic\":\"eventTime\",\"logLevel\":\"info\"}
79+
-queue c
80+
```
81+
#### 1.4.2 命令参数说明
82+
* **mode**
83+
* 描述:执行模式,也就是flink集群的工作模式
84+
* local: 本地模式
85+
* standalone: 提交到独立部署模式的flink集群
86+
* yarn: 提交到yarn模式的flink集群,该模式下需要提前启动一个yarn-session,使用默认名"Flink session cluster"
87+
* yarnPer: yarn per_job模式提交(即创建新flink application),默认名为flink任务名称
88+
* 必选:否
89+
* 默认值:local
90+
91+
* **name**
92+
* 描述:flink 任务对应名称。
93+
* 必选:是
94+
* 默认值:无
95+
96+
* **sql**
97+
* 描述:待执行的flink sql所在路径 。
98+
* 必选:是
99+
* 默认值:无
100+
101+
* **localSqlPluginPath**
102+
* 描述:本地插件根目录地址,也就是打包后产生的plugins目录。
103+
* 必选:是
104+
* 默认值:无
105+
106+
* **remoteSqlPluginPath**
107+
* 描述:flink执行集群上的插件根目录地址(将打包好的插件存放到各个flink节点上,如果是yarn集群需要存放到所有的nodemanager上)。
108+
* 必选:否
109+
* 默认值:无
110+
111+
* **addjar**
112+
* 描述:扩展jar路径,当前主要是UDF定义的jar;
113+
* 必选:否
114+
* 默认值:无
115+
116+
* **confProp**
117+
* 描述:一些参数设置
118+
* 必选:是 (如无参数填写空json即可)
119+
* 默认值:{}
120+
* 可选参数:
121+
* sql.ttl.min: 最小过期时间,大于0的整数,如1d、1h(d\D:天,h\H:小时,m\M:分钟,s\s:秒)
122+
* sql.ttl.max: 最大过期时间,大于0的整数,如2d、2h(d\D:天,h\H:小时,m\M:分钟,s\s:秒),需同时设置最小时间,且比最小时间大5分钟
123+
* state.backend: 任务状态后端,可选为MEMORY,FILESYSTEM,ROCKSDB,默认为flinkconf中的配置。
124+
* state.checkpoints.dir: FILESYSTEM,ROCKSDB状态后端文件系统存储路径,例如:hdfs://ns1/dtInsight/flink180/checkpoints。
125+
* state.backend.incremental: ROCKSDB状态后端是否开启增量checkpoint,默认为true。
126+
* sql.env.parallelism: 默认并行度设置
127+
* sql.max.env.parallelism: 最大并行度设置
128+
* time.characteristic: 可选值[ProcessingTime|IngestionTime|EventTime]
129+
* sql.checkpoint.interval: 设置了该参数表明开启checkpoint(ms)
130+
* sql.checkpoint.mode: 可选值[EXACTLY_ONCE|AT_LEAST_ONCE]
131+
* sql.checkpoint.timeout: 生成checkpoint的超时时间(ms)
132+
* sql.max.concurrent.checkpoints: 最大并发生成checkpoint数
133+
* sql.checkpoint.cleanup.mode: 默认是不会将checkpoint存储到外部存储,[true(任务cancel之后会删除外部存储)|false(外部存储需要手动删除)]
134+
* flinkCheckpointDataURI: 设置checkpoint的外部存储路径,根据实际的需求设定文件路径,hdfs://, file://
135+
* jobmanager.memory.mb: per_job模式下指定jobmanager的内存大小(单位MB, 默认值:768)
136+
* taskmanager.memory.mb: per_job模式下指定taskmanager的内存大小(单位MB, 默认值:768)
137+
* taskmanager.num: per_job模式下指定taskmanager的实例数(默认1)
138+
* taskmanager.slots:per_job模式下指定每个taskmanager对应的slot数量(默认1)
139+
* savePointPath:任务恢复点的路径(默认无)
140+
* allowNonRestoredState:指示保存点是否允许非还原状态的标志(默认false)
141+
* restore.enable:是否失败重启(默认是true)
142+
* failure.interval:衡量失败率的时间段,单位分钟(默认6m)
143+
* delay.interval:连续两次重启尝试间的间隔,单位是秒(默认10s)
144+
* logLevel: 日志级别动态配置(默认info)
145+
* [prometheus 相关参数](docs/prometheus.md) per_job可指定metric写入到外部监控组件,以prometheus pushgateway举例
146+
147+
148+
* **flinkconf**
149+
* 描述:flink配置文件所在的目录(单机模式下不需要),如/hadoop/flink-1.10.0/conf
150+
* 必选:否
151+
* 默认值:无
152+
153+
* **yarnconf**
154+
* 描述:Hadoop配置文件(包括hdfs和yarn)所在的目录(单机模式下不需要),如/hadoop/etc/hadoop
155+
* 必选:否
156+
* 默认值:无
157+
158+
* **flinkJarPath**
159+
* 描述:per_job 模式提交需要指定本地的flink jar存放路径
160+
* 必选:否
161+
* 默认值:无
162+
163+
* **queue**
164+
* 描述:per_job 模式下指定的yarn queue
165+
* 必选:否
166+
* 默认值:default
167+
168+
* **pluginLoadMode**
169+
* 描述:per_job 模式下的插件包加载方式。classpath:从每台机器加载插件包,shipfile:将需要插件从提交的节点上传到hdfs,不需要每台安装插件
170+
* 必选:否
171+
* 默认值:classpath
172+
173+
* **yarnSessionConf**
174+
* 描述:yarn session 模式下指定的运行的一些参数,[可参考](https://ci.apache.org/projects/flink/flink-docs-release-1.8/ops/cli.html),目前只支持指定yid
175+
* 必选:否
176+
* 默认值:{}
177+
178+
## 1.5 任务样例
179+
52180
```
53-
sh submit.sh -sql D:\sideSql.txt
54-
-name xctest
55-
-remoteSqlPluginPath /opt/dtstack/150_flinkplugin/sqlplugin
56-
-localSqlPluginPath D:\gitspace\flinkStreamSQL\plugins
57-
-addjar \["udf.jar\"\]
58-
-mode yarn
59-
-flinkconf D:\flink_home\kudu150etc
60-
-yarnconf D:\hadoop\etc\hadoopkudu
61-
-confProp \{\"time.characteristic\":\"EventTime\",\"sql.checkpoint.interval\":10000\}
62-
-yarnSessionConf \{\"yid\":\"application_1564971615273_38182\"}
63-
```
181+
# 一个kafka join all维表 sink kafka的样例
182+
CREATE TABLE MyTable(
183+
id bigint,
184+
name varchar,
185+
address varchar
186+
)WITH(
187+
type = 'kafka10',
188+
bootstrapServers = '172.16.101.224:9092',
189+
zookeeperQuorm = '172.16.100.188:2181/kafka',
190+
offsetReset = 'latest',
191+
topic = 'tiezhu_test_in',
192+
groupId = 'flink_sql',
193+
timezone = 'Asia/Shanghai',
194+
topicIsPattern = 'false',
195+
parallelism = '1'
196+
);
197+
198+
CREATE TABLE sideTable(
199+
id bigint,
200+
school varchar,
201+
home varchar,
202+
PRIMARY KEY(id),
203+
PERIOD FOR SYSTEM_TIME
204+
)WITH(
205+
type='mysql',
206+
url='jdbc:mysql://172.16.8.109:3306/tiezhu',
207+
userName='dtstack',
208+
password='you-guess',
209+
tableName='stressTest',
210+
cache='ALL',
211+
parallelism='1',
212+
asyncCapacity='100'
213+
);
214+
215+
CREATE TABLE MyResult(
216+
id bigint,
217+
name varchar,
218+
address varchar,
219+
home varchar,
220+
school varchar
221+
)WITH(
222+
type = 'kafka10',
223+
bootstrapServers = '172.16.101.224:9092',
224+
zookeeperQuorm = '172.16.100.188:2181/kafka',
225+
offsetReset = 'latest',
226+
topic = 'tiezhu_test_out',
227+
parallelism = '1'
228+
);
229+
230+
231+
insert
232+
into
233+
MyResult
234+
select
235+
t1.id AS id,
236+
t1.name AS name,
237+
t1.address AS address,
238+
t2.school AS school,
239+
t2.home AS home
240+
from
241+
(
242+
select
243+
id,
244+
name,
245+
address
246+
from
247+
MyTable
248+
) t1
249+
left join sideTable t2
250+
on t2.id = t2.id;
251+
```
252+
253+
# 招聘
254+
1.大数据平台开发工程师,想了解岗位详细信息可以添加本人微信号ysqwhiletrue,注明招聘,如有意者发送简历至[email protected]
255+

0 commit comments

Comments
 (0)