• 在Linux操作系统的ECS实例上安装Hive


    1. 完成hadoop安装配置

    在Linux操作系统的ECS实例上安装hadoop

    1. 以上已安装并配置完jdk、hadoop
    2. 也搭建了伪分布集群
      在这里插入图片描述

    2. 安装配置MySql

    安装

    下下一步初始化Hive元数据库时,遇到报错前一天两三小时没解决,问题定位在mysql,次日打算重装

    linux卸载mysql8重装5

    配置

    1. 登录mysql
    2. 设置root远程连接
    use mysql
    select user, host from user;
    update user set host="%" where user="root";
    select user, host from user;
    flush privileges;
    create database metastore; # 准备下一步配置元数据到MySQL
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    3. 安装Hive

    1. hive阿里云镜像:https://mirrors.aliyun.com/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
    2. 用wget 下载
    wget https://mirrors.aliyun.com/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
    
    • 1
    1. 我解压hive安装包至/opt/hive
    tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/
    mv /opt/apache-hive-3.1.2-bin /opt/hive
    
    • 1
    • 2

    在这里插入图片描述

    1. 加上hive环境变量
    echo 'export HIVE_HOME=/opt/hive/' >> /etc/profile
    echo 'export PATH=$PATH:$HIVE_HOME/bin' >> /etc/profile
    source /etc/profile    
    
    hive --version
    
    • 1
    • 2
    • 3
    • 4
    • 5
    1. 初始化 Hive 的元数据存储结构
    schematool -dbType derby -initSchema
    
    • 1

    在这里插入图片描述

    先测试下,后面改完hive与mysql的相关配置后再-dbType mysql

    4. 配置元数据到MySQL

    1. 拷贝JDBC
    cp mysql-connector-java-5.1.49.jar $HIVE_HOME/lib
    
    • 1
    1. 添加hive配置文件
    vi $HIVE_HOME/conf/hive-site.xml
    
    • 1
    		 <!--指定Hive元数据存储的JDBC连接URL -->
    		<property>
               <name>javax.jdo.option.ConnectionURL</name>
               <value>jdbc:mysql://localhost:3306/metastore?useSSL=false</value>
            </property>
            
     		 <!--指定JDBC驱动程序的名称,mysql5这么写-->
            <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>
            
    		<!--指定Hive数据仓库的默认位置-->
    		 <property>
    	              <name>hive.metastore.warehouse.dir</name>
    	              <value>/user/hive/warehouse</value>
            </property>
            <!--指定连接MySQL数据库的密码-->
            <property>
                    <name>javax.jdo.option.ConnectionPassword</name>
                    <value>sql密码</value>
            </property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    1. 采用MySQL存储元数据
    schematool -dbType mysql -initSchema -verbose
    
    • 1

    这步真的遇到很多问题,就到处看帖子把和我报错信息一样的都拿来试试…实在不行就重装咯毕竟不懂什么底层逻辑…
    在这里插入图片描述

    1. 使用hive
    hive> show databases;
    hive> show tables;
    hive> create table stu(id int, name string);
    hive> insert into stu values(1,"ss");
    hive> select * from stu;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5. hiveserver2服务

    作用:开启用户模拟访问Hadoop集群数据

    配置文件

    配置访问hadoop的权限

    vi $HADOOP_HOME/etc/hadoop/core-site.xml
    
    • 1
    	<property>
    		<name>hadoop.proxyuser.root.hosts</name>
    		<value>*</value>
    	</property>
    	<property>
    		<name>hadoop.proxyuser.root.users</name>
    		<value>*</value>
    	</property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    hiveserver2连接的ip

    vi $HIVE_HOME/conf/hive-site.xml
    
    • 1
    <!-- 指定hiveserver2连接的host -->
    <property>
    	<name>hive.server2.thrift.bind.host</name>
    	<value>主机名</value>
    </property>
    
    <!-- 指定hiveserver2连接的端口号 -->
    <property>
    	<name>hive.server2.thrift.port</name>
    	<value>10000</value>
    </property>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    测试

    1. 启动hiveserver2
    hive --service hiveserver2
    
    • 1

    在这里插入图片描述

    1. 再打开个ssh连接窗口
    beeline -u jdbc:hive2://主机名:10000 -n root
    
    • 1

    在这里插入图片描述

    1. DataGrip连接
      创建hive连接
      在这里插入图片描述
      输入服务器ip、端口号、数据库用户名、数据库密码,第一次连提示缺少JDBC驱动,直接点击下载

    连接成功:
    在这里插入图片描述

    ps:连接失败有可能因为ECS安全组没加10000
    在这里插入图片描述

  • 相关阅读:
    计算机网络 - 应用层 选择复习题
    一个多智能体AI搜索工具
    36.cuBLAS开发指南中文版--cuBLAS中的Level-2函数hpmv()
    射频识别技术课程实验--模拟串口间的通信--基础实验
    SpringMVC笔记
    Linux中查找某路径下,包含某个字符串的所有文件
    数论分块
    从0-1,使用腾讯OCR进行身份证识别
    解决Elasticsearch查询默认最大值返回10000
    HTML(基本标签)
  • 原文地址:https://blog.csdn.net/qq_59812342/article/details/136198459