这种安装方式和嵌入式的区别在于,不再使用内嵌的Derby作为元数据的存储介质,而是使用其他数据库比如MySQL来存储元数据。
这种方式是一个多用户的模式,运行多个用户client连接到一个数据库中。这种方式一般作为公司内部同时使用Hive。
这里有一个前提,每一个用户必须要有对MySQL/Mariadb的访问权利(用户名和密码)。
下面开始正式搭建,这里要求hadoop系统已经正常启动,且MySQL/Mariadb数据库已经正确安装。
1、首先登录MySQL/Mariadb,创建一个数据库,这里命名为hive
mysql -uroot -p
展示当前数据库
show databases;
创建hive用户,密码是hive
create user hive identified by ‘hive’;
展示当前数据库用户
select user from mysql.user;
hive用户授权
grant all privileges on * . * to hive@’%’ identified by ‘hive’;
刷新使授权立即生效
flush privileges;
退出当前root用户
exit;
2、使用hive用户登录
mysql -uhive -p
建数据库名为hive
create database hive;
使用hive数据库查看是否创建成功
use hive;
3、master主机上安装hive
创建hive文件夹:
mkdir /hive
上传hive安装包
cd /hive
解压:
tar -xvzf apache-hive-1.2.2-bin.tar.gz
4、配置hive环境变量
vi /etc/profile
在文件 最后一行添加:
export HIVE_HOME=/hive/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
执行source命令,使配置文件立即生效
source /etc/profile
5、上传mysql-connector-java-5.1.49.jar包到 /hive/apache-hive-1.2.2-bin/lib
cd /hive/apache-hive-1.2.2-bin/lib
rz
6、配置hive-site.xml
cd /hive/apache-hive-1.2.2-bin/conf
生成配置文件
cp hive-default.xml.template hive-site.xml
清空配置文件
echo “”>hive-site.xml
配置文件添加内容 (注意ip地址是否正确jdbc:mysql://192.168.1.4:3306/hive)
vi hive-site.xml
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive/warehouse</value>
</property>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.4:3306/hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value> </property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
7、配置hive-env.sh
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
在env.sh内容添加(注意版本)
export HADOOP_HOME=/hadoop/hadoop-2.6.0
export HIVE_CONF_DIR=/hive/apache-hive-1.2.2-bin/conf
8、在HDFS上建立/tmp和/user/hive/warehouse目录,并赋予组用户写权限。
hadoop dfs -mkdir /tmp
hadoop dfs -mkdir -p /hive/warehouse
hadoop dfs -chmod g+w /tmp
hadoop dfs -chmod g+w /hive/warehouse
9、统一jar包
(1)删除Hadoop下的jar包
cd $HADOOP_HOME/share/hadoop/yarn/lib
ll
rm -rf jline-0.9.94.jar
(2)将hive下的jlin jar包 复制到hadoop目录下面
cd /hive/apache-hive-1.2.2-bin/lib/
cp jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib
(3)运行hive
/hive/apache-hive-1.2.2-bin/bin/hive