进行大数据组件的Hive库的安装:
1.首先从hive官方网站下载也进行下载:
https://hive.apache.org/downloads.html
注意选择hive版本的时候需要注意hadoop的版本,hive必须是在hadoop的基础上才能够启动:
安装过程报如下错误,安装文档中进行修改后即好了:
重新执行的时候又报错:
schematool -dbType mysql -initSchema
Schema initialization FAILED! Metastore state would be inconsistent !!
后按照如下方法解决(我是将配置放到了最下面解决的):
但是当执行hive进入命令行后,查询其中的数据库:
出现如下错误:
hive>
> show databases;
FAILED: IllegalArgumentException java.net.URISyntaxException: Relative path in absolute URI: file:./$HIVE_HOME/iotmp/fef28b9a-a421-4a53-8a2d-e43cf2ca4e40/hive_2019-09-06_11-43-53_217_6769807244516030197-1
hive>
如图:
将路径改成绝对路径后,如下:
修改hive-site.xml文件
<property>
<name>hive.exec.local.scratchdir</name>
<value>/data/hive/iotmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/data/hive/iotmp</value>
<description>Location of Hive run time structured log file</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/data/hive/iotmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
重新执行:schematool -dbType mysql -initSchema
又报:Error: Table 'CTLGS' already exists (state=42S01,code=1050
然后发现是mysql库中已经初始化了一些表,然后图中表已存在,但是无法单独删除,因为有外键的原因,因此我给库删了重新建,然后重新初始化就好了
接着我就进入hive:
然后执行 show databases 查看databases:
如图,查看数据库时正常,有一个default的,但是当我创建数据库的时候异常了:感觉是我的创建命令有问题,修复如下执行成功
show databases;
create database myhive;