部署参考 livy安装:https://cloud.tencent.com/developer/article/1349537
此外需要在hdfs core-site.xml 配置如下代理:
<property>
<name>hadoop.proxyuser.livy.groups</name>
<value>*</value>
<description>Allow the superuser livy to impersonate any members of the group group1 and group2</description>
</property>
<property>
<name>hadoop.proxyuser.livy.hosts</name>
<value>*</value>
<description>The superuser can connect only from host1 and host2 to impersonate a user</description>
</property>
如果不配置的话,会有
ERROR: org.apache.hadoop.security.authorize.AuthorizationException: User: livy is not allowed to impersonate xxx
该警告会影响任务的提交.
配置完成后,别忘了重启hdfs,livy,yarn等
String user = "livy";
HashMap<String, String> headers = new HashMap<>();
headers.put("Content-Type", "application/json");
headers.put("Accept", "application/json");
headers.put("X-Requested-By", user);
//创建一个交互式会话
// String kindJson = “{“kind”: “spark”, “proxyUser”:“livy”}”;
// HttpUtils.postAccess(LIVY_HOST + “/sessions”, headers, kindJson);
//执行code
String code = "{\"code\":\"sc.parallelize(1 to 2).count()\"}";
HttpUtils.postAccess(LIVY_HOST + "/sessions/0/statements", headers, code);