`
mars914
  • 浏览: 435227 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hive详细配置手册

阅读更多

HIVE详细配置手册
1)下载hive

HIVE只需在Master节点中安装和配置即可。 
所以版本是hive-0.7.1,已安装的hadoop版本为hadoop-0.20.204.0,解压到master节点上的/usr/local/hadoop/contrib目录

解压

 

 


 

[root@master:hadoop]$ tar zxvf hive-0.7.1.tar.gz [root@master:hadoop]$mv hive-0.7.1 contrib/hive

 

2)配置hive
1.修改bin/hive-config.sh,添加jdk支持
 

 

 


 

export JAVA_HOME=/usr/local/jdk export HIVE_HOME=/usr/local/hadoop/contrib/hive export HADOOP_HOME=/usr/local/hadoop

 

 2.在HDFS中创建目录,并且将其开放g+w模式

 

 


 

[root@master:hadoop]$bin/hadoop fs –mkdir /tmp [root@master:hadoop]$bin/hadoop fs –mkdir /user/hive/warehouse [root@master:hadoop]$bin/hadoop fs –chmod g+w /tmp [root@master:hadoop]$bin/hadoop fs –chmod g+w /user/hive/warehouse

 

 经过试验,以上创建目录的步骤是可以省略的,Hive会自动创建需要的目录 。

浏览器输入http://master:50070 进行查看,点击Browser the filesystem进入,点击user 会看到hive链接,点击进去就能看到数据表。

3. 修改conf/hive-default.xml,这个是hive的关键配置,所以一般不要直接修改,拷贝hive-default.xml为hive-site.xml文件,将修改的内容在这个里面配置。本人为mysql数据库存储hive 的元数据,所以做如下修改:

 

 

<property> 
    <name>javax.jdo.OPTION.ConnectionURL</name>  
    <value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true</value> 
    <description>JDBC connect string FOR a JDBC metastore</description> 
</property> 
<property>  
    <name>javax.jdo.OPTION.ConnectionDriverName</name>  
    <value>com.mysql.jdbc.Driver</value> 
    <description>Driver class name FOR a JDBC metastore</description> </property>
<property>  
    <name>javax.jdo.OPTION.ConnectionUserName</name>  
    <value>hiveuser</value> 
    <description>username TOUSE against metastore database</description> 
</property> 
<property> 
    <name>javax.jdo.OPTION.ConnectionPassword</name>  
    <value>hiveuser</value> 
    <description>password TOUSE against metastore database</description> 
</property> 

 

 


 


 4.下载mysql连接驱动包,否则会报错:error creating transactional connection。本文下载的为mysql-connector-java-5.0.8-bin.jar文件,并放到$HIVE_HOME/lib目录下,这时HIVE已经全部配置完了。

 

3)运行hive


[root@master:hadoop]$bin/hive 

Hive history file=/tmp/root/hive_job_log_root_201202181057_361521373.txt hive>

  

 



 

 有时会报warning:please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.

 

 

 

 

 在Hive官方文档中重点提到了Hive的日志配置$HIVE_HOME/conf/hive-log4j.properties,虽然不是必要更改的配置文件,但合理的设置会对我们有一定的帮助,具体配置方法可见官方文档。

 

4)测试hive
1.创建数据表

 

hive> create table tb( id int, name string); 
OK Time taken: 5.112 seconds 
 


 默认是使用输入格式(input format)为text ,分割符号使用^A(ctrl-a).
2.创建分区的数据表

 


hive> CREATE table tb2 (foo int, bar string) partitioned by (ds string); 


OK Time taken: 31.243 seconds

 

 


 包含2列和一个分区列(ds)。分区列是一个虚拟列。它不是数据自身的一部分,但是由它得到分区,详细数据加载到里面.

3.显示数据表

显示所有的数据表

 


show tables;
 

  只显示以's'结尾的数据表

 


show tables '.*s';
 

 查询数据

 


select * from tb;
 

 4.从本地加载数据

 

 


hive> load data local inpath './files/tb.txt' overwrite into table tb;
 

 这个文件位于hive的安装目录下 files/tb.txt

5.从hdfs加载数据

 


 

load data inpath '/input/files/tb.txt' overwrite into table tb;

  


 去掉LOCAL ,就是从HDFS加载
关键字OVERWRITE意味着,数据表已经存在的数据将被删除。省略OVERWRITE,数据文件将会添加到原有数据列表里
删除数据表:drop table tb;

 

5)Heap size设置
Hive默认-Xmx4096m
修改hive/bin/ext/util/ execHiveCmd.sh
HADOOP_HEAPSIZE=256

6)启动Hive Thrift Server

 


hive --service hiveserver 
 

 

默认使用10000端口,也可以使用HIVE_PORT来指定端口

 


[mars@master hive]$ bin/hive --service hiveserver --help usage HIVE_PORT=xxxx ./hive --service hiveserver HIVE_PORT : Specify the server port
 

 7)启动hwi

 


bin/hive --service hwi 
 

 http://masterIp:9999/hwi即可访问网络接口

 

取消日志的方式:

 

 


nohup bin/hive --service hwi > /dev/null 2> /dev/null &
 

 

 

分享到:
评论
2 楼 haoxuexi87 2018-05-10  
【学途无忧网】Hive详解及实战
课程学习地址:http://www.xuetuwuyou.com/course/187
课程出自学途无忧网:http://www.xuetuwuyou.com

课程简介:
课程由浅入深,介绍了Hive基本架构及环境部署,带领大家认识数据仓库Hive的优势及Hive具体使用。并通过企业实际需求分析,讲解HiveQL中的DDL和DML的使用,以及常见的性能优化方案。

课程目录:
第1章:Hive基本架构及环境部署
1.MapReduce分析与SQL分析对比 
2.Hive的介绍及其发展
3.Hive的安装部署及启动
4.Hive的基本架构讲解
5.安装MySQL作为元数据库存储
6.配置Hive使用MySQL作为元数据库存储
7.Hive中基本命令的使用
8.Hive中常用的属性配置
9.Hive中常用的交互式命令
10Hive中数据库的管理与使用
11.Hive中表的管理与使用
12.Hive中外部表的使用

第2章:Hive 常用DML、UDF及连接方式
13.Hive中分区表的介绍
14.Hive中分区表的创建及使用
15.Hive中数据导入的6种方式及其应用场景
16.Hive中数据导出的4种方式及表的导入导出
17.Hive中HQL的基本语法(一)
18.Hive中HQL的基本语法(二)
19.Hive中order by、sort by、distribute by与cluster by的使用
20.Hive中分析函数与窗口函数
21.Hive中UDF的介绍
22.Hive中使用自定义UDF实现日期格式转换
23. HiveServer2的介绍及三种连接方式
24.Hive元数据、fetch task和严格模式的介绍

第3章:Sqoop Sqoop及用户行为分析案例
25.CDH版本框架的介绍
26. CDH版本框架的环境部署
27.Sqoop的介绍及其实现原理
28.Sqoop的安装部署及连接测试
29.Sqoop将MySQL数据导入到HDFS(一)
30.Sqoop将MySQL数据导入到HDFS(二)
31.Sqoop中的增量导入与Sqoop job
32.Sqoop将MySQL数据导入Hive表中
33.Sqoop的导出及脚本中使用的方式
34.案例分析-动态分区的实现
35.案例分析-源表的分区加载创建
36.案例分析-指标分析使用Sqoop导出

第4章:Hive复杂用户行为案例分析及优化
37.自动批量加载数据到hive
38.Hive表批量加载数据的脚本实现(一)
39.Hive表批量加载数据的脚本实现(二)
40.HIve中的case when、cast及unix_timestamp的使用
41.复杂日志分析-需求分析
42.复杂日志分析-需求字段讲解及过滤
43.复杂日志分析-字段提取及临时表的创建
44.复杂日志分析-指标结果的分析实现
45.Hive中数据文件的存储格式介绍及对比
46.常见的压缩格式及MapReduce的压缩介绍
47.Hadoop中编译配置Snappy压缩
48.Hadoop及Hive配置支持snappy压缩
49.Hive中的常见调优
50.Hive中的数据倾斜及解决方案-三种join方式
51.Hive中的数据倾斜及解决方案-group by
52.Hive中使用正则加载数据
53. Hive中使用Python脚本进行预处理

第5章:Zeus任务资源调度工具
54.资源任务调度框架介绍
55.企业中常见的任务调度框架
56.Zeus的介绍及基本实现原理
57.Zeus安装部署-基本环境配置
58.Zeus安装部署-配置文件的修改
59.Zeus安装部署-编译打包
60.Zeus平台的调度使用
61.Zeus平台实现任务调度应用(一)
62.Zeus平台实现任务调度应用(二)
63.Zeus平台实现任务调度应用(三)

1 楼 mars914 2012-02-18  
错误:Error while making MR scratch directory - check filesystem config (null)
之解决办法:
错误中还有Caused by: java.lang.IllegalArgumentException: Wrong FS: hdfs://192.168.1.10:9000/www/tmp/hive/tmp/hive_2011-07-07_15-16-43_898_7958229762893737206, expected: hdfs://namenode:9000

s根据提示修改HADOOP_HOME/conf/core-site.xml的属性fs.default.name的value值改成hdfs://namenode:9000

相关推荐

Global site tag (gtag.js) - Google Analytics