Hive安装与配置
Java:java version 1.8.0_162
Hadoop:Hadoop 2.7.5
hive默认meta数据库为derby ,为了避免使用默认的Derby数据库(有并发访问和性能的问题),通常还需要配置元数据库为MySQL的操作。
#>apt-get install mysql-server -y
安装完毕后,此时启动mysql服务
#>service mysql restart
安装完成后执行:
#>mysql
如果出现如下错误:
请查看 Linux下root登陆mysql
为root用户设置密码为123456
mysql>set password for 'root'@'localhost'=password('123456');
这里要对数据库授权为root超级管理员
mysql>create database if not exists hive_metadata;
mysql>grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'hive';
mysql>grant all privileges on hive_metadata.* to 'hive'@'Qi-Tech' identified by 'hive';
mysql> alter database hive_metadata character set latin1;
设置mysql给与其他任何主机访问数据库的权限
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
刷新数据库
mysql> flush privileges;
修改/etc/mysql/mysql.conf.d/mysqld.cnf目录下的bind-address,使数据库可以远程访问
#>vim /etc/mysql/mysql.conf.d/mysqld.cnf
第43行修改为
bind-address = 0.0.0.0
重启mysql服务
#>/etc/init.d/mysql restart
进入/install-package下,解压hive安装包至/apps目录下,然后在重命名为hive
本文用的是apache-hive-2.3.2-bin.tar.gz 百度云链接如下:
链接:https://pan.baidu.com/s/1tL_BcFV6Fdo0BdVqJiGybw
提取码:n2mx
#>cd /install-package
#>tar -zxvf apache-hive-2.3.2-bin.tar.gz -C /apps
#>cd /apps
#>mv apache-hive-2.3.2-bin hive
#>vim ~/.bashrc
#HIVE_HOME
export HIVE_HOME=/apps/hive
export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/conf
#>source ~/.bashrc
修改配置文件
注意: 把几个带.template后缀的模板文件,复制一份变成不带.template的配置文件,注意hive-default.xml.template这个要复制二份,一个是hive-default.xml,另一个是hive-site.xml,其中hive-site.xml为用户自定义配置,hive-default.xml为全局配置,hive启动时,-site.xml自定义配置会覆盖-default.xml全局配置的相同配置项。
#> cd /apps/hive/conf
#> cp hive-default.xml.template hive-site.xml
#> cp hive-env.sh.template hive-env.sh
#> cp hive-default.xml.template hive-default.xml
配置文件:hive-env.sh
在里面添加:
export JAVA_HOME=/usr/lib/jvm/default-java
export HADOOP_HOME=/apps/hadoop
export HIVE_CONF_DIR=/apps/hive/conf
配置文件:hive-site.xml
我这里将其他的全部都删除了,自己添加如下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_metadata?createDatabaseIfNotExist=true&characterEncoding=UTF-8&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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>
将/install-package目录的mysql驱动包mysql-connector-java-5.1.45-bin.jar拷贝到/apps/hive/lib目录下:
mysql-connector-java-5.1.45-bin.jar 百度云链接如下:
链接:https://pan.baidu.com/s/1NeNJMHM7yj1nxpn1OrinBQ
提取码:4c8y
#>cd /install-package
#> cp mysql-connector-java-5.1.45-bin.jar /apps/hive/lib/
启动hadoop
#>start-all.sh
初始化数据库
#>schematool -initSchema -dbType mysql
#>hive
查看数据库
hive>show databases;
hive>use default;
hive>show tables;