感谢小李同学! 帮助我完善了这篇教程,嘿嘿做个纪念~

一、版本:

  • hive 2.3.7
  • mysql 8.0
  • hadoop 3.1.2
  • hbase 2.3.0
  • zookeeper 3.5.7

在搭建hive的时候本人将以前的虚拟机全部删除,重新搭建。 大概流程也就是 hadoop 、zookeeper 、hbase
本次增添hive以便于更方便的数据分析。

下载hive安装包

首先需要下载hive的安装包 本次采用的是hive2.3.7
给出下载链接,可以根据自己学习工作的不同版本进行下载。

二、搭建背景(必看)

hive配置文件官方文档传送门
1、首先按照之前的教程我们现在有四台机器(master slave1 slave2 slave3)

2、hive官网提供了三种安装方式:内嵌模式、本地模式、远程模式
3、本教程直接采取远程模式安装hive,所以提前说明各节点用途。
4、

  • master:hive客户端
  • slave1: mysql服务端
  • slave2: hive服务端

三、mysql的安装

从最简单的开始!
所以你应该知道在哪个机子上安装mysql了吧?(最后我再提示)

安装

1、安装wget

yum -y  install wget

2、下载mysql源包

wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

3、安装mysql源

yum localinstall mysql80-community-release-el7-1.noarch.rpm

4、检查是否安装成功

yum repolist enabled | grep "mysql.*-community.*"

5、开始安装MySQL!

(稳定网络,打把王者吧~ 反正一时半会下载不好)

yum install mysql-community-server

设置启动

1、启动mysql

systemctl start mysqld

2、开机自启

systemctl enable mysqld

重载(就跟生效差不多)

systemctl daemon-reload

修改密码及其权限

1、获取默认密码

grep 'temporary password' /var/log/mysqld.log

获取密码之后记住密码,后面有要用到

2、登录mysql

mysql -u root -p

然后输入刚才的暂时密码即可

3、修改密码

use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

如果报错,有关密码不够安全的

set global validate_password.policy=0;
set global validate_password.length=6;

再次更改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

4、设置远程权限访问

选中数据库

use mysql;
update user set host = '%' where user = 'root' and host='localhost';
GRANT ALL ON *.* TO 'root'@'%' ;

如果↑命令报错,再来一遍。

update user set host = '%' where user = 'root' and host='localhost';
GRANT ALL ON *.* TO 'root'@'%' ;
flush privileges;

在slave1节点上安装mysql

如果你想稳一点 就进入到mysql稍微操作操作,建个库建个表啥的~

这个环节就是成功的安装mysql8.0 如果此教程不符合你的版本,你可以搜索一下相关报错的资料或者其他安装方式。

四、hive客户端(master)

· 先把hive安装包解压

· 配置环境变量(环境变量根据自己的文件名定! 我改了hive2.3.7的文件名有可能与你不同)

#hive
export HIVE_HOME=/usr/hive/hive
export PATH=$PATH:$HIVE_HOME/bin

·客户端的hive-site.xml文件! (划重点!)

<configuration>
    <!-- Hive 产生的元数据存放位置-->
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive_remote/warehouse</value>
    </property>
    <!-- 连接服务器-->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://slave2:9083</value>
    </property>
</configuration>

修改master和slave2的hive-env.sh文件(在最下面六行)

# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/usr/hadoop/hadoop-3.1.2

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/hive/hive/conf

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/hive/hive/lib

五、hive服务端(slave2)

依旧需要配置环境变量

服务端hive-site.xml(划重点!)

<configuration>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive_remote/warehouse</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;allowPublicKeyRetrieval=true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
</configuration> 

导入mysql-connector-java-8.0.22.jar到hive/lib下
下载链接https://downloads.mysql.com/archives/c-j/

修改master和slave2的hive-env.sh文件(在最下面六行)

# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/usr/hadoop/hadoop-3.1.2

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/hive/hive/conf

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/hive/hive/lib

有部分机器会报错有关publickey的错误 可以尝试改为

jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;allowPublicKeyRetrieval=true&amp;allowPublicKeyRetrieval=true

六、初始化数据(在hive服务端上!)

本次

配置好hive-site.xml之后执行初始化数据:

schematool -initSchema -dbType mysql

七、启动

hive服务端

(本博客为slave2)

hive --service metastore

或者后台运行(作用相同,只不过这个命令可以继续操作别的命令)

hive --service metastore &

hive客户端

直接输入

hive

就可以继续操作啦!~

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐