Hive安装(单机Hadoop102)

Hive安装(单机Hadoop102)

依赖文件下载:hive依赖文件下载

  1. 拷贝以下文件到集群

    01_mysql-community-common-5.7.29-1.el7.x86_64.rpm
    02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm
    03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm
    04_mysql-community-client-5.7.29-1.el7.x86_64.rpm
    05_mysql-community-server-5.7.29-1.el7.x86_64.rpm
    apache-hive-3.1.2-bin.tar.gz
    hive_services.sh
    init.sql
    mysql-connector-java-5.1.48.jar
    remove_mysql.sh
    
  2. 部署MySQL

    • 移除旧的MySQL安装包或者依赖

      sudo bash /opt/software/remove_mysql.sh
      
    • 安装新的MySQL

      sudo yum install -y \
      /opt/software/01_mysql-community-common-5.7.29-1.el7.x86_64.rpm \
      /opt/software/02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm \
      /opt/software/03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm \
      /opt/software/04_mysql-community-client-5.7.29-1.el7.x86_64.rpm \
      /opt/software/05_mysql-community-server-5.7.29-1.el7.x86_64.rpm
      

      或者

      ls /opt/software/*.rpm | xargs -n1 sudo rpm -ivh
      
    • 初始化MySQL

      # 首先启动MySQL服务
      sudo systemctl start mysqld
      
      # 初始化MySQL,主要是修改root密码和登录位置
      mysql --connect-expired-password -uroot \
      -p"$(sudo cat /var/log/mysqld.log | grep "temporary password" | awk '{print $NF}')" \
      < /opt/software/init.sql
      
    • 如果安装过程中出现问题,就从最开始卸载的部分重来一次就行

  3. 部署Hive

    • 解压HIVE,并添加环境变量

      # 解压
      tar -zxf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module
      
      # 重命名
      mv /opt/module/apache-hive-3.1.2-bin /opt/module/hive
      
      # 添加环境变量
      sudo vim /etc/profile.d/my_env.sh
      
      # 追加如下内容
      #HIVE_HOME
      export HIVE_HOME=/opt/module/hive
      export PATH=$PATH:$HIVE_HOME/bin
      

      保存过后,重启xshell窗口

      保存过后,重启xshell窗口

      保存过后,重启xshell窗口

    • 配置HIVE

      • 修改HDFS的配置:core-site.xml

          <!-- 配置该atguigu(superUser)允许通过代理访问的主机节点 -->
          <property>
            <name>hadoop.proxyuser.atguigu.hosts</name>
            <value>*</value>
          </property>
          <!-- 配置该atguigu(superUser)允许通过代理用户所属组 -->
          <property>
            <name>hadoop.proxyuser.atguigu.groups</name>
            <value>*</value>
          </property>
          <!-- 配置该atguigu(superUser)允许通过代理的用户-->
          <property>
            <name>hadoop.proxyuser.atguigu.users</name>
            <value>*</value>
          </property>
        

        完成后保存并同步

        xsync /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
        
      • 新建hive的配置:hive-site.xml

        # 新建一个hive-site.xml文件
        vim /opt/module/hive/conf/hive-site.xml
        

        内容如下:

        <?xml version="1.0"?>
        <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
        
        <configuration>
          <!-- jdbc连接的URL -->
          <property>
            <name>javax.jdo.option.ConnectionURL</name>
            <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
          </property>
        
          <!-- jdbc连接的Driver-->
          <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.jdbc.Driver</value>
          </property>
        
          <!-- jdbc连接的username-->
          <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>root</value>
          </property>
        
          <!-- jdbc连接的password -->
          <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>000000</value>
          </property>
        
          <!-- Hive默认在HDFS的工作目录 -->
          <property>
            <name>hive.metastore.warehouse.dir</name>
            <value>/user/hive/warehouse</value>
          </property>
          <!-- 指定hiveserver2连接的host -->
          <property>
            <name>hive.server2.thrift.bind.host</name>
            <value>hadoop102</value>
          </property>
        
          <!-- 指定hiveserver2连接的端口号 -->
          <property>
            <name>hive.server2.thrift.port</name>
            <value>10000</value>
          </property>
        
          <!-- hiveserver2的高可用参数,开启此参数可以提高hiveserver2的启动速度 -->
          <property>
            <name>hive.server2.active.passive.ha.enable</name>
            <value>true</value>
          </property>
        
        </configuration>
        
      • 拷贝JDBC驱动到HIVE

        cp /opt/software/mysql-connector-java-5.1.48.jar /opt/module/hive/lib
        
      • 修改HIVE堆内存

        # 重命名hive-env.sh
        mv /opt/module/hive/conf/hive-env.sh.template /opt/module/hive/conf/hive-env.sh
        
        # 编辑hive-env.sh
        # 将
        # export HADOOP_HEAPSIZE=1024
        # 修改为
        export HADOOP_HEAPSIZE=1024
        
      • 修改hive日志目录的配置(可选)

        # 重命名hive-log4j2.properties
        mv /opt/module/hive/conf/hive-log4j2.properties.template /opt/module/hive/conf/hive-log4j2.properties
        
        # 编辑hive-log4j2.properties
        #将property.hive.log.dir这一行改为
        property.hive.log.dir = /opt/module/hive/logs
        
      • 处理Hive和Hadoop的Jar包冲突(可选)

        mv /opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar /opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar.bak
        
    • 初始化HIVE

      # 在MySQL中新建一个metastore数据库
      mysql -uroot -proot -e"drop database if exists metastore;create database metastore;"
      
      # 初始化HIVE元数据库
      schematool -initSchema -dbType mysql -verbose
      
    • 启动hiveserver2服务器

      • 首先要先启动集群

        start-dfs.sh
        ssh hadoop103 "start-yarn.sh"
        
      • hive服务启动命令

        hiveserver2
        
      • 写一个后台启动脚本

        mv /opt/software/hive_services.sh /opt/module/hive/bin
        chmod +x /opt/module/hive/bin/hive_services.sh
        

        用脚本启动hive

        hive_services.sh start/stop/restart/status
        
  4. 连接Hive服务

    • Hive自带的Beeline客户端

      beeline -u jdbc:hive2://hadoop102:10000 -n atguigu
      

hive的shell样式

  • IDEA连接
    hive的idea可视化操作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

black.kk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值