hiveServer2服务端安装

时间:2022-07-25
本文章向大家介绍hiveServer2服务端安装,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

本文假设hive已经做了基础安装,基础配置参考《Hive安装》

配置hive-site.xml

  • 启动HiveServer2还需要下面的设置
<!--并发配置-->
<property>
  <name>hive.support.concurrency</name>
  <value>true</value>
</property>
<!--zookeeper配置-->
<property>
  <name>hive.zookeeper.quorum</name>
  <value>e3basestorage1,e3basestorage2,e3basestorage3</value>
</property>
<property>
  <name>hive.zookeeper.client.port</name>
  <value>9501</value>
</property>
<property>
  <name>hive.zookeeper.session.timeout</name>
  <value>60000</value>
</property>
<property>
  <name>hive.zookeeper.clean.extra.nodes</name>
  <value>true</value>
  <description>Clean extra nodes at the end of the session.</description>
</property>
<!--hiveserver2配置-->
<property>
  <name>hive.server2.thrift.port</name>
  <value>10001</value>
</property>
<property>
  <name>hive.server2.thrift.max.worker.threads</name>
  <value>10240</value>
</property>
<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>10.163.42.47</value>
</property>

另外: * hive.metastore.execute.setugi true 用户使用自身及所在组的权限来使用hive的元数据 * hive.server2.enable.doAs true这样hive server会以提交用户的身份去执行语句,如果设置为false,则会以起hive server daemon的admin user来执行语句

权限设置

设置权限 /hive/warehouse 为1777 ,1表示添加sticky bit,设置目点是允许所有用户创建添加表但是不能删除非自己创建的表 启动:./hive --service hiveserver2

hive安装问题及解决

1.hiveserver2启动后,beeline不能连接的涉及的问题:

原因:权限问题 解决: /user/hive/warehouse /tmp /history (如果配置了jobserver 那么/history也需要调整) 这三个目录,hive在运行时要读取写入目录里的内容,所以把权限放开,设置权限: hadoop fs -chmod -R 777 /tmp hadoop fs -chmod -R 777 /user/hive/warehouse

2.beeline 链接拒绝报错信息

原因:官方的一个bug 解决: hive.server2.long.polling.timeout

hive.server2.thrift.bind.host 注意把host改成自己的host

3.字符集问题、乱码的、显示字符长度问题的

原因:字符集的问题,乱码问题 解决:hive-site.xml中配置的mysql数据库中去 alter database hive character set latin1; 类似附件中的图片显示错误。

4.FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:For direct MetaStore DB connections, we don’t support retries at the client level.)

这个是由于我的mysql不再本地(默认使用本地数据库),这里需要配置远端元数据服务器 hive.metastore.uris

thrift://lza01:9083 Thrift URI for the remote metastore. Used by metastore client to connect to rem ote metastore. 然后在hive服务端启动元数据存储服务 hive –service metastore

5.FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes

修改mysql的字符集 alter database hive character set latin1;

喜欢 (1)or分享 (0)