1.简述
hive的安装模式有三种:嵌入模式、本地模式以及远程模式。
嵌入模式:即使用hive自身内嵌的数据库Derby作为存储介质进行数据的存储。
本地模式:即使用外部数据库作为存储介质进行数据的存储
远程模式:与本地模式相似,不过其操作是先开一个Metastore服务,再用其他的客户端通过响应的配置去连接服务。
我们平常大多情况使用的是本地模式。所以这篇文章主要讲述hive本地模式的安装过程。
2.安装包准备
到相应网址下载mysql安装包,hive安装包,mysql驱动文件;mysql安装包下载链接,hive安装包下载链接
利用xftp软件,将mysql安装包与hive安装包上传至linux系统的指定路径/export/software
3.解压安装mysql
3.1 解压mysql安装包
先在文件目录/export/servers下创建一个mysql文件夹,再进入mysql安装包所在文件夹/export/software,执行解压命令解压到指定文件目录/export/servers/mysql
3.2 安装mysql相关组件
再进入mysql文件目录,解压mysql相关组件,分别执行如下命令:
rpm -ivh mysql-community-server-5.7.12-1.el6.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-client-5.7.12-1.el6.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-libs-5.7.12-1.el6.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-common-5.7.12-1.el6.x86_64.rpm --force --nodeps
3.3 修改my.cnf配置文件
执行命令
vi /etc/my.cnf
编辑my.cnf文档,向其中添加如下代码:
skip-grant-tables #跳过登陆验证
user=root #设置root为mysql用户
character_set_server=utf8 #设置mysql服务默认字符集utf8
init_connect='SET NAMES utf8' #设置初次连接默认字符集utf8
编辑完,保存退出
3.4 启动mysql服务
执行命令
systemctl start mysqld
启动mysql服务器,也可以使用命令
systemctl status mysqld
查看服务器状态
执行命令
mysql
进入mysql交互式界面
这时mysql正使用%s选项运行,不能执行mysql语句,我们需要先执行命令
flush privileges;
刷新即可,再输入代码
set password for root@localhost=password('你的密码(自己设置)');
执行命令
grant all privileges on *.* to ‘root’@’%’ identified by ‘密码’ with grant option;
赋予所有访问权限
退出输入命令
quit;
退出mysql交互式界面
再执行命令
vi /etc/my.cnf
对文档进行修改,注释跳过密码验证那行代码(“#”代表注释)
编辑完,保存退出即可,下次登录mysql即需要输入代码
mysql -u用户名 -p
来登录(用户名一般为root),回车输入密码(输入密码时不会显示,输完回车即可)
4.hive解压安装及配置
4.1 解压
将hive安装包解压到指定目录/export/servers
4.2 改名
由于解压后的文件名带有版本号,把文件名直接改为hive更简洁,方便后续的使用(执行改名命令前,需要进入hive解压包所在目录)
4.3 配置环境变量
执行命令
vi /etc/profile
编辑文档,向文档末尾添加如下代码:
export HIVE_HOME=/export/servers/hive
export PATH=$PATH:$HIVE_HOME/bin
修改完,保存退出,再执行命令
source /etc/profile
使环境变量生效
4.4 添加hive-site.xml配置文件
进入hive安装目录下的conf目录,执行命令
vi hive-site.xml
新建文件,并向其中添加如下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriveName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>mysql数据库密码</value>
</property>
</configuration>
编辑完,保存退出(注意,内容里面的master指的是我自己的hadoop集群主节点,自己主机名是什么就写什么)
4.5 放置mysql驱动文件
到相应网址下载驱动文件:mysql驱动文件下载链接
通过xftp软件,将驱动文件上传至linux系统指定目录/export/servers/hive/lib下
4.6 启动hive
由于我们配置过hive的系统环境变量,所以在任何目录下都能直接输入命令
hive
启动hive(注意:由于hive底层应用的是MapReduce,且其存储介质为外界数据库mysql,所以在启动hive之前,要先启动hadoop集群,以及mysql服务)
输入命令
show databases;
可以查看数据库,从中可以看出有个默认的default数据库
我们在hive中创建的数据库存储在HDFS中的/user/hive/warehouse/路径下
5.附加
每次关闭虚拟机时,再重新打开虚拟机,执行命令
systemctl start mysqld
启动mysql服务时会出现以下报错:
Job for mysqld.service failed because the control process exited with error code. See “systemctl status mysqld.service” and “journalctl -xe” for details.
出现上述情况是因为虚拟机在关闭时,mysql服务相关控制进程出现错误,经过自己的学习,结合经验,提供一个解决方法:先进入指定目录/run,在这个目录下创建一个mysqld文件,再对此文件授权,这样就能 正常启动mysql服务了
5.结束语
至此,hive本地模式安装就结束了,大家在安装过程中遇到什么问题,可以提出来,我会尽自己所能去帮大家解决问题;大家能学到hive这里,相信大家对虚拟机的命令的使用已经非常熟练了,如果还不太熟练,可以借鉴学习这篇文章:haddoop集群的搭建(其中讲述了一些基本命令)
版权归原作者 十里桃花笑春风️ 所有, 如有侵权,请联系我们删除。