配置

主要分两块:元数据配置、数据配置。

  1. export HIVE_HOME=/home/hadoop/cloud/apache-hive-2.1.1-bin

Mysql元数据

  1. <property>
  2. <name>javax.jdo.option.ConnectionURL</name>
  3. <value>jdbc:mysql://localhost:3306/db_hive?createDatabaseIfNotExsit=true&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
  4. </property>
  5. <property>
  6. <name>javax.jdo.option.ConnectionDriverName</name>
  7. <value>com.mysql.jdbc.Driver</value>
  8. </property>
  9. <property>
  10. <name>javax.jdo.option.ConnectionUserName</name>
  11. <value>hive</value>
  12. </property>
  13. <property>
  14. <name>javax.jdo.option.ConnectionPassword</name>
  15. <value>hive</value>
  16. </property>

使用Derby

  1. <property>
  2. <name>javax.jdo.option.ConnectionURL</name>
  3. <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
  4. </property>
  5. <property>
  6. <name>javax.jdo.option.ConnectionDriverName</name>
  7. <value>org.apache.derby.jdbc.EmbeddedDriver</value>
  8. </property>
  9. <property>
  10. <name>hive.metastore.local</name>
  11. <value>true</value>
  12. </property>

分区

高可用

  1. <property>
  2. <name>hive.server2.support.dynamic.service.discovery</name>
  3. <value>true</value>
  4. </property>
  5. <property>
  6. <name>hive.zookeeper.quorum</name>
  7. <value>tail1:2181,tail2:2181,tail3:2181</value>
  8. </property>

依赖
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.49
hive/lib下存入此Jar包。

依赖环境变量

  1. HADOOP_HOME=/opt/hadoop

hadoop-env.sh中的JAVA_HOME要配置。

启动

初次启动初始化MySQL元数据

  1. hive/bin/schematool --dbType mysql --initSchema

hive-txn-schema是什么?

  1. hive-txn-schema.sql

启动服务

  1. service mysqld start
  2. service hive-metastore start
  3. nohup bin/hive --service metastore &

HiveServer2

启动
启动慢且没有日志,要多等一会。

  1. bin/hiveserver2 &
  1. nohup /hive --service hiveserver2 &

如果起不来可以设置如下选项开启日志,进行排查。

  1. ./hive --service metastore --hiveconf hive.root.logger=INFO,console
  2. ./hive --service hiveserver2 --hiveconf hive.root.logger=INFO,console
  3. ./hive --service hiveserver2 --hiveconf hive.root.logger=DEBUG,console

报错及解决

运行:./schematool --dbType mysql --initSchema
报错:Duplicate key name 'PCS_STATS_IDX'....
解决:进入MySQL,删掉metastore数据库再重新创建metastore数据库即可

运行:service hive-metastore start
报错:Caused by:...unkown column 'OWNER_TYPE' in 'field list'
原因:未运行schematool
解决:运行./schematool --dbType mysql --initSchema

运行:hive(起Hive CLI)
报错:
Hive运维 - 图1
hive启动.png
原因:服务端的metastore server没有起
解决:启动服务端的metastore server:service hive-metastore start

Class path contains multiple SLF4J bindings.

https://www.cnblogs.com/jaysonteng/p/13412728.html

UDF不重启Server 更新

配置reloadable.aux.path选项。

1、删除UDF
2、跟新Jar
更新reloadable.aux.path配置目录下的Jar包
删掉之前,上传新的。
3、上传Jar
4、创建UDF
5、执行RELOAD

https://docs.cloudera.com/documentation/enterprise/5-9-x/topics/cm_mc_hive_udf.html#concept_un3_yrm_2r

https://docs.cloudera.com/documentation/enterprise/5-6-x/topics/cm_mc_hive_udf.html

https://stackoverflow.com/questions/42209875/hive-2-1-1-metaexceptionmessageversion-information-not-found-in-metastore/42210184