• hive安装


    (1):先启动hadoop,zookeeper(本地模式)
    随便选择一台虚拟机(node7-4)

    (2):将hive的包传到虚拟机上;
    # 当前目录:
    /data/hive
    # 解压压缩包
    tar -xzvf apache-hive-3.1.2-bin.tar.gz
    # 修改名字,把版本号去掉
    mv apache-hive-3.1.2-bin/ apache-hive

    (3):配置文件
    cd /data/hive/apache-hive
    conf/hive-env.sh.template复制为conf/hive-env.sh
    cp conf/hive-env/sh/template conf/hive-env.sh
    第49行增加:HADOOP_HOME=/data/hadoop/hadoop

    (4):Jar包冲突(guava)
    cd /data/hive/apache-hive/lib
    将目录中的guava-19.0.jar更改成guava-27.0-jre.jar
    bin/hive(进入客户端)

    (5):初始化
    rm -rf derby.log metastore_db/
    bin/schematool -dbType derby -initSchema
    bin/hive(进入客户端)

    (6):查看库(本地模式结束)
    show databases ;(查看库)

    (7):查看网页
    node7-1:9870
    /tmp/hive/root(下面有两个文件)
    (这两个文件是hive默认生成的文件)

    (8):创建库hive-demo(单用户模式)

    telnet(检查一个服务器的端口有没有开放)
    (例:telnet 192.168.56.1 3306)
    yum -y install telnet

    (9):配置文件
    配置文件:复制conf/hive-default.xml.template到hive-site.xml
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
      <!-- hive数据仓库存储的位置;
        hadoop中hdfs的位置
       -->
      <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/data/hive/data/</value>
      </property>
      <!-- 本地单用户启动 -->
      <property>
        <name>hive.metastore.local</name>
        <value>true</value>
      </property>
      <!--
        hive中数据库相关的逻辑信息存储到mysql中
        hive:文件(hive相关的文件);存储到hdfs中
        hive:逻辑的概念:存储到了数据库中

        jdbc相关的信息
       -->
      <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.56.1/hive-demo?useSSL=false&amp;serverTimezone=GMT%2B8&amp;allowMultiQueries=true&amp;allowPublicKeyRetrieval=true</value>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.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>
    </configuration>

    (10):初始化
    rm -rf derby.log metastore_db/

    cd /data/hive/apache-hive/lib
    mysql-connector-java-8.0.20.jar(增加jar包)
    (帮助文档-压缩包java中有jar包)
    去数据库刷新表(hive会自动创建74个表)

    bin/schematool -dbType mysql -initSchema
    bin/hive(进入客户端)

    bin/hive --service metastore(启动hive客户端)

    (11):守护进程命令
    nohup bin/hive --service metastore &
    vim nohup.out(守护进程的命令日志)

    ps aux |gerp 15348(进程号)

    (12):创建数据库(mydata)(单用户结束)
    create database mydata ;
    dbs中放的是库
    tbls中放的是表

    (13):分发(多用户模式)
    node7-4当作服务器端
    node7-2 node7-3当作客户端
    cd /data/hive
    scp -r apache-hive/ node7-2:`pwd`(分发到7-2)
    scp -r apache-hive/ node7-2:`pwd`(分发到7-3)

    (14):配置
    cd /data/hive/apache-hive/conf(增加hive-site.xml)
    node7-4中增加配置:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
      <!-- hive数据仓库存储的位置;
        hadoop中hdfs的位置
       -->
      <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/data/hive/data/</value>
      </property>
      <!-- 本地单用户启动 -->
      <property>
        <name>hive.metastore.local</name>
        <value>true</value>
      </property>
      <!--
        hive中数据库相关的逻辑信息存储到mysql中
        hive:文件(hive相关的文件);存储到hdfs中
        hive:逻辑的概念:存储到了数据库中

        jdbc相关的信息
       -->
      <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://192.168.56.1/hive-demo?useSSL=false&amp;serverTimezone=GMT%2B8&amp;allowMultiQueries=true&amp;allowPublicKeyRetrieval=true</value>
      </property>
      <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.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>
      <!-- HiveServer2 Web UI
        0.0.0.0任何客户端都可以链接
       -->
      <property>
        <name>hive.server2.webui.host</name>
        <value>0.0.0.0</value>
      </property>
      <!-- 监听的端口号 -->
      <property>
        <name>hive.server2.webui.port</name>
        <value>10001</value>
      </property>
    </configuration>

    node7-2 nodi7-3中增加配置:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
      <!--  数据仓库的存储目录:hdfs上的 -->
      <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/data/hive/data/warehouse</value>
      </property>
      <!-- metastore:不是;false  -->
      <property>
        <name>hive.metastore.local</name>
        <value>false</value>
      </property>
      <!-- 服务器的IP
        thrift:===http===-https;
        客户端与服务器交互的协议;
       -->
      <property>
        <name>hive.metastore.uris</name>
        <value>thrift://node7-4:9083</value>
      </property>
    </configuration>

    (15):启动客户端和服务端
    node7-4中
    cd /data/hive/apache-hive
    nohup bin/hive --service metastore &
    tail -f nohup.out
    node7-2 node7-3中
    cd /data/hive/apache-hive
    bin/hive

    (16):Web页面访问

    bin/hive --service hiveserver2 --hiveconf hive.server2.thrift.prom=10000 &

    nohup bin/hiveserver2 &(启动服务器)
    node7-4:10001(访问Web)

  • 相关阅读:
    TCP的发送系列 — 发送缓存的管理(二)
    TCP的发送系列 — 发送缓存的管理(一)
    TCP的发送系列 — tcp_sendmsg()的实现(二)
    TCP的发送系列 — tcp_sendmsg()的实现(一)
    YTU 2618: B 求类中数据成员的最大值-类模板
    YTU 2617: B C++时间类的运算符重载
    YTU 2616: A代码完善--简易二元运算
    YTU 2615: AB编程题--世界杯小组赛
    YTU 2614: A代码完善--系统日期
    YTU 2611: A代码完善--向量的运算
  • 原文地址:https://www.cnblogs.com/comw/p/14499593.html
Copyright © 2020-2023  润新知