官网下载安装包;
在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>
 
 

最新文章

  1. 名词含义阅读 todolist
  2. Google Material Design的图标字体使用教程
  3. Android调用默认浏览器打开指定Url
  4. NOIP2015跳石头[二分答案]
  5. Ambari是什么?
  6. spring的两种属性注入方式setter注入和构造器注入或者自动注入
  7. Node.js中的事件
  8. AIDL:Binder invocation to an incorrect interface
  9. sql server 查看表结构说明
  10. UBER司机奖励政策
  11. Linux系统的shell是什么
  12. Spring AOP无法拦截Controller中的方法
  13. Java Web 域名
  14. Linux源码编译安装程序
  15. 新的WireGuard快照发布
  16. docker中,将容器中的文件拷贝到宿主机上
  17. [Tensorflow] Object Detection API - build your training environment
  18. MySQL 分页查询和存储过程
  19. MVC--初步理解(01)
  20. [Luogu 3952] NOIP2017 时间复杂度

热门文章

  1. ACboy needs your help(简单DP)
  2. web.xml配置中的log4jRefreshInterval
  3. plsql 详细安装及汉化步骤
  4. windowsphone8.1学习笔记之应用数据(四)
  5. 九度OJ 1204:农夫、羊、菜和狼的故事 (遍历、BFS)
  6. GCD多线程在swift中的变化
  7. 经典的css reset代码 (reset.css)
  8. Android系统移植与调试之------->如何修改Android设备的默认休眠时间
  9. 在 CentOS7最小化 下的编译安装:Nginx 1.5.2 + PHP 5.5.7 + MySQL 5.6.10
  10. java 泛型的简单使用