Hive的安装与配置(二)

21 篇文章 1 订阅
17 篇文章 0 订阅

1. Hive的基本安装

1.1 下载

Hive的下载地址下载链接
在这里插入图片描述

1.2 上传解压

在Hadoop用户状态下,将Hive的安装文件拷贝到安装目录下并解压。
在这里插入图片描述

1.3 配置Hive的环境变量

配置Hive的环境变量时,需要root用户配置,所以首先切换到root用户下:

su root
vi /etc/profile

在这里插入图片描述
使环境变量生效:

source /etc/profile

1.4 验证Hive

使用hive命令,成功报错:
在这里插入图片描述注意:如果没有安装Spark不会报该错误,如果安装高版本的Spark会报该错误,原因是:

spark升级到spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-*.jar已经不存在,所以hive没有办法找到这个JAR包

使用vi hive命令,找到出处:
在这里插入图片描述
修改为:
在这里插入图片描述
继续使用hive命令,接着报错:
在这里插入图片描述解决方案:

用Hive的lib目录下的jline包,替换掉/home/hadoop/software/hadoop-2.6.5/share/hadoop/yarn/lib下低版本的JAR包,如下图所示:

删掉:
在这里插入图片描述
拿过来:

cp jline-2.12.jar /home/hadoop/software/hadoop-2.6.5/share/hadoop/yarn/lib

在这里插入图片描述继续使用hive命令:
在这里插入图片描述怎么说???不老实就盘它,,如果有任何解决不了的BUG欢迎下方留言讨论。。

2. MySQL的安装

上一篇文章有讲到有3种Metastore的配置方式,分别是内嵌模式、本地模式和远程模式。一般采用本地模式,而本地模式需要MySQL作为Hive Metastore的存储数据库,因此需要安装MySQL。

2.1 下载安装

首先,看一下linux系统中是否已经有mysql了:

rpm -qa | grep mysql

在这里插入图片描述
果然有,影响我发挥了,删掉!

rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64

在这里插入图片描述删不掉就强制删除!(强力模式是针对提示有依赖的其他文件时使用的)
然后,使用yum进行安装:

yum install -y mysql-server mysql mysql-deve

然后,看看有木有:
在这里插入图片描述

2.2 MySQL的初始化

首先,启动MySQL服务:
在这里插入图片描述
由于在使用MySQL数据库时,需要首先启动MySQL服务,所以我们设置为开机自启动,首先看一下是否已经为开机自启动:
在这里插入图片描述
全部关闭了,则表示没有开机自启动,那么,设置为开机自启动:

chkconfig mysqld on

在这里插入图片描述
注意:如果2,3,4,5为启动状态则表明已经开机自启动。
我们在第一次开启服务时发现:
在这里插入图片描述
所以,我们需要给root账号设置密码(这个root账号时MySQl的root账号而非Linux的root账号):

mysqladmin -u root password '这里写你的密码'
mysql -u root -p

在这里插入图片描述
登录成功!!!

3. Hive的配置

3.1 配置MySQL为Hive元数据存储数据库

  1. 使用root用户登入MySQL
mysql -u root -p
  1. 创建hadoop账户
create user 'hadoop'@'localhost' identified by 'hadoop';
  1. 为hadoop账户添加权限
grant all privileges on *.* to 'hadoop'@'localhost' with grant option;
  1. 检查账户是否创建成功
select User,Host from mysql.user;

在这里插入图片描述

  1. 退出MySQL,并重启MySQl服务
exit;
service mysqld restart

在这里插入图片描述

  1. 使用hadoop账户登录
mysql -u hadoop -p

密码是hadoop
在这里插入图片描述

  1. 创建Hive元数据库
create database hive_metadata

在这里插入图片描述

  1. 配置hive的hive-site.xml文件
    进入Hive的conf目录:
cp hive-default.xml.template hive-site.xml
vi hive-site.xml

3000多行的配置文件怎么配!!!
vi搜索操作:在这里插入图片描述需要修改的地方:

<name>javax.jdo.option.ConnectionURl</name>
<value>jdbc:mysql://localhost:3306/hive_metadata?createDatabaseIfNotExist=true</value>

<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>

<name>javax.jdo.option.ConnectionUserName</name>
<value>hadoop</value>

<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop</value>

3.2 配置hosts文件

进入root用户,编辑/etc/hosts文件,插入:
在这里插入图片描述

4. 启动hive

在这里插入图片描述
错误原因:

hive/lib中缺少mysql-connect的jar包

解决错误:
下载连接
mysql-connector-java-5.1.47.tar.gz
上传到linux之后解压,然后拷贝到hive/lib目录下:
在这里插入图片描述执行hive接着报错:
在这里插入图片描述解决问题:

mkdir /home/hadoop/software/apache-hive-1.2.2-bin/tmp

然后再修改hive-site.xml文件,需要设置Hive作业的本地临时空间,就是上面创建tmp文件,我具体查了一下总共需要修改四个地方:

<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/home/hadoop/software/apache-hive-1.2.2-bin/tmp/${system:user.name}</value>
    <description>Local scratch space for Hive jobs</description>
</property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/home/hadoop/software/apache-hive-1.2.2-bin/tmp/${hive.session.id}_resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/home/hadoop/software/apache-hive-1.2.2-bin/tmp/${system:user.name}</value>
    <description>Location of Hive run time structured log file</description>
</property>
<property>
    <name>hive.server2.logging.operation.log.location</name>
    <value>/home/hadoop/software/apache-hive-1.2.2-bin/tmp/${system:user.name}/operation_logs</value>
    <description>Top level directory where operation logs are stored if logging functionality is enabled</description>
</property>

再次启动hive:
在这里插入图片描述终于成功了!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值