这是个很坑的问题
异常信息:
[root@kdg01 bin]# schematool -initSchema -dbType mysql
which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/myshell:/root/myshell:/usr/mysoft/jdk1.8.0_111/bin:/usr/mysoft/jdk1.8.0_111/bin:/usr/mysoft/hadoop-2.6.5/bin:/usr/mysoft/hadoop-2.6.5/sbin:/usr/local/mysql/bin:/kdg/hive2/bin:/root/bin)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/kdg/hive2/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/mysoft/hadoop-2.6.5/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Metastore connection URL: jdbc:mysql://192.168.200.10:3306/hive_class?createDatabaseIfNotExist=true
Metastore Connection Driver : com.mysql.jdbc.Driver
Metastore connection User: mysql
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
Underlying cause: java.sql.SQLException : Access denied for user 'mysql'@'kdg01' (using password: YES)
SQL Error code: 1045
Use --verbose for detailed stacktrace.
*** schemaTool failed ***
原因:
密码错误。用这个账号和密码登录mysql能够登录,但是当用schematool对mysql进行初始化的时候却出错。原因就在于mysql的安装。。。。利用hive初始化数据库的时候是随机找的,可能找到的是没有密码,和hive-site.xml文件中的配置不匹配,导致出错。这个mysql是用来装元数据的。
问题解决
最终问题解决: 把数据库里面的不是%的数据全部删除【确保hive-site.xml中配置正确的前提下】
注: '%'表示全部用户
现象描述:
Hive本地模式schematool无法初始化mysql数据库。
mysql -uroot -p1 【希望用谁关联hive就用谁登陆】
select host from user;
delete from user where host<>'%';
select host from user;
exit
service mysqld restart
schematool -initSchema -dbType mysql
相关推荐
通常,Hive默认使用Derby数据库作为元数据库,但当面对大规模数据处理时,Derby可能无法满足高并发和稳定性需求,因此选择更强大的MySQL作为元数据库是常见的做法。 **安装Apache Hive** 1. **下载与解压**: 首先...
在Hive安装目录的`bin`目录下运行`schematool`命令,指定数据库类型为`dm`并执行初始化脚本。成功执行后,你会看到“Initialization script completed”这样的提示,标志着元数据初始化完成。 在实际使用过程中,...
通过mysql> source XXXXX\hive-schema-3.1.0.mysql.sql初始化元数据
总结来说,本文档指导用户如何在 Linux 环境下安装和部署 Hive,包括下载和解压 Hive 的安装包,配置环境变量,配置 Hive,初始化元数据库,启动 HiveServer2 和 beeline。这些步骤将帮助用户快速地搭建 Hive 环境,...
- 初始化Hive Metastore,执行Hive的`schematool`命令。 5. **集群搭建**: - 将上述所有组件安装在每台服务器上,包括Master和Slave节点。 - 调整各组件的配置文件,确保集群通信正常。 - 分别启动Hadoop、...
- **scripts**:包含初始化脚本和示例脚本。 - **sql**:包含用于创建 Hive 示例数据库的 SQL 脚本。 - **docs**:文档资料,帮助用户了解 Hive 的使用方法和功能。 在安装和配置 Hive 1.2.1 时,你需要设置环境...
### 五、初始化Hive元数据 运行Hive的metastore服务,初始化元数据: ```bash /usr/local/hive/bin/schematool -initSchema -dbType mysql ``` ### 六、启动Hive 启动Hive的metastore服务和Hive CLI: ```bash /...
- **默认元数据库**:Hive 默认使用 Derby 数据库作为元数据库,可以通过执行 `schematool -initSchema -dbType derby` 来初始化。 - **注意事项**:确保 Hive 的安装目录中有 Derby 数据库的相关文件。 ##### 7. ...
3. **初始化元数据**: - 运行Hive提供的脚本来创建元数据表: ```sh sbin/hive --service schematool -dbType mysql -initSchema ``` 4. **验证配置**: - 启动Hive并尝试查询表来验证配置是否正确。 #### ...
5. **初始化metastore**:运行Hive的schematool命令,初始化metastore的表结构。 6. **启动Hive**:启动Hive的各个服务,包括Hive Server、Hive Metastore Server等。这一步完成后,Hive就已经准备就绪,可以开始...
以上步骤详细介绍了如何在Linux环境下搭建基于Hadoop的Hive数据仓库,包括Hive的安装、MySQL作为Hive元数据存储的配置以及Hive的初始化等关键步骤。通过这些配置,你可以利用Hive对Hadoop中的大规模数据进行高效的...
接着,通过 bin 目录下的 `schematool` 工具初始化元数据,然后就可以使用 `hive` 命令启动 Hive CLI 或者 `beeline` 连接 JDBC 服务执行 SQL 查询了。 Hive 支持多种数据处理操作,如创建表、加载数据、查询、聚合...
- 使用Hive提供的脚本初始化表结构,例如:`schematool -dbType mysql -initSchema`。 (4)**启动Hive**: - 启动Hive Server:`hive --service metastore &` 或 `hive --service hiveserver2 &` - 进入Hive...
本文将详细介绍在Linux环境下安装Hive的步骤,包括MySQL的安装、配置以及Hive的初始化和启动。 首先,安装MySQL是Hive运行的基础,因为Hive依赖MySQL作为其元数据存储。在Linux系统中,可以使用以下命令更新软件源...
- 通过安全脚本初始化MySQL,设置root用户的密码。 4. **MySQL与Hive的集成** - Hive通常使用MySQL来存储元数据,因此需要安装MySQL的JDBC驱动。 - 将驱动复制到Hive的lib目录,确保Hive能够找到连接MySQL所需的...
在完成Hive配置后,需要初始化Hive的元数据存储。这一步骤通常涉及到Hive的元数据存储(例如MySQL数据库)的设置。可以使用以下命令初始化Hive元数据: ```bash schematool -initSchema -dbType ``` 这里`...
3. **初始化元数据**:在MySQL中创建Hive所需的表结构,通常使用Hive提供的`schematool`命令。 **四、测试与启动** 1. **启动Hive**:运行Hive的命令行客户端,如`hive`,检查是否能正常连接到元数据库,以及执行...
5. **初始化metastore**:运行`schematool -initSchema -dbType derby`(如果使用Derby)或`schematool -initSchema -dbType mysql`(如果使用MySQL)命令,初始化metastore的表结构。 6. **启动Hive服务**:运行`...
3. **初始化 Metastore**:创建 MySQL 数据库并配置相应的表,然后运行 `schematool` 命令初始化元数据。 4. **启动 Hive**:运行 `hive` 或 `beeline`(Hive 的命令行客户端)命令启动服务。 5. **测试**:创建一...