博主自主知识产权《Spring Boot深入浅出系列课程》(16章97节文档) 已经上线,请关注

hiveServer2服务端安装

Hive 字母哥 0评论

本文假设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)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址