?hive-site.xml 文件中添加配置
<!-- Hive 元数据存储版本的验证 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!--元数据存储授权-->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- Hive 默认在 HDFS 的工作目录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 指定存储元数据要连接的地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://192.168.1.35:9083</value>
</property>
<!-- 指定 hiveserver2 连接的 host -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>192.168.1.35</value>
</property>
<!-- 指定 hiveserver2 连接的端口号 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<property>
<name>hive.server2.active.passive.ha.enable</name>
<value>true</value>
</property>
?JDBC 方式访问 Hive时,必须开启hive的元数据存储;
启动 metastore?
bin/hive --service metastore
2)启动 hiveserver2
bin/hive --service hiveserver2
启动 beeline 客户端(需要多等待一会)
bin/beeline -u jdbc:hive2://192.168.1.35:10000 -n atguigu
异常处理; zwl is not allowed to impersonate zwl
Caused by: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate root? ?? ?at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:651) ~[hive-exec-3.1.2.jar:3.1.2] ?? ?at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:586) ~[hive-exec-3.1.2.jar:3.1.2] ?? ?at org.apache.hive.service.cli.session.HiveSessionImpl.open(HiveSessionImpl.java:179) ~[hive-service-3.1.2.jar:3.1.2]
修改hadoop的core-site.xml配置文件 表示可通过超级代理“xxx”操作hadoop的用户、用户组和主机
<!-- root , zwl 依据提交任务信息->
<!-- 表示设置 hadoop 的代理用户-->
<property>
<!--表示代理用户的组所属-->
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
<property>
<!--表示任意节点使用 hadoop 集群的代理用户 hadoop 都能访问 hdfs 集群-->
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!-- 表示设置 hadoop 的代理用户-->
<property>
<name>hadoop.proxyuser.zwl.groups</name>
<value>*</value>
</property>
<property>
<!--表示任意节点使用 hadoop 集群的代理用户 hadoop 都能访问 hdfs 集群-->
<name>hadoop.proxyuser.zwl.hosts</name>
<value>*</value>
</property>
?? ? 在conf/hive-site.xml中加入以下配置: 默认情况下HiveServer2 执行查询时使用的用户是提交查询的用户.但是如果将这个选项设置为false,查询将会使用运行hiveserver2的用户。
<property>
?? ?<name>hive.server2.enable.doAs</name>
?? ?<value>false</value>
</property>?
|