注意 之所以直接启动gateway 能知道yarn session 主要还是隐藏的配置文件,但是配置文件可以被覆盖,多个session 保留最新的applicationid
2-1 启动gateway 之前先启动一个flink session ./bin/yarn-session.sh -d
2-2 启动命令 :
./bin/sql-gateway.sh start -Dsql-gateway.endpoint.rest.address=localhost
2-3 查看日志观察是否启动成功:
查看日志出现这个条信息就证明已经找到了flink session applicationId
可以观察到 yarn-properties-yarn 文件中存在一个session applicationId 这个applicationId是覆盖关系当启动多个session 的时候 这里只保存最新创建的那个
[图片]
Sql-gateway 默认端口是8083 启动成功后可以通过http 方式进行访问
[图片]
SQL Gateway 默认集成 REST Endpoint。由于架构的可扩展性,用户可以通过指定 endpoint 来启动 SQL Gateway。我们测试是rest 加gateway jdbc方式。
4-1 获得一个 session 这里的session 的意思是当前连接草的人获取的一个唯一编码,当拿到这个sessionid后后续所有的所有操作都跟他关联。
[图片]
4-2 提交一个任务:黄色框 是上一步获取的sessionid 蓝色框是需要提供的sql 任务,绿色框是提交任务后获取结果的一个唯一编码
[图片]
4-3 获取结果:
[图片]
2-1 beeline
2-2 beeline> !connect jdbc:flink://xxx.xxx.xxx.xxx:8083
当出现这种日志连接成功
[图片]
CREATE TABLE D(a INT, b VARCHAR(10)) WITH (
'connector' = 'filesystem',
'path' = 'hdfs:///tmp/T.csv',
'format' = 'csv'
);
[图片]
CREATE CATALOG hive_catalog WITH (
'type' = 'hive',
'default-database' = 'default',
'hive-conf-dir' = 'hdfs:///tmp/hiveconfig'
);
use catalog hive_catalog;
[图片]