Hi Flink experts,
I have been facing this issue for quite some days as I am not able to
submit/run SQL Queries using REST CLIENT OR FLINK SQL CLIENT via SQL
gateway. Here's my Setup Cluster Set up via k8s operator to deploy Session
Cluster, Service gateway and ingress files. I am able to run `` ./flink
run exmaples/abc.jar from my local host , Job manager pod, and Service
gateway pod`` however when I try to use Rest client/ Flink SQL to submit
SQL queries via SQL GATEWAY . It gives the following error. Not really
sure how to solve this as I have tried to increase my configurations
(rest.client.max-content-length, rest.server.max-content-length) as
mentioned in the error everywhere but no luck . I would really appreciate
it if someone can give pointers to debug further as I have run out of ideas.
Caused by: org.apache.flink.runtime.rest.util.RestClientException: 413
Request Entity Too Large. Try to raise
[rest.client.max-content-length]
at
org.apache.flink.runtime.rest.RestClient$ClientHandler.channelRead0(RestClient.java:615)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
~[flink-dist-1.17.0.jar:1.17.0]
at
org.apache.flink.shaded.netty4.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
~[flink-dist-1.17.0.jar:1.17.0]
apiVersion: flink.apache.org/v1beta1
kind: FlinkDeployment
metadata:
name: session-seven-deployment-only-example
spec:
image: flink:1.17
flinkVersion: v1_17
flinkConfiguration:
taskmanager.numberOfTaskSlots: "10"
rest.server.max-content-length: "1209715200"
rest.client.max-content-length: "1209715200"
serviceAccount: flink
jobManager:
resource:
memory: "2048m"
cpu: 1
taskManager:
resource:
memory: "2048m"
cpu: 1
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: k8-cps-dev
nginx.ingress.kubernetes.io/client-body-buffer-size: 500M
name: my-docker-app-ingress-3
spec:
rules:
- host: flink-sql-gateway.usb.cloud.bank-dns.com
http:
paths:
- backend:
service:
name: flink-seven-sql-gateway-svc
port:
number: 8086
path: /
pathType: Prefix
Gateway
apiVersion: apps/v1
kind: Deployment
metadata:
name: flink-seven-sql-gateway
spec:
replicas: 1
selector:
matchLabels:
app: flink-seven-sql-gateway
template:
metadata:
labels:
app: flink-seven-sql-gateway
spec:
containers:
- name: flink-seven-sql-gateway
image: flink:1.17.0
ports:
- containerPort: 8086
command: ["/bin/sh", "-c"]
args:
- "/opt/flink/bin/sql-gateway.sh start-foreground
-Dsql-gateway.endpoint.rest.address=localhost
-Dsql-gateway.endpoint.rest.port=8086"
volumeMounts:
- name: flink-conf
mountPath: /opt/flink/conf
volumes:
- name: flink-conf
configMap:
name: flink-conf
Gateway svc
apiVersion: networking.k8s.io/v1 apiVersion: v1
kind: Service
metadata:
name: flink-seven-sql-gateway-svc
spec:
selector:
app: flink-seven-sql-gateway
ports:
- name: flink-seven-sql-gateway
port: 8086
targetPort: 8086
type: ClusterIP
Ingresses
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: k8-cps-dev
nginx.ingress.kubernetes.io/client-body-buffer-size: 500M
name: ingress-3
spec:
rules:
- host: flink-sql-gateway.usb.cloud.bank-dns.com
http:
paths:
- backend:
service:
name: flink-seven-sql-gateway-svc
port:
number: 8086
path: /
pathType: Prefix
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: k8-cps-dev
nginx.ingress.kubernetes.io/client-body-buffer-size: 500M
name: ingress-2
spec:
rules:
- host: flink-prod-dns.usb.cloud.bank-dns.com
http:
paths:
- backend:
service:
name: session-seven-deployment-only-example-rest
port:
number: 8081
path: /
pathType: Prefix
Updated flink conf used as configmap
rest.address: flink-prod-dns.usb.cloud.bank-dns.com
rest.port: 80
jobmanager.bind-host: flink-prod-dns.usb.cloud.bank-dns.com
rest.server.max-content-length: 1409715200
rest.client.max-content-length: 1409715200
Thanks
Rajat Ahuja