欢迎投稿

今日深度:

Hadooop学习(六)——数据挖掘和数据仓储——Hadoop上Hive安装(排坑版),Hive命令和HQL

Hadooop学习(六)——数据挖掘和数据仓储——Hadoop上Hive安装(排坑版),Hive命令和HQL


Hadoop:3.3.3

Mysql:5.7.26

Hive:2.3.9

一、Hive是什么

是一个基于SQL的Hadoop查询引擎

是建立在Hadoop上的 “ 数据仓储 ” 框架

Hive 提供自己的查询语言 HQL,支持许多常见的SQL语句,包括数据定义语句(DDL)、数据操作语句(DMS)和数据检索查询(SELECT)

还支持集成用户定义函数,这些函数可以由Java或Hadoop Streaming支持的任何语言编写,扩展了HQL的内置功能。

Hive命令和HQL查询语句被编译成 执行计划 或一系列HDFS操作或MapReduce作业,然后再Hadoop集群上执行。

Hive继承了HDFS和MapReduce的某些限制,无法提供传统数据库管理应用系统应该有的关键联机事务处理(online transaction processing, OLTP)

二、Hive在集群上的安装

# 检查是否有冲突
# 查询是否安装了mariadb或mysql
rpm -aq | grep mariadb
rpm -aq | grep mysql

# 删除mariadb, -e 删除指定的套件;--nodeps 不验证套件的相互关联性
rpm -e --nodeps mariadb-libs

1.安装MySQL

# 进入software下载mysql安装包
wget http://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

# 解压到servers
tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar -C /export/servers/mysql

进入mysql文件夹

# 安装文件
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

启动mysql服务

systemctl start mysqld.service

查看当前密码

grep "password" /var/log/mysqld.log

进入mysql服务

mysql -u root -p

重新设置密码

set global validate_password_policy=0;


mysql> set password for 'root'@'localhost'=password('zyy001102');

使新密码生效

flush privileges;

2.安装Hive

登入mysql环境,执行下列语句

# -- 创建用户设置口令、授权、刷新
CREATE USER 'hive'@'%' IDENTIFIED BY '12345678';
GRANT ALL ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

下载Hive安装包

# 进入software文件夹
cd /export/software

# 安装hive
 wget https://mirrors.cloud.tencent.com/apache/hive/hive-2.3.9/apache-hive-2.3.9-bin.tar.gz

# 安装Mysql的JDBC驱动
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.46.tar.gz

解压安装包

# 解压到servers文件夹
tar -zxvf  apache-hive-2.3.9-bin.tar.gz -C /export/servers/

tar -zxvf mysql-connector-java-5.1.46.tar.gz -C /export/servers/

配置hive环境

# 在 /etc/profile 文件中增加环境变量
export HIVE_HOME=/export/servers/apache-hive-2.3.9-bin
export PATH=$PATH:$HIVE_HOME/bin

# 执行并生效
source /etc/profile

 编辑hive配置文件

cd $HIVE_HOME/conf

vi hive-site.xml

添加以下内容

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <!-- jdbc 连接的 URL -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.50.160:3306/hive?useSSL=false</value>
    </property>
     <!-- jdbc 连接的 Driver-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <!-- jdbc 连接的 username(MySQL用户名)-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <!-- jdbc 连接的 password(MySQL密码) -->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>自己的密码</value>
    </property>
     <!-- Hive 元数据存储版本的验证(Hive元数据默认是存储在Derby中,正常开启时它会去校验Derby,现在要使用MySQL存储元数据,
     就需要把这个关闭即可,如果开启,MySQL和Derby会导致Hive启动不起来的) -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
     <!--元数据存储授权-->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    <!-- Hive 默认在 HDFS 的工作目录(可以不配置,因为默认就是/user/hive/warehouse,如果不使用默认的位置,可以手动修改) -->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>
</configuration>

复制生成hive-env.sh文件

将 mysql-connector-java-5.1.46.jar 拷贝到 $HIVE_HOME/lib

cd /export/servers/mysql-connector-java-5.1.46

cp mysql-connector-java-5.1.46.jar /export/servers/apache-hive-2.3.9-bin/lib

初始化元数据库

schematool -dbType mysql -initSchema

报错

# 进入Hadoop目录
cd /export/servers/hadoop-3.3.3/etc/hadoop

# 修改配置文件
vi hadoop-env.sh

# 把export HADOOP_CLASSPATH=/home/hadoop/softwares /hbase-1.4.0/lib/*注释掉,然后再执行schematool -dbType mysql -initSchema初始化。

【忘记Mysql密码?】

Centos Mysql忘记密码,修改密码_centos mysql 忘记密码_菜菜啾咪的博客-CSDN博客

再次初始化,成功

启动集群

进入hive

# 进入hive
hive

# hive中执行命令
show functions;

参考链接

https://blog.csdn.net/weixin_52851967/article/details/127280009?ops_request_misc=&request_id=&biz_id=102&utm_term=hive%E7%9A%84%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-127280009.142^v73^insert_down2,201^v4^add_ask,239^v2^insert_chatgpt&spm=1018.2226.3001.4187

Hive的安装和配置-安装步骤:(配图片和文字,超详细)_hive安装与配置详解_Deng872347348的博客-CSDN博客

www.htsjk.Com true http://www.htsjk.com/Hadoop/44200.html NewsArticle Hadooop学习(六)——数据挖掘和数据仓储——Hadoop上Hive安装(排坑版),Hive命令和HQL Hadoop3.3.3 Mysql5.7.26 Hive2.3.9 一、Hive是什么 是一个基于SQL的Hadoop查询引擎 是建立在Hadoop上的 “ 数据...
评论暂时关闭