首页 > 其他 > 详细

2-1-2 Hive 安装

时间:2021-03-08 16:06:47      阅读:17      评论:0      收藏:0      [点我收藏+]
 

 

一、Hive安装配置

Hive官网:http://hive.apache.org
下载网址:http://archive.apache.org/dist/hive/
文档网址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual
 
安装前提:3台虚拟机,安装了Hadoop
安装软件:Hive(2.3.7) + MySQL (5.7.26)
备注:Hive的元数据默认存储在自带的 derby 数据库中,生产中多采用MySQL
derby:java语言开发占用资源少,单进程,单用户。仅仅适用于个人的测试。
 
软件
hadoop1
hadoop2
hadoop3
Hadoop
MySQL
   
Hive
   
 
# hive安装包 apache-hive-2.3.7-bin.tar.gz # MySQL安装包 mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar # MySQL的JDBC驱动程序 mysql-connector-java-5.1.46.jar # 整体的安装步骤: 1、安装MySQL 2、安装配置Hive 3、Hive添加常用配置
 
 

1.1MySQL安装

 Hive中使用MySQL存储元数据,MySQL的版本 5.7.26。安装步骤:
1、环境准备(删除有冲突的依赖包、安装必须的依赖包)
2、安装MySQL
3、修改root口令(找到系统给定的随机口令、修改口令)
4、在数据库中创建hive用户
 
1、删除MariaDB
centos7.6自带的 MariaDB(MariaDB是MySQL的一个分支),与要安装的MySQL有冲突,需要删除。
# 查询是否安装了mariadb rpm -aq | grep mariadb # 删除mariadb。-e 删除指定的套件;--nodeps 不验证套件的相互关联性 rpm -e --nodeps mariadb-libs

 

2、安装依赖
yum install perl -y
yum install net-tools -y

 

3、安装MySQL
# 接压缩
tar xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

# 依次运行以下命令
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm

 

4、启动数据库
systemctl start mysqld

 

 
5、查找root密码
grep password /var/log/mysqld.log

 

 
6、修改 root 口令
# 进入MySQL,使用前面查询到的口令 mysql -u root -p
# 设置口令强度;将root口令设置为12345678;
set global validate_password_policy=0;
set password for root@localhost =password(12345678);
flush privileg

 

validate_password_policy 密码策略(默认是1),可配置的值有以下:
  • 0 or LOW 仅需需符合密码长度(由参数validate_password_length【默认为8】指定)
  • 1 or MEDIUM 满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符
  • 2 or STRONG 满足MEDIUM策略,同时密码不能存在字典文件(dictionaryfile)中备注:个人开发环境,出于方便的目的设比较简单的密码;生产环境一定要设复杂密码。
 
7、创建 hive 用户
-- 创建用户设置口令、授权、刷新
CREATE USER hive@% IDENTIFIED BY 12345678; GRANT ALL ON *.* TO hive@%; FLUSH PRIVILEGES;

 

1.2安装HIVE

1、解压软件
# tar zxvf apache-hive-2.3.7-bin.tar.gz -C /opt/lagou/servers/
# cd /opt/lagou/server
# mv apache-hive-2.3.7-bin hive-2.3.7

 

 
2、修改环境变量
# 在 /etc/profile 文件中增加环境变量
export HIVE_HOME=/opt/lagou/servers/hive-2.3.7
export PATH=$PATH:$HIVE_HOME/bin #
执行并生效
source /etc/profile

 

 
3、修改 Hive 配置
 
cd $HIVE_HOME/conf
vi hive-site.xml

 

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration> 
  <!-- hive元数据的存储位置 -->  
  <property> 
    <name>javax.jdo.option.ConnectionURL</name>  
    <value>jdbc:mysql://linux123:3306/hivemetadata?createDatabaseIfNotExist=true&amp;useSSL=false</value>  
    <description>JDBC connect string for a JDBCmetastore</description> 
  </property>  
  <!-- 指定驱动程序 -->  
  <property> 
    <name>javax.jdo.option.ConnectionDriverName</name>  
    <value>com.mysql.jdbc.Driver</value>  
    <description>Driver class name for a JDBCmetastore</description> 
  </property>  
  <!-- 连接数据库的用户名 -->  
  <property> 
    <name>javax.jdo.option.ConnectionUserName</name>  
    <value>hive</value>  
    <description>username to use against metastoredatabase</description> 
  </property>  
  <!-- 连接数据库的口令 -->  
  <property> 
    <name>javax.jdo.option.ConnectionPassword</name>  
    <value>12345678</value>  
    <description>password to use against metastoredatabase</description> 
  </property> 
</configuration>

 

备注:
  • 注意jdbc的连接串,如果没有 useSSL=false 会有大量警告
  • 在xml文件中 &; 表示 &
 
4、拷贝 MySQL JDBC 驱动程序
cp /soft/hive/mysql-connector-java-5.1.46.jar $HIVE_HOME/lib

 

 
5、初始化元数据库
[root@hadoop1 conf]# which schematool
/opt/lagou/servers/hive-2.3.7/bin/schematool
[root@hadoop1 conf]# schematool -dbType mysql -initSchema

 

6、启动Hive,执行命令
# hive

 

1.3Hive 属性配置

可在 hive-site.xml 中增加以下常用配置,方便使用。
数据存储位置
 
<!-- 数据默认的存储位置(HDFS)-->  
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/user/hive/warehouse</value>
    <description>location of default database for thewarehouse</description>
  </property>

  <property>
    <!-- 在命令行中,显示当前操作的数据库 -->
    <name>hive.cli.print.current.db</name>
    <value>true</value>
    <description>Whether to include the current database in theHive prompt.</description>
  </property>

  <property>
    <!-- 在命令行中,显示数据的表头 -->
    <name>hive.cli.print.header</name>
    <value>true</value>
  </property> 

  <property>
    <!-- 操作小规模数据时,使用本地模式,提高效率 -->
    <name>hive.exec.mode.local.auto</name>
    <value>true</value>
    <description>Let Hive determine whether to run in local modeautomatically</description>
  </property>

 

备注:当 Hive 的输入数据量非常小时,Hive 通过本地模式在单台机器上处理所有的
任务。对于小数据集,执行时间会明显被缩短。当一个job满足如下条件才能真正使
用本地模式:
job的输入数据量必须小于参数:hive.exec.mode.local.auto.inputbytes.max(默认128MB)
job的map数必须小于参数:hive.exec.mode.local.auto.tasks.max (默认4)
job的reduce数必须为0或者1
 
Hive的日志文件
Hive的log默认存放在 /tmp/root 目录下(root为当前用户名);这个位置可以修改。
 
vi $HIVE_HOME/conf/hive-log4j2.properties
# 添加以下内容:
property.hive.log.dir = /opt/lagou/servers/hive-2.3.7/logs

可以不修改,但是要知道位置。

 
Hadoop 2.x 中 NameNode RPC缺省的端口号:8020
对端口号要敏感
 
附录:添加第三方用户(Hadoop)
groupadd hadoop
# -m:自动建立用户的登入目录
# -g:指定用户所属的起始群组
# -G<群组>:指定用户所属的附加群组
# -s:指定用户登入后所使用的shell
useradd -m hadoop -g hadoop -s /bin/bash
passwd hadoop
visudo
# 在100行后添加。允许用户执行sudo,免密
hadoop ALL=(ALL) NOPASSWD:ALL

 

1.4Hive 参数设置

查看参数配置信息:
-- 查看全部参数
hive> set;
-- 查看某个参数
hive> set hive.exec.mode.local.auto;
hive.exec.mode.local.auto=false

 

 
参数配置的三种方式:
1、用户自定义配置文件(hive-site.xml) 2、启动hive时指定参数(-hiveconf) 3、hive命令行指定参数(set) 配置信息的优先级: set > -hiveconf > hive-site.xml > hive-default.xml
 
1、配置文件方式
1、用户自定义配置文件(hive-site.xml) 
2、启动hive时指定参数(-hiveconf)
3、hive命令行指定参数(set)
配置信息的优先级: set > -hiveconf > hive-site.xml > hive-default.xml

 

2、启动时指定参数值
启动Hive时,可以在命令行添加 -hiveconf param=value 来设定参数,这些设定仅
对本次启动有效。
# 启动时指定参数
hive -hiveconf hive.exec.mode.local.auto=true
# 在命令行检查参数是否生效
hive> set hive.exec.mode.local.auto;
hive.exec.mode.local.auto=true

 

3、命令行修改参数
可在 Hive 命令行中使用SET关键字设定参数,同样仅对本次启动有效
hive> set hive.exec.mode.local.auto=false;
hive> set hive.exec.mode.local.auto;
hive.exec.mode.local.auto=false

 

2-1-2 Hive 安装

原文:https://www.cnblogs.com/lizhao01/p/14499767.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!