欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Hive安装:使用外部mysql作为元数据库

程序员文章站 2022-04-21 20:45:09
数据库mysql的安装">一、元数据库mysql的安装 #看本机是否安装有mysql rpm -qa | grep mysql #如果有则先卸载 rpm -e mysql;//...
#看本机是否安装有mysql
rpm -qa | grep mysql
#如果有则先卸载
rpm -e   mysql;//一般删除,如果提示依赖的其他文件,则不能删除                                                                        rpm -e  --nodeps mysql;//强力删除,如果有其他依赖文件,则可以
#安装mysql
yum install -y mysql-server mysql mysql-devel  //将mysql,mysql-server,mysql-devel都安装好
#查看mysql
rpm  -qi mysql-server
#启动mysql
service mysqld start
#查看mysql是否开机自启
chkconfig --list  | grep mysqld
#若没有开机自启,则设置一下
chkconfig  mysqld on;

二、hive安装

1.解压好hive后设置环境变量

#设置环境变量(etc/prifile后面添加下面两行)
export HIVE_HOME=/usr/local/apps/platform/hive
export PATH=${HIVE_HOME}/bin:$PATH
#更新环境变量
source /etc/profile

2.配置hive的配置文件
进入配置文件的目录

cd /export/servers/hive/conf/

修改hive-env.sh文件

#复制一份hive-env.sh文件
cp hive-env.sh.template hive-env.sh

在hive-env.sh文件中设置java、hadoop、hive的安装路径

export JAVA_HOME=/usr/local/apps/platform/jdk
export HADOOP_HOME=/usr/local/apps/platform/hadoop
export HIVE_HOME=/usr/local/apps/platform/hive

修改log4j文件

#复制一份log4j配置文件
cp hive-log4j.properties.template hive-log4j.properties

将EventCounter修改成org.apache.hadoop.log.metrics.EventCounter

#log4j.appender.EventCounter=org.apache.hadoop.hive.shims.HiveEventCounter
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter

配置远程登录模式

#新建hive-site.xml文件
touch hive-site.xml

将以下信息写入到hive-site.xml文件中


        
                #配置mysql的连接地址
                javax.jdo.option.ConnectionURL
                jdbc:mysql://hadoop1:3306/hive?createDatabaseIfNotExist=true
        
                #配置mysql驱动类
                javax.jdo.option.ConnectionDriverName
                com.mysql.jdbc.Driver
        
                #配置连接mysql的用户名
                javax.jdo.option.ConnectionUserName
                root
        
                #配置连接mysql的密码
                javax.jdo.option.ConnectionPassword
                root
        

三、配置Hive元数据库

到安装了mysql的服务器中

#登录mysql
mysql -u root -p
#创建hive源数据库(与hive-site.xml中对应) 
create database hive;

对hive元数据库进行赋权,开放远程连接,开放localhost连接

grant all privileges on *.* to root@"%" identified by "root" with grant option;
grant all privileges on *.* to root@"localhost" identified by "root" with grant option;

注意!!!!!
Hive2需要hive元数据库初始化
首先将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下
使用schematool初始化元数据库

/hive/bin/schematool -dbType mysql -initSchema

四、进入hive

#开启hive
/HIVE_HOME/bin/hive

如果遇到报错Found class jline.Terminal, but interface was expected是因为hadoop目录下存在老版本jline:

/hadoop-2.6.0/share/hadoop/yarn/lib:
-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar

解决:拷贝hive的lib目录下的jar包过去

cp -r /hive/lib/jline-2.12.jar /hadoop-2.5.2/share/hadoop/yarn/lib