HIVE元数据库改为mysql
来源:互联网 发布:js鼠标经过事件 编辑:程序博客网 时间:2024/05/16 11:44
2.为Hive建立相应的MySQL账户,并赋予足够的权限,执行命令如下:
mysql -uroot -p123456
mysql> CREATE USER 'hive' IDENTIFIED BY 'hive';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
mysql> flush privileges;
3.创建数据库hive
mysql> create database hive;
4.创建hive用户,并授权
mysql> grant all on hive.* to hive@'%' identified by 'hive';
mysql> grant all on hive.* to hive@'gc.localdomain' identified by 'hive';mysql> grant all on hive.* to hive@'localhost' identified by 'hive';
mysql> flush privileges;
需要注意的是:这里的hive.*的hive是指database,hive@‘%’这里的hive是指dbuser
5.hive的conf配置问题
A)bin/hive-config.sh
HADOOP_HOME
HADOOP_CONF_DIR
HIVE_HOME
HIVE_CONF_DIR
B) conf/hive-default.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
碰到的问题:
1. lower_case_table_names = 1参数设置问题
mysql和linux一样区分大小写,如果没有在/etc/my.cnf中设置这个参数,默认数据库表是大写,如果工程中需要读取某表是会提示找不到表找不到。
建议在mysql安装完毕后,修改my.cnf加入该参数,后续创建的database中的table均会不区分大小写(加入参数以前创建的database还是会有影响)。
2. Error in metadata Communications link failure
原因是在hive-default.xml中jdbc:mysql://hive:3306/
而这里实际上在mysql创建create user 'hive'@'hive' identified by 'hive' 是会出错的
3. 出现 org.apache.hadoop.hive.ql.hooks.PreExecutePrinter 错误
原因未知,解决方法是将原来HIVE的目录删除或备份,重新创建HIVE,然后按照步骤一步步来解决的。怀疑是什么地方的配置问题
一般来讲,hive出现问题在数据不重要的情况下可以通过删除hdfs::/user/hive/worehouse,重新创建其所用database来解决;
备注:hive中不支持truncate table 表名的形式存在(也包括 delete from 表名),可通过 hive>dfs -rmr /user/hive/warehouse/表名来清空该表下的数据,以便保持表元数据信息不丢失;或者通过create table 表名 like 表名,也可以。
- HIVE元数据库改为mysql
- hive修改默认元数据存储数据库derby改为mysql
- 1002-将Hive的默认数据库Derby改为MySQL
- 使用mysql作为hive的元数据库
- hive的安装(元数据库: MySQL)
- ubuntu hive无法初始化mysql元数据库
- Hive配置mysql作为元数据库
- hive绑定本地mysql为元数据库
- Hadoop Hive安装,配置mysql元数据库
- hive的安装(元数据库: MySQL)
- Hadoop Hive安装,配置mysql元数据库
- 使用mysql数据库作为Hive的元数据库
- 使用mysql数据库作为Hive的元数据库
- mysql作为hive元数据库读取时提示communication failure
- Hive 存储元数据库MySQL:Error executing JDOQL query "SELECT '
- hive使用mysql做元数据库,以及一些问题处理
- hive使用mysql作为元数据库时的编码问题
- hive安装同时以mysql为元数据库
- 数组排序实例
- No accelerated colorspace conversion found from yuv420p to rgba.的问题
- 需求调研步骤和方法
- 【热门主题】蓝色妖姬电脑桌面主题
- 关于ghostscript not found 解决方案
- HIVE元数据库改为mysql
- 数据库 ORDER BY 整理
- 关于闭包
- android 集成第三方静态库的编译方法
- NSNotification 传递参数
- OpenStack虚拟机创建过程中镜像格式的的变化过程
- 异构系统就是异构数据库系统?
- 如何查看端口号是否被占用
- ASP无惧上传类不能上传中文双引号文件及ASP函数InStr存在bug