写在前面
//20220122
本文用于记录如标题报错的解决办法
错误产生原因:
- 是否开放mysql端口
- 没有则开放(3306),最好关闭防火墙
- 是否允许root用户(或者指定用户)在任意ip远程访问
- 没有则将user表中root对应的host改为‘%’————代表该用户可以从任意ip访问
- 设置完之后别忘了用grant命令给root用户所有表的权限
- 全部设置完之后使用flush privileges命令来刷新配置
- 是否在hive/conf目录下配置好hive-site.xml文件
- 没有则去配置(原装derby数据库不用配置,而mysql则需要配置,具体内容网上有,根据自己需要配置)
- 是否使用hive/bin目录下的schematool工具来初始化数据库
- 没有则使用
schematool -initSchema -dbType mysql
命令初始化- 注意:如果先前在某个文件夹下初始化过derby数据库,则需要先把derby数据库生成的文件夹以及日志文件删掉
- 没有则使用
- 是否开启hive的两个服务(hive-2.x.x需要开启两个不同的服务)
- 如果没有则执行以下两条语句(在hive/bin目录下)
nohub hive --service metastore &
nohub hive --service hiveserver2 &
- 如果没有则执行以下两条语句(在hive/bin目录下)
- 以上条目如果全部完成,应该可以成功进入hive命令行界面(前提是成功启动hadoop集群、成功启动mysql服务)并执行相关hql语句
- 成功截图如下: