Hive安装与配置之本地模式

一、本地模式介绍

特点:

  • 需要安装配置MySQL数据库替代derby存储元数据
  • 可以支持多个连接
  • MySQL在本机中

二、准备工作:

解压 tar -zxvf apache-hive-2.3.0-bin.tar.gz -C ~/training/
设置环境变量 vi ~/.bash_profile
#HIVE_HOME
export HIVE_HOME=/root/software/apache-hive-2.3.0-bin
export PATH=$PATH:$HIVE_HOME/bin
使环境变量生效
source ~/.bash_profile
三、安装配置MySQL数据库
首先在Linux下干净卸载mysql
1、停止mysql服务  service mysqld stop
2、使用以下命令查看当前安装mysql情况
rpm -qa | grep -i mysql
3、删除之前安装的mysql
删除命令:rpm -e  包名 
如果提示依赖包错误,则使用以下命令尝试强制删除
 -v:显示指令执行过程;
rpm -ev mysql-community-libs-5.6.37-2.el7.x86_64  --nodeps
yum remove mysql-libs  再次删除MySQL依赖包
如果提示错误:error: %preun(xxxxxx) scriptlet failed, exit status 1
则用以下命令尝试:
rpm -e --noscripts 包名
(rpm --noscripts命令意思是忽略RPM包的脚本执行屏蔽rpm包中的异常脚本)
4、查找之前老版本mysql的目录、并且删除老版本mysql的文件和库
find / -name mysql
查找出结果
/var/lib/mysql
/var/lib/mysql/mysql
删除对应的mysql目录
rm -rf /var/lib/mysql
rm -rf /var/lib/mysql
查找目录并删除
注意:卸载后/etc/my.cnf不会删除,需要进行手工删除
rm -rf /etc/my.cnf
5、安装mysql
rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm (可选,但还是装上,后面装HUE的时候会用到。)
注意:复制安装时注意版本问题,看一下复制版本和你的版本相同吗?  

          安装rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm可能出现以下错误(本人亲身体会)
[root@HP110 software]# rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm
warning: mysql-community-server-5.7.19-1.el7.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
error: Failed dependencies:
net-tools is needed by mysql-community-server-5.7.19-1.el7.x86_64

解决方法

启动MySQL:service mysqld start  -->CentOS6
或者:systemctl start mysqld.service   -->CentOS7
查看root用户的密码:cat /var/log/mysqld.log | grep password
登录MySQL:mysql -uroot -p
登录后修改密码:alter user 'root'@'localhost' identified by '修改的密码';
mysql> alter user 'root'@'localhost' identified by 'root';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
错误1819 (HY000):您的密码不满足当前的策略要求,密码设置过小
此时需要修改级别与最小的默认密码位数
set global validate_password_policy=0; 因密码过于简单,调整MySQL密码验证规则
set global validate_password_length=4; 密码长度限制 ,这个值最小要是4
然后再进行设置密码就好了
mysql> alter user 'root'@'localhost' identified by 'root';

MySQL数据库的配置:
创建一个新的数据库:create database hive;
创建一个新的用户:
create user 'hiveowner'@'%' identified by '修改的密码';
给该用户授权
grant all on hive.* TO 'hiveowner'@'%';
grant all on hive.* TO 'hiveowner'@'localhost' identified by '修改的密码';

MySQL可视化免费工具:http://www.mysqlfront.de/
付费工具:Navicat for MySQL(可破解)

四、修改配置文件

进入配置文件:cd /root/training/apache-hive-2.3.0-bin/conf
创建:vi hive-site.xml 本来没有此文件
vi hive-default.xml.template 复制头文件然后开始配置(只需要头文件)







javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?useSSL=false




javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver




javax.jdo.option.ConnectionPassword
MySQL的密码



初始化MetaStore:schematool -dbType mysql -initSchema

这里会出现这个错误:

org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver
Underlying cause: java.lang.ClassNotFoundException : com.mysql.jdbc.Driver
Use --verbose for detailed stacktrace.
*** schemaTool failed ***

错误原因:没有上传mysql的驱动
解决方法:在/root/training/hive-2.3.0/lib里放mysql-connector-java-5.0.8-bin.jar驱动。

注意:如果没有启动 HDFS 会出错,先执行以下 start-dfs.sh 命令
再去启动 Hive –> [root@bigdata111 ~]# hive 即可

你可能感兴趣的:(大数据学习)