Hive安装:使用外部mysql作为元数据库
程序员文章站
2022-04-21 20:45:09
数据库mysql的安装">一、元数据库mysql的安装
#看本机是否安装有mysql
rpm -qa | grep mysql
#如果有则先卸载
rpm -e mysql;//...
数据库mysql的安装">一、元数据库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