配置
主要分两块:元数据配置、数据配置。
export HIVE_HOME=/home/hadoop/cloud/apache-hive-2.1.1-bin
Mysql元数据
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/db_hive?createDatabaseIfNotExsit=true&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
使用Derby
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>org.apache.derby.jdbc.EmbeddedDriver</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
分区
高可用
<property>
<name>hive.server2.support.dynamic.service.discovery</name>
<value>true</value>
</property>
<property>
<name>hive.zookeeper.quorum</name>
<value>tail1:2181,tail2:2181,tail3:2181</value>
</property>
依赖
https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.49
hive/lib下存入此Jar包。
依赖环境变量
HADOOP_HOME=/opt/hadoop
启动
初次启动初始化MySQL元数据
hive/bin/schematool --dbType mysql --initSchema
hive-txn-schema是什么?
hive-txn-schema.sql
启动服务
service mysqld start
service hive-metastore start
nohup bin/hive --service metastore &
HiveServer2
启动
启动慢且没有日志,要多等一会。
bin/hiveserver2 &
nohup /hive --service hiveserver2 &
如果起不来可以设置如下选项开启日志,进行排查。
./hive --service metastore --hiveconf hive.root.logger=INFO,console
./hive --service hiveserver2 --hiveconf hive.root.logger=INFO,console
./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启动.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-6-x/topics/cm_mc_hive_udf.html