Hive的安装

Hive常用的安装分三种(注意:Hive会自动监测Hadoop的环境变量,如有就必须启动Hadoop)

先从本地上传Hive安装文件apache-hive-2.3.7-bin.tar.gz到/root/softwares

1. 嵌入式模式

使用Hive自带默认元数据库derby来进行存储,通常用于测试

  1. 优点:使用简单,不用进行配置
  2. 缺点:只支持单Session。# 对于Session,我们可以简单的理解成同一个路径下不允许同时开两个Hive

2. 本地模式

(多用户模式)(hive服务和metastore服务运行在同一个进程中,MySql是单独的进程,可以同一台机器,也可以在远程机器上。)

通常使用关系型数据库来进行元数据存储(MySql、oracle等执行带jdbc驱动的数据库)

  • 优点:支持多Session

  • 缺点:需要配置、还需要安装MySql等关系型数据库

2.1 配置安装MySql

  1. 安装包准备
通过SSH工具,将MySql的mysql-connector-java-8.0.26.jar安装包
上传到Linux的 ~/softwares 目录下。
  1. 环境准备
# CentOS7中,系统默认采用的数据库是mariadb,这个数据库与MySql冲突!
# 因此,在安装MySql之前,需要先将其卸载!
rpm -qa | grep mariadb# 查询是否已经安装了mariadb
mariadb-libs-5.5.64-1.el7.x86_64						# 查询结果。如果没有这个结果,说明没有安装。

# 强制卸载mariadb
# --nodeps: 强制卸载,RPM卸载程序的时候,如果这个程序被其他的程序依赖,是无法卸载的。
#           此时,就需要使用--nodeps,忽略依赖,强制卸载。
# 下面的卸载命令中,卸载的包是上方查询到的包
 rpm -e mariadb-libs-5.5.64-1.el7.x86_64 --nodeps
  1. 安装MySQL
# 安装MySql, 其实就需要安装 mysql-community-server, 但是它依赖其他的包
#先将安装包解压,得到所有需要安装的rpm包
mkdir /usr/local/mysql
tar -zxvf mysql-8.0.27-1.el8.x86_64.rpm-bundle.tar -C /usr/local/mysql
cd /usr/local/mysql
然后一个一个的安装
rpm -ivh mysql-community-common-8.0.27-1.el8.x86_64.rpm
#rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.27-1.el8.x86_64.rpm
# rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.27-1.el8.x86_64.rpm
# rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
yum install -y net-tools
yum install -y perl
rpm -ivh mysql-community-server-8.0.27-1.el8.x86_64.rpm
#rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
  1. 启动MySql服务
# 查看MySql服务的运行状态
systemctl status mysqld
# 如果Mysql服务没有开启,则开启
systemctl start mysqld
  1. 登录到MySql
# 在第一次开启MySql服务的时候,会自动生成一个随机的密码
grep password /var/log/mysqld.log			# 到mMysqld.log文件中查找password
2020-12-16T07:47:14.117739Z 1 [Note] A temporary password is generated for root@localhost: pVLJs6&o(QQe

# 使用这个随机密码登录到MySql
mysql -u root -p
pVLJs6&o(QQe		# 这里用自己的密码登录
  1. 修改密码
# 1. 修改MySql的密码策略(安全等级)
#    MySql默认的密码安全等级有点高,在设置密码的时候,必须同时包含大小写字母、数字、特殊字符,以及对位数有要求
show variables like '%validate_password%';					# 查看密码策略
set global validate_password_policy=LOW;						# 修改密码策略等级为LOW
set global validate_password_length=4;							# 密码的最小长度
set global validate_password_mixed_case_count=0;	  # 设置密码中至少要包含0个大写字母和小写字母
set global validate_password_number_count=0;			 	# 设置密码中至少要包含0个数字
set global validate_password_special_char_count=0;	# 设置密码中至少要包含0个特殊字符

# 2. 修改密码
alter user root@localhost identified by 'root';

# 3. 远程授权
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
  1. 重新登录
试着退出MySql,用新的密码重新登录。如果可以登录成功,那么MySql的安装就到此结束!
MySql在安装完成后,是不需要配置环境变量的。因为RPM的安装特性,启动脚本会被放到/usr/bin下。这个路径本来就在环境变量里面,不需要单独配置。

2.2 Hive配置

  • 解压并配置环境变量

    tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/local
    #修改Hive安装路径名,方便以后使用
    mv apache-hive-2.3.7-bin/ hive-2.3.7
    
    vi /etc/profile
    # 添加如下内容:
    export HIVE_HOME=/usr/local/hive-2.3.7/
    export PATH=$HIVE_HOME/bin:$PATH
    
    #让profile生效
     source /etc/profile
    
  • 在Hive的conf配置Hive的自定义配置文件

    vi hive-site.xml:添加如下内容

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- 该参数主要指定Hive的数据存储目录  -->
<property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
</property>

<!-- 该参数主要指定Hive的临时文件存储目录  -->
<property>
    <name>hive.exec.scratchdir</name>
    <value>/data/hive</value>
</property>
<!--配置mysql的连接字符串-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop:3306/hive?createDatabaseIfNotExist=true</value>
</property>
<!--配置mysql的连接驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<!--配置登录mysql的用户-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!--配置登录mysql的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
</property>
  <property>
    <name>hive.metastore.uris</name>
    <value>thrift://hadoop:9083</value>
  </property>

  <property>
    <name>hive.server2.thrift.port</name>
    <value>10000</value>
  </property>

  <property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
  </property> 
</configuration>

4.将MySql的驱动包mysql-connector-java-8.0.27.jar上传到$HIVE_HOME/lib下(注意:驱动是jar结尾,不是tar结尾)

5.执行初始化数据库

schematool -initSchema -dbType mysql

6.启动Hive元数据

启动元数据服务之前一定要将将HDFS启动并可用

hive --service metastore &
  1. 连接Hive客户端
hive

3. 远程模式

(多用户模式)(Hive服务和metastore在不同的进程内,可能是不同的机器)

和本地模式差不多,只是将元数据放在别的服务器上,这种的就是咱们常说的集群模式。
可以有一个Hive的server和多个hive的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sparename

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值