Apache Hive安装部署

news2024/11/28 22:53:04

Apache Hive安装部署

🚃Hive元数据

  • 描述数据的数据,主要描述数据属性信息,用来支持如指示存储位置,历史数据,资源查找,文件记录等功能。
  • 存储在关系型数据库中。如hive内置Derby,或第三方MySql
  • Metastore元数据服务。作用管理元数据,对外暴露服务。

在这里插入图片描述

metastore服务配置三种模式:

  • 内嵌模式
  • 本地模式
  • 远程模式

区分配置方式方法:

  • metastore是否需要单独配置,单独启动
  • metadaa存储在内置derby中,还是第三方RDBMS
内嵌本地远程
meta单独配置,启动
metadata存储介质DerbyMysqlMysql

🚞部署实战

安装前准备:

  • Hive基于Hadoop,保证服务器基础环境正常
    • 集群时间同步,防火墙关闭,Host映射,免密登录,JDK安装
  • Hadoop集群健康可用
    • 等待HDFS安全模式关闭后再运行Hive

🏍️安装MySQL

  • MySQL只需一台机器安装并需要授权远程访问

  • 卸载CentOS7自带mariadb

    [root@node1 ~]# rpm -qa|grep mariadb
    mariadb-libs-5.5.60-1.el7_5.x86_64
    [root@node1 ~]# rpm -e mariadb-libs-5.5.60-1.el7_5.x86_64 --nodeps
    
    [root@node1 ~]# rpm -qa|grep mariadb
    
    
  • 安装mysql

    [root@node1 ~]# mkdir /export/software/mysql
    #上传mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar 到上述文件夹下  解压
    [root@node1 ~]# ls /export/software/mysql/
    mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
    [root@node1 ~]# cd /export/software/mysql/
    [root@node1 mysql]# tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
    mysql-community-embedded-devel-5.7.29-1.el7.x86_64.rpm
    mysql-community-test-5.7.29-1.el7.x86_64.rpm
    mysql-community-embedded-5.7.29-1.el7.x86_64.rpm
    mysql-community-embedded-compat-5.7.29-1.el7.x86_64.rpm
    mysql-community-libs-5.7.29-1.el7.x86_64.rpm
    mysql-community-client-5.7.29-1.el7.x86_64.rpm
    mysql-community-server-5.7.29-1.el7.x86_64.rpm
    mysql-community-devel-5.7.29-1.el7.x86_64.rpm
    mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
    mysql-community-common-5.7.29-1.el7.x86_64.rpm
    #安装依赖
    [root@node1 mysql]# yum -y install libaio
    [root@node1 mysql]# yum install -y net-tools
    
    #开始安装
    [root@node1 mysql]# rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm 
    
    
  • mysql初始化设置

    #初始化
    mysqld --initialize
    
    #更改所属组
    chown mysql:mysql /var/lib/mysql -R
    
    #启动mysql
    systemctl start mysqld.service
    
    #查看生成的临时root密码
    cat  /var/log/mysqld.log
    #临时密码大概在这个位置
    ...
    2023-06-13T12:23:52.391426Z 1 [Note] A temporary password is generated for root@localhost:
    ...
     
    
    
    
  • 修改root密码 授权远程访问 设置开机自启动

    
    mysql -u root -p#进入之后输入日志中生成的密码
    #更新密码
    mysql>  alter user user() identified by "hadoop";
    Query OK, 0 rows affected (0.00 sec)
    
    #权限赋予
    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
    Query OK, 0 rows affected, 1 warning (0.00 sec)
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> exit
    Bye
    
    
    #mysql的启动和关闭 状态查看 
    systemctl stop mysqld
    systemctl status mysqld
    systemctl start mysqld
    
    #设置开机自启
    systemctl enable  mysqld
    
    
    
  • 如果需要卸载请执行

    #关闭mysql服务
    systemctl stop mysqld.service
    
    #查找安装mysql的rpm包
    [root@node1 ~]# rpm -qa | grep -i mysql      
    mysql-community-libs-5.7.29-1.el7.x86_64
    mysql-community-common-5.7.29-1.el7.x86_64
    mysql-community-client-5.7.29-1.el7.x86_64
    mysql-community-server-5.7.29-1.el7.x86_64
    
    #卸载
    [root@node1 ~]# yum remove mysql-community-libs-5.7.29-1.el7.x86_64 mysql-community-common-5.7.29-1.el7.x86_64 mysql-community-client-5.7.29-1.el7.x86_64 mysql-community-server-5.7.29-1.el7.x86_64
    
    #查看是否卸载干净
    rpm -qa | grep -i mysql
    
    #查找mysql相关目录 删除
    [root@node1 ~]# find / -name mysql
    /var/lib/mysql
    /var/lib/mysql/mysql
    /usr/share/mysql
    
     rm -rf /var/lib/mysql
     rm -rf /var/lib/mysql/mysql
     rm -rf /usr/share/mysql
    
    #删除默认配置 日志
    rm -rf /etc/my.cnf 
    rm -rf /var/log/mysqld.log
    

🛵安装Hive

  • 上传Hive安装包(node1安装即可)

    
    [root@node1 server]# pwd
    /export/server
    
    [root@node1 server]# ls
    apache-hive-3.1.2-bin.tar.gz  hadoop-3.3.0  jdk1.8.0_241
    #解压
    tar zxvf apache-hive-3.1.2-bin.tar.gz
    
    
  • 解决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.0/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/
    
  • 修改配置文件

    • hive.env.sh

      cd /export/server/apache-hive-3.1.2-bin/conf
      mv hive-env.sh.template hive-env.sh
      
      vim hive-env.sh
      export HADOOP_HOME=/export/server/hadoop-3.3.0
      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
      
      <configuration>
      <!-- 存储元数据mysql相关配置 -->
      <property>
      	<name>javax.jdo.option.ConnectionURL</name>
      	<value>jdbc:mysql://node1: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>hadoop</value>
      </property>
      
      <!-- H2S运行绑定host -->
      <property>
          <name>hive.server2.thrift.bind.host</name>
          <value>node1</value>
      </property>
      
      <!-- 远程模式部署metastore metastore地址 -->
      <property>
          <name>hive.metastore.uris</name>
          <value>thrift://node1:9083</value>
      </property>
      
      <!-- 关闭元数据存储授权  --> 
      <property>
          <name>hive.metastore.event.db.notification.api.auth</name>
          <value>false</value>
      </property>
      </configuration>
      
      
  • 上传mysql jdbc驱动到hive安装包lib下

    
    [root@node1 conf]# cd /export/server/apache-hive-3.1.2-bin/lib/
    [root@node1 lib]# ls -aux | grep mysql-connector
    mysql-connector-java-5.1.32.jar
    
    
  • 初始化元数据

    cd /export/server/apache-hive-3.1.2-bin/
    
    bin/schematool -initSchema -dbType mysql -verbos
    
  • 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/warehouse
    

🛹启动

  • 启动metastore服务

    #前台启动  关闭ctrl+c
    /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore
    
    #前台启动开启debug日志
    /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console  
    
    #后台启动 进程挂起  关闭使用jps+ kill -9
    nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service metastore &
    

🚂客户端启用

Hive自带客户端:

  • bin/hive

  • bin/beeline

  • 在安装hive服务器上,首先启动metastore,然后启动hieserver2

      nohup /export/server/apache-hive-3.1.2-bin/bin/hive --service hiveserver2 &
    
  • beeline客户端连接

    • 拷贝node1安装包到beeline客户端机器(node3)

      scp -r /export/server/apache-hive-3.1.2-bin/ node3:/export/server/
      
    • node3使用bin/hive连接服务
      在这里插入图片描述

    • node3使用bin/beeline连接服务

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

微服务: 00-rabbitmq出现的异常以及解决方案

目录 前言: 问题概述: 1. rabbitmq初始安装配置异常 -> 1.1 rabbitmq报您与此网站连接不是私密连接 --->1.1.1 上述问题解决方案 ---> 1.1.2 依次执行下面代码 -> 1.2 解决用户的No access情况 -> 1.2.1 使用设置的账号密码进行登录 -> 1.2.2 点击 Ad…

参加完京东的面试,感觉面试官有点菜...

前言 去年年底面试了京东&#xff0c;现整理面经&#xff0c;希望各位不要觉得太迟&#xff08;这该死的拖延症???&#xff09;。 没有截图是因为他根本没给我发邮件&#xff0c;直接boss开聊的&#xff0c;但是boss的聊天记录只有30天&#xff0c;此处点名批评下&#xf…

VMware Tools 12.2.5 发布下载 - 虚拟机必备工具

VMware Tools 12.2.5 发布下载 - 虚拟机必备工具 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-tools-12/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 简介 VMware Tools 中包含一系列服务和组件&#xff0c…

ThreadLocal了解

文章目录 概述源码原理内存泄露应用场景 概述 ThreadLocal提供线程的局部变量&#xff0c;这种变量与普通变量的区别在于&#xff0c;每个访问这种变量的线程都有自己的、独立的变量副本。用于解决多线程间的数据隔离问题。 源码 //返回Thread实例的成员变量threadLocals Th…

Pytest教程__测试用例的执行方式(2)

在pytest框架中&#xff0c;编写测试用例有如下约束&#xff1a; 所有的测试用例文件名都需要满足test_*.py格式或*_test.py格式。在测试用例文件中&#xff0c;测试类以Test开头&#xff0c;并且不能带有__init__方法&#xff0c;否则pytest不会执行该class。在测用例的class…

企业如何选择最佳的CDN服务?

根据研究表明&#xff0c;47%的客户更喜欢能在2秒内加载完成的网页&#xff0c;不仅如此&#xff0c;如果一个网站的加载时间超过3秒&#xff0c;那么40%的访问者会毫不犹豫的离开你的网站。所以使用正确的内容交付网络对初创公司尤为关键。它有助于实现快速、安全的内容交付。…

10_python——模块

目录 模块的概述 自定义模块 Python中的包 以主程序的形式执行 引用其他模块 模块的概述 什么是模块&#xff1a;在python中模块就是python程序&#xff0c;一个模块就是一个*.py的文件&#xff0c;通常情况下把能够实现某一特定功能的代码放置在一个文件中作为一个模块&…

前后端分离,就浅浅的看看

目录 前言 一、优点 二、跨域 1、概念 2、解决跨域 三、CORS 总结 前言 前后端分离是Web应⽤的⼀种前后端解耦的架构模式&#xff0c;‘前后端分离‘’&#xff0c;“前”&#xff0c;就是客户端&#xff0c;“后”就是服务器端&#xff0c;专门处理数据和业务逻辑&…

某网站cookie反爬记录

一、背景 最近做城投项目时候遇到一个问题&#xff0c;就是一个代码写好不动&#xff0c;我只操作页面&#xff0c;运行出来的结果却是页面上显示的内容。这就导致了我不能按自己的需求抓取指定模块的内容 二、示例 import requestsheaders {"Accept": "app…

蓝牙智能指纹锁解决方案OM6621PW

目前市面上蓝牙智能指纹锁一般采用MCU指纹传感器蓝牙芯片的方案&#xff0c;该方案采用MCU运行指纹识别算法&#xff0c;采用蓝牙作为数据交互&#xff0c;方案成本较高。 ONMICRO的单芯片蓝牙智能指纹锁解决方案OM6621PW&#xff0c;凭借其卓越的性能和创新的技术&#xff0c;…

Spring的存储与获取Bean

Spring的存储与获取Bean &#x1f50e;Spring—存储Bean配置扫描路径利用类注解进行存储添加注解存储Bean关于Id为什么需要五个类注解类注解之间的关系 利用方法注解进行存储关于Id &#x1f50e;Spring—获取Bean属性注入Set注入构造方法注入总结(Spring的注入方式? 它们之间…

FTL没有映射,跟发工资没有钱有什么区别

大家好&#xff0c;我是五月。 前言 FTL&#xff08;Flash Translation Layer&#xff09;&#xff0c;即闪存转换层&#xff0c;是各种存储设备的核心算法&#xff0c;作用是将Host传下来的逻辑地址转换成物理地址&#xff0c;也就是映射。 地址映射是FTL最原始最基本的功能…

Pytest教程__简介与安装(1)

一、Pytest简介 pytest是python的一种单元测试框架&#xff0c;与python自带的unittest测试框架类似&#xff0c;但更灵活。 官方网站优点简介&#xff1a; 非常容易上手&#xff0c;入门简单&#xff0c;文档丰富&#xff0c;文档中有很多实例可以参考能够支持简单的单元测试…

【Qt】Ubuntu安装GCC9.3.0版本的Qt5.15.5

目录 一、安装GCC9.3.0 1.下载GCC9.3.0源码 2.获取依赖项的包 3.生成Makefile文件 4.编译并安装 5.生成软链接 6. 查看GCC版本 二、安装Qt 1.下载Qt安装包 2.创建Qt项目并运行 一、安装GCC9.3.0 1.下载GCC9.3.0源码 https://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3…

药物靶点信息数据库有哪些?都有哪些特点?

药物靶点信息数据库的应用不仅能够高效地扩大靶点信息获取&#xff0c;而且能深化科研人员对于靶点的认识&#xff0c;从而服务于新靶点发现、药物筛选、药物设计、疾病治疗及药理学机制的研究等领域。 药物靶点可以分为受体、酶、离子通道、DNA、激素与生长因子等几种类型。随…

linux服务器上,docker安装nginx

如果出现 Using default tag: latest Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImagenginx&taglatest": dial unix /va…

不衔接的两个视频能拼在一起吗?怎么把视频拼接起来?

怎么把视频拼接起来&#xff1f;相信大家在平时刷小视频的时候&#xff0c;都看到过视频合集&#xff0c;例如搞笑视频合集、综艺片段合集、变装合集等等。其实这些视频合集都是通过视频拼接来完成的&#xff0c;只需短短几分钟就能通过这些视频获得愉悦体验&#xff0c;非常适…

一学就会-----删除链表中的重复节点

文章目录 题目描述思路一代码示例思路二代码示例 题目描述 在一个排序的链表中&#xff0c;存在重复的结点&#xff0c;请删除该链表中重复的结点&#xff0c;重复的结点不保留&#xff0c;返回链表头指针。 图片示例&#xff1a; 思路一 解决该问题较简单&#xff0c;且在…

光纤跳线性能测试科普

光纤跳线是一种用于连接光纤设备或光纤网络的光学传输线路&#xff0c;它由两个光纤连接器和一段光纤组成。光纤跳线的质量直接影响着光信号的传输效率和稳定性&#xff0c;因此需要进行一些测试来保证其性能。 一、测试类型 光纤跳线性能测试主要有以下四种&#xff1a; 极性…

【基于容器的部署、扩展和管理】3.10 云原生容器运行时环境和配置管理

往期回顾&#xff1a; 第一章&#xff1a;【云原生概念和技术】 第二章&#xff1a;【容器化应用程序设计和开发】 第三章&#xff1a;【3.1 容器编排系统和Kubernetes集群的构建】 第三章&#xff1a;【3.2 基于容器的应用程序部署和升级】 第三章&#xff1a;【3.3 自动…