本文假设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)