hive是远程仓库。hive的原理是通过类SQL语句(hql)的解析帮助程序员完成MR的计算。
下面是hive的元数据库的安装过程。首先是安装hive自带的元数据库derby。
derby的安装
1、开启虚拟机,启动hadoop集群,hadoop集群在我之前的博客有,如没有搭建好集群,可以去我前面的博客练习搭建。使用连接工具(我使用的是xshell)进行虚拟机的连接。为什么要使用连接工具呢?因为上传东西方便啊,直接上传一个hive解压包就可以了。
2、使用user1用户上传hive解压包,我使用的是apache-hive-2.1.1-bin.tar.gz版本。我上传到了/home/user1/soft下。
3、输入命令tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /opt/wdp解压hive到/opt/wdp文件夹下。
4、cd /opt/wdp/hive,然后su root,切换到root用户,因为我们要改配置文件需要权限。
5、vi /etc/profile,将export HIVE_HOME=/opt/wdp/hive和export PATH=$PATH:$HIVE_HOME添加到文件最后,然后保存退出,切到user1用户。
6、输入命令schematool -initSchema -dbType derby命令,初始化derby数据库。
7、输入hive进入hive窗口。如果失败,将生成的metastore_db文件夹删掉,重新初始化再试就会成功。
windows下mysql的hive元数据库安装
1、在windows上先要有一个mysql数据库,我使用的是5.7版本的mysql数据库,5.5的也可以。
2、先启动mysql的服务,再关闭windows的防火墙
3、放开mysql进行外部链接的权限:
1)进入mysql命令行
2)输入:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
| |
用户名 密码
3)输入:flush privileges;刷新命令。
4、将hadoop中的jline包替换成hive中的jline:
1)cd /opt/wdp/hive/lib
2)cp jline-2.12.jar /opt/wdp/hadoop/share/hadoop/yarn/lib
5、修改hive的配置文件:
1)cd /opt/wdp/hive/conf
2)vi hive-site.xml
3)将如下代码写到hive-site.xml配置文件。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.24.1:3306/hive?createDatabaseIfNotExist=true&useSSL=false</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>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>
6、向/opt/wdp/hive/lib添加mysql的驱动包,我使用的是mysql-connector-java-5.1.44-bin.jar版本。
7、输入命令:schematool -initSchema -dbType mysql初始化hive的元数据库
如果出现错误,下面有几个坑要注意一下:
1) mysql版本太高或太低
2) mysql密码三位数字
3)忘关防火墙
4)权限为正确修改
5)检查windows和虚拟机是否同一网段
6)mysql的驱动包和mysql版本不一致
Linux下mysql的hive元数据库安装
之前的文章已经在linux下安装了mysql,文章链接如下,所以就不在多说,直接开始做。因为有了在windows上安装hive元数据库mysql的基础,在linux上我们只需稍加修改即可。
https://blog.csdn.net/gjwcsdn/article/details/81296173
1、将linux上的mysql服务启动:service mysql start。
2、修改hive的配置文件(只需修改ip和mysql密码即可):
1)cd /opt/wdp/hive/conf
2)vi hive-site.xml
3)将如下代码写到hive-site.xml配置文件。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.24.100:3306/hive?createDatabaseIfNotExist=true&useSSL=false</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>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
<description>password to use against metastore database</description>
</property>
</configuration>
3、配置完毕后,初始化mysql,命令:schematool -initSchema -dbType mysql。如果启动 hive 异常,可重新启动虚拟机(重启后别忘启动hadoop集群)。
4、输入hive,启动成功,即完成。