数据仓库Hive的部署

本次Hive的安装服务器系统为Centos7.6、Hadoop版本为3.3.6、jdk版本为1.8.0_371
#########################################################################
本教程为Centos7系统下搭建Hadoop 3.3.6的后续教程,如有需要可以查阅此教程。

安装前准备

服务器基础环境

  服务器应具有以下已完成的配置:集群时间同步、防火墙关闭、主机host映射、免密登录、JDK安装、hadoop集群正常可用。(特别注意:启动Hive之前必须先启动Hadoop集群。需等待HDFS安全模式关闭之后(约30秒)再启动运行Hive
  因为Hive需要把数据存储在HDFS上,并且通过MapReduce作为执行引擎处理数据;因此需要在Hadoop中添加相关配置属性,以满足Hive在Hadoop上运行。修改Hadoop中core-site.xml,并且Hadoop集群同步配置文件,重启生效。
  core-site.xml路径为/export/server/hadoop-3.3.6/etc/Hadoop/core-site.xml(根据自己服务器具体路径修改,也可以参照我之前的教程进行重新配置)
  在core-site.xml添加以下代码:

<!-- 整合hive -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

在这里插入图片描述

MySql安装:

  注意MySQL只需要在一台机器安装并且需要授权远程访问(我选择第三台机器进行安装)本次安装MySql采用rpm方式进行安装。

  1. 卸载Centos7自带的mariadb
    使用rpm -qa|grep mariadb命令查找本机自带的mariadb
    使用rpm -e mariadb-libs-5.5.68-1.el7.x86_64 –nodeps命令删除mariadb(注意,命令中的文件名根据本机文件名进行修改)
    使用rpm -qa|grep mariadb命令查找本机自带的mariadb是否被删除
    在这里插入图片描述
  2. 使用mkdir /export/software/mysql命令创建目录,以便存放Mysql安装包(路径可以自定义)
  3. 上传文件并解压mysql安装包tar -xvf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
    MySql下载地址Download Mysql
    注意选择为rpm包,同时注意系统架构
    在这里插入图片描述
      本次使用的为x86架构 64位系统的centos7,因此采用该包
    在这里插入图片描述
      下载地址:点击该文本开始下载mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar
  4. 使用命令yum -y install libaio安装相关依赖文件,然后输入以下代码开始安装MySQL
rpm -ivh mysql-community-common-8.0.33-1.el7.x86_64.rpm mysql-community-client-plugins-8.0.33-1.el7.x86_64.rpm mysql-community-icu-data-files-8.0.33-1.el7.x86_64.rpm mysql-community-libs-8.0.33-1.el7.x86_64.rpm mysql-community-client-8.0.33-1.el7.x86_64.rpm mysql-community-server-8.0.33-1.el7.x86_64.rpm

在这里插入图片描述
5. mysql初始化设置
  初始化 mysqld --initialize
  更改所属组 chown mysql:mysql /var/lib/mysql -R
  启动mysql systemctl start mysqld.service
  查看生成的临时root密码(图中红圈标明的即为临时root密码) cat /var/log/mysqld.log

在这里插入图片描述
在这里插入图片描述

  1. 修改root密码 授权远程访问 设置开机自启动
      使用命令mysql -u root -p
      输入mysq临时密码,进入到mysql中

在这里插入图片描述
  更新root密码 设置为123465(任意)在mysql中输入alter user user() identified by "123456";
  会返回语句Query OK, 0 rows affected (0.00 sec)代表更改成功
  然后设置其他机器对mysql的访问权限
  切换至mysql数据库use mysql
  修改密码:ALTER USER 'root'@'localhost' IDENTIFIED BY '密码';
  修改ip为所有可访问update user set host='%' where user='root';
  赋予其他主机访问权限GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
  查看select host,user from user;
  刷新flush privileges;
在这里插入图片描述

  1. mysql的启动和关闭 状态查看
    关闭systemctl stop mysqld
    状态systemctl status mysqld
    启动systemctl start mysqld
    设置mysql开机自启动systemctl enable mysqld

在这里插入图片描述

Hive安装

  1. Hive下载:(本次采用3.1.2版本hive)
    hive-3.1.2下载
  2. 本次将Hive安装在namenode集群下(hadoop01)
    上传并解压文件到路径/export/server
    输入解压命令tar -zxvf apache-hive-3.1.2-bin.tar.gz
  3. 解决Hive与Hadoop之间guava版本差异
    Hive与Hadoop均包括guava包,但是版本不统一,因此将删除低版本包并将高版本包复制一份到低版本
    输入以下命令
cd /export/server/apache-hive-3.1.2-bin/
rm -rf lib/guava-19.0.jar
cp /export/server/hadoop-3.3.6/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/
  1. 修改配置文件
    首先修改hive-env.sh文件,位于路径conf下,需要将模板文件更名
cd /export/server/apache-hive-3.1.2-bin/conf
mv hive-env.sh.template hive-env.sh

修改hive-env.sh文件,在文件最后一行添加以下配置文件

export HADOOP_HOME=/export/server/hadoop-3.3.6
export HIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/export/server/apache-hive-3.1.2-bin/lib

然后修改hive-site.xml文件,这是一个需要自行创建的文件。
vim hive-site.xml
将以下内容填入该配置文件:
注意:以下代码块第六行的mysql地址、第十九行的密码、低二十四行的hive地址以及第二十九行的Hadoop地址需要根据自己的配置进行修改,如果你完全按照我的教程来,那么无需修改。

<configuration>
    <!-- 存储元数据mysql相关配置 -->
    <!-- mysql运行地址 -->
    <property>
    	<name>javax.jdo.option.ConnectionURL</name>
    	<value>jdbc:mysql://hadoop03:3306/hive3?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</value>
    </property>
    <property>
    	<name>javax.jdo.option.ConnectionDriverName</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>123456</value>
    </property>
    <!-- H2S运行绑定host -->
    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>hadoop01</value>
    </property>
    <!-- 远程模式部署metastore metastore地址 -->
    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://hadoop01:9083</value>
    </property>
    <!-- 关闭元数据存储授权  --> 
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    </configuration>
  1. 上传mysql jdbc驱动到hive安装包lib下
    下载地址:(注意,该驱动为MySQL8.0.33适用驱动)
    mysql-connector-j-8.0.33.jar
  2. 初始化元数据
cd /export/server/apache-hive-3.1.2-bin/
bin/schematool -initSchema -dbType mysql -verbos

初始化成功会在mysql中创建74张表
  若运行后提示
Initialization script completed
schemaTool completed 则为初始化完成,如图所示:
在这里插入图片描述此外,  还可以使用任何数据库连接软件来查看Mysql中是否创建了74张hive元数据表格:

在这里插入图片描述

  1. 在hdfs创建hive存储目录(如存在则不用操作)
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehous

(好像这个目录不手动创建也会在自动生成)
8. Hive服务启动
前台启动 /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore按下ctrl+c进行关闭
启动成功提示以下内容
在这里插入图片描述
前台启动并开启debug日志
/export/server/apache-hive-3.1.2-bin/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console
在这里插入图片描述
后台启动 进程挂起 若关闭使用jps查看进程ID然后使用命令kill -9 进程ID进行关闭
nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore &
在这里插入图片描述
后台启动,日志在会当前目录生成

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mr-element

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

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

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

打赏作者

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

抵扣说明:

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

余额充值