• Hive环境搭建_远程部署


    Hive的远程部署图解

    在这里插入图片描述

    安装步骤

    前提条件: 成功安装了ZK,Hadoop,Mysql,JDK
    并启动

    • 启动hadoop和ZK
    ZK启动: /export/server/zookeeper/bin/zkServer.sh start
    hadoop启动: start-all.sh //没有脚本就一个个启动
    
    • 1
    • 2

    1. 保证 hadoop的 core-site.xml文件中, 兼容hive配置

    这一步应该不用做,装hadoop的时候就写过了

    vim etc/hadoop/core-site.xml
     
    
        hadoop.proxyuser.root.hosts
        *
    
    
        hadoop.proxyuser.root.groups
        *
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    2. 上传,解压

    解压: tar zxvf apache-hive-3.1.2-bin.tar.gz

    3. 保证 hive中的 guava.jar 版本 和 Hadoop中的 guava.jar版本一致

    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/
    
    • 1
    • 2
    • 3

    思路: 删除掉hive中的guava文件,把hadoop的guava复制到hive中

    4. 修改Hive中的配置文件

    1. hive-env.sh

    • 改名
    cd /export/server/apache-hive-3.1.2-bin/conf
    mv hive-env.sh.template hive-env.sh
    
    • 1
    • 2
    • 配置
    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2. hive-site.xml

    文件不存在,直接创建一个即可
    vim hive-site.xml
    复制以下内容.
    注意: 第三,四个标签中为 mysql 的用户名和密码,改成自己电脑上的.

    
    
    
    	javax.jdo.option.ConnectionURL
    	jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8
    
    
    
    	javax.jdo.option.ConnectionDriverName
    	com.mysql.jdbc.Driver
    
    
    
    	javax.jdo.option.ConnectionUserName
    	root
    
    
    
    	javax.jdo.option.ConnectionPassword
    	hadoop
    
    
    
    
        hive.server2.thrift.bind.host
        node1
    
    
    
    
      hive.metastore.uris
        thrift://node1:9083
    
    
     
    
      hive.metastore.event.db.notification.api.auth
        false
    
    
    
    • 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
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40

    5. 上传Mysql jdbc驱动到Hive安装包的Lib目录下

    mysql-connector-java-5.1.32.jar

    6. 手动执行命令初始化Hive的元数据

    cd /export/server/apache-hive-3.1.2-bin/
    
    bin/schematool -initSchema -dbType mysql -verbos
    #初始化成功会在mysql中创建74张表
    
    • 1
    • 2
    • 3
    • 4

    7. 在HDFS中创建目录(可以自定义, 但是最好和我一样), 用于存储Hive的信息.

    • 此时ZK和hadoop集群应该还在启动
    • 检查: 启动后在浏览器输入node1:9870 查看安全模式是否为off,如果为Safe mode is ON.则输入hdfs dfsadmin -safemode forceExit强制关闭
      然后输入以下命令,创建目录并设置权限
    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
    
    • 1
    • 2
    • 3
    • 4

    Hive启动

    第一代客户端

    一般不用第一代,用第二代

    1. 启动metastore服务. //细节: 确保你的ZK 和 Hadoop集群已经成功启动.
      前台启动: //了解即可
      cd /export/server/apache-hive-3.1.2-bin/bin
      ./hive --service metastore
      后台启动: //掌握
      nohup ./hive --service metastore &
    2. 通过hive的第一代客户端连接.
      cd /export/server/apache-hive-3.1.2-bin/bin
      ./hive //进去后可以写HQL语句了, 基本和SQL语句一致.

    第二代客户端

    1. 因为hive的第二代客户端底层是Java写的, 依赖hiveserver2服务, 所以我们要先开启hiveserver2服务.
      注意: 启动之后, 等个1, 2分钟, 再用第二代客户端连接, 因为要加载写jar包.
    cd /export/server/apache-hive-3.1.2-bin/bin
    nohup ./hive --service hiveserver2 &	
    
    • 1
    • 2
    1. 通过hive的第二代客户端连接.
    cd /export/server/apache-hive-3.1.2-bin/bin
    			./beeline
    			!connect jdbc:hive2://node1:10000					//敲回车
    			输入账号: root
    			输入密码: 可以不用写, 直接敲回车即可.				//恭喜各位, 登陆成功. 如果出现"拒绝连接", 等一会儿就好了.
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述

    总结

    • 要先启动ZK和hdoop
    • hive-site.xml中要输入自己的mysql用户名和密码
    • 创建目录时确保Safe mode is OFF
    • 启动hiveserver2后要等2分钟
    • 输入!connect jdbc:hive2://node1:10000后不用输密码直接回车
  • 相关阅读:
    JavaScript系列之switch语句
    Cloudfront HTTPS 性能优化
    Java基础知识—数组
    【JavaEE】网络原理: HTTP协议相关内容
    学生个人网页设计作品:基于HTML+CSS+JavaScript实现摄影艺术网站 DIV布局简单的摄影主题网站
    简单的卷积神经网络编程,卷积神经网络算法代码
    开发从0 到1获取代码,提交,推送
    Docker使用手册
    Flink快速入门
    私域电商:实体商家想通过异业联盟引流,应该怎么做?
  • 原文地址:https://blog.csdn.net/qq_43389032/article/details/126061397