• Hive安装配置要点


    官网下载安装包;
    在Profile下面定义HIVE_HOME以及HADOOP_HOME,然后在PATH下面添加HOME/bin目录,用于在命令行直接敲beeline,hive即可执行命令;
    需要在hadoop中创建:
    /user/hive/warehouse
    /tmp
    (记得当前目录以及子目录要赋权限777,否则会爆异常,见下面的异常)
    Hive有两种客户端,一种是HiveCLI已经被抛弃,现在Hive主推Beeline客户端,在启动的时候需要指定用户:
     beeline -u jdbc:hive2://localhost:10000 
    HiveServer2的启动方式是
     bin/hiveserver2
    hive日志存放在/tmp/username/hive.log
    show tables:展示所有的表;
    describe tablename:展示指定表的列信息;
    hive服务监听端口:10000
    hive网页的端口:10002
     
    Error executing SQL query "select "DB_ID" from "DBS"".(启动hiveserver2的时候)
    这是因为需要将hive下面的conf里面的hive-default-site.xml.template变为hive-site.xml
    datanucleus.schema.autoCreateAll节点值设为true,自动创建必要的schema
    hive.metastore.schema.verification节点设置为false,不验证schema的完备
     
    java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D(启动hiveserver2的时候)
    system:java.io.tmpdir单独定义一个properyt名字就叫system:java.io.tmpdir,然后赋值value即可
     
    User: hadoop is not allowed to impersonate anonymous(启动beeline客户端的时候)
    需要配置hadoop里面的core-site.xml文件添加如下节点:
    <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
    </property>
    <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
    </property>
    粗体替换为执行bin/hiveserver2的用户即可。这是因为Hadoop的安全机制,让所有的应用通过指定的代理用户来和Hadoop交互,而不是外部应用的实际用户,避免外部应用对于hadoop的高权限访问(难道是避免外部应用模拟管理员对其进行操作);后来我看了了一下core-default.xml,里面并没有hadoop.proxyuser.*的节点,这说明默认情况下是没有指定代理用户,这就导致任何外部应用都无法访问hadoop,只有在外部的core-site.xml中进行手工指定才可以。
     
    org.apache.hadoop.security.AccessControlException Permission denied: user=anonymous, access=WRITE, inode="/user/hive/warehouse":hadoop:supergroup:drwxrwxr-x(在beeline中执行语句的时候)
    需要在:
    hadoop fs -chmod -R +777 /tmp
    hadoop fs -chmod -R +777 /user
     
    java.net.URISyntaxException: Relative path in absolute URI: ${system:user.name%7D (state=,code=0),在执行show tables语句的时候;
    需要在hive-site.xml添加如下节点
    <property>
    <name>system:user.name</name>
    <value>hadoop</value>
    </property>
     
     
  • 相关阅读:
    [08] 包装器类
    [07] String字符串
    [06] Java的数据类型
    [05] 利用private来封装
    [04] 包和访问权限修饰符
    [03] 类的结构和创建对象
    [02] 类和对象
    [01] Java语言的基本认识
    通过Excel认识POI
    浅谈SQL优化入门:3、利用索引
  • 原文地址:https://www.cnblogs.com/xiashiwendao/p/7260360.html
Copyright © 2020-2023  润新知