Hive安装
下载Hive,解压
Hive配置
将hive下的conf文件中的hive-default.xml.template复制为hive-site.xml
sudo cp hive-default.xml.template hive-site.xml
配置hive-site.xml
改配置十分关键,hive无法成功运行,主要在于该文件没有配置成功。
- 第一步:安装mysql,非常简单,不做详细说明;
- 第二步:在mysql中创建hive数据库;
create database hive;
- 第三步:修改hive-site.xml文件。首先,将以下语句复制过去。
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
复制完后,请分别找到并删除文件中剩余语句里面的javax.jdo.option.ConnectionURL
,javax.jdo.option.ConnectionDriverName
,javax.jdo.option.ConnectionUserName
,javax.jdo.option.ConnectionPassword
保存。
初始化
schematool -dbType mysql -initSchema
复制hadoop驱动程序
cp /home/hadoop/hadoop-2.7.5/share/hadoop/tools/lib/hadoop-distcp-2.7.5.jar /home/hadoop/apache-hive-2.3.4-bin/lib/
开启dfs,yarn
start-all.sh
开启hive元数据服务
hive --service metastore &
如果在开启过程中出现以下错误,就对照着进行修改。
Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083
这表明开启的进程冲突。或者是没有开启成功。如下图:
可以先杀死RunJar
进程。kill -9 3920
然后重启hive --service metastore &
如果依然错误,直接输入hive
查看你的报错内容。
然后按照下面的进行修改。
开启hive
直接开启Hive肯定会报错,报错内容如下:
这说明hive-site.xml
文件仍然没有配置好。
继续打开,修改以下内容:
<property>
<name>hive.exec.scratchdir</name>
<value>/tmp/hive</value>
<description>HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/tmp/hive/local</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/tmp/hive/resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
保存后在启动hive。
可以看到启动成功: