问题描述
Kylin Web数据导出功能异常,数据无法导出
异常原因
Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.
java.lang.IllegalArgumentException: Request header is too large
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:557)
at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:546)
at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:176)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1108)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:654)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:319)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:750)
如上,为题原因为请求头太大
调整解决
异常日志显示是因为请求头太大,所以我们需要调整Kylin Tomcat请求头大小限制,修改tomcat server.xml配置文件,添加如下配置:
maxHttpHeaderSize ="102400
修改位置:
<Connector port="7070" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="7443"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml,text/javascript,application/javascript,application/json,text/css,text/plain"
URIEncoding="UTF-8"
maxHttpHeaderSize ="102400"
/>
如果走了Nginx,nginx同时需要调整:
在nginx.conf的http段中加入以下参数:
client_header_buffer_size 512k;
large_client_header_buffers 4 512k;
client_max_body_size 100m;