转:http://springsfeng.iteye.com/blog/1734517

1 . 首先请安装好MySQL并修改root账户密码,使用root账户执行下面命令:

 su - root

      mysql

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;

2.  创建Hive用户: 使用root账户执行下面命令:

su - root

      mysql -uroot -p

CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';

CREATE USER 'hive'@'linux-fdc.linux.com' IDENTIFIED BY 'hive';

CREATE USER 'hive'@'192.168.81.251' IDENTIFIED BY 'hive';

CREATE DATABASE metastore;
      CREATE DATABASE metastore DEFAULT CHARACTER SET latin1 DEFAULT COLLATE latin1_swedish_ci;

GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'localhost' IDENTIFIED BY 'hive' WITH GRANT OPTION;

GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'192.168.81.251' IDENTIFIED BY 'hive' WITH GRANT OPTION;  
      flush privileges;

3.  导入MySQL 脚本

使用hive账户登录:

mysql -uhive -p -h192.168.81.251

mysql> use metastore;
     Database changed
     mysql> source /opt/custom/hive-0.11.0/scripts/metastore/upgrade/mysql/hive-schema-0.10.0.mysql.sql

4.  Hive安装配置

(1) 编译:针对当前Hive-0.11.0-SNAPSHOT版本

下载最新的Hive源码包:hive-trunk.zip, 解压至:/home/kevin/Downloads/hive-trunk,修改:

build.properties, 中:

  1. ...
  2. hadoop-0.20.version=0.20.2
  3. hadoop-0.20S.version=1.1.2
  4. hadoop-0.23.version=2.0.3-alpha
  5. ...

若需修改其他依赖包的版本,请修改:ivy目录下的libraries.properties文件, 例如修改hbase

的版本:

...

guava-hadoop23.version=11.0.2
    hbase.version=0.94.6
    jackson.version=1.8.8

...

在当前目录下执行:

ant tar -Dforrest.home=/usr/custom/apache-forrest-0.9

其中,forrest.home参考:http://springsfeng.iteye.com/admin/blogs/1734557中的第一部分,

第3小节。

(2)  解压:从编译后的build下Copy hive-0.11.0-SNAPSHOT.tar.gz至:/usr/custom/并解压。

(3)  配置环境变量:

exprot HIVE_HOME=/usr/custom/hive-0.11.0 
     exprot PATH=$HIVE_HOME/bin:$PATH

(4) 配置文件:

复制conf目录下的.template生成对应的.xml或.properties文件:
     cp hive-default.xml.template hive-site.xml 
     cp hive-log4j.properties.template hive-log4j.properties

(5) 配置hive-config.sh:

  1. ...
  2. #
  3. # processes --config option from command line
  4. #
  5. export JAVA_HOME=/usr/custom/jdk1.6.0_43
  6. export HIVE_HOME=/usr/custom/hive-0.11.0
  7. export HADOOP_HOME=/usr/custom/hadoop-2.0.3-alpha
  8. this="$0"
  9. while [ -h "$this" ]; do
  10. ls=`ls -ld "$this"`
  11. link=`expr "$ls" : '.*-> \(.*\)$'`
  12. if expr "$link" : '.*/.*' > /dev/null; then
  13. this="$link"
  14. else
  15. this=`dirname "$this"`/"$link"
  16. fi
  17. done
  18. ...

(6) 配置日志hive-log4j.properties:针对0.10.0版本的特别处理。

将org.apache.hadoop.metrics.jvm.EventCounter改成:org.apache.hadoop.log.metrics

.EventCounter , 这样将解决异常:

WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated.  
     Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.

(7) 创建hive-site文件:

  1. <configuration>
  2. <!-- WARNING!!! This file is provided for documentation purposes ONLY! -->
  3. <!-- WARNING!!! Any changes you make to this file will be ignored by Hive. -->
  4. <!-- WARNING!!! You must make your changes in hive-site.xml instead. -->
  5. <!-- Hive Execution Parameters -->
  6. <property>
  7. <name>javax.jdo.option.ConnectionURL</name>
  8. <value>jdbc:mysql://localhost:3306/metastore_db?createDatabaseIfNotExist=true</value>
  9. <description>
  10. JDBC connect string for a JDBC metastore.
  11. 请注意上面value标签之间的部分前后之间不能有空格,否则HiveClient提示:
  12. FAILED: Error in metadata: java.lang.RuntimeException: Unable
  13. to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
  14. </description>
  15. </property>
  16. <property>
  17. <name>javax.jdo.option.ConnectionDriverName</name>
  18. <value>com.mysql.jdbc.Driver</value>
  19. <description>Driver class name for a JDBC metastore</description>
  20. </property>
  21. <property>
  22. <name>javax.jdo.option.ConnectionUserName</name>
  23. <value>hive</value>
  24. <description>username to use against metastore database</description>
  25. </property>
  26. <property>
  27. <name>javax.jdo.option.ConnectionPassword</name>
  28. <value>hive</value>
  29. <description>password to use against metastore database</description>
  30. </property>
  31. <property>
  32. <name>hive.metastore.uris</name>
  33. <value>thrift://linux-fdc.linux.com:8888</value>
  34. <description>
  35. Thrift uri for the remote metastore. Used by metastore
  36. client to connect to remote metastore.
  37. </description>
  38. </property>
  39. </configuration>

(8) 配置MySQL-Connector-Java

下载mysql-connector-java-5.1.22-bin.jar放在/usr/custom/hive-0.11.0/lib目录下,否则执行

show tables; 命令时提示找不到ConnectionDriverName。

5. 启动使用

(1) 启动
    进入bin目录下,执行命令:hive 
   (2) 查看当前库及表 
   show databases;   //默认为:default 
   show tables; 
   (3) 创建表示例

这部分为我自己的测试, 测试数据见附件。

CREATE TABLE cite (citing INT, cited INT) 
   ROW FORMAT DELIMITED 
   FIELDS TERMINATED BY ',' 
   STORED AS TEXTFILE; 
    
   CREATE TABLE cite_count (cited INT, count INT); 
    
   INSERT OVERWRITE TABLE cite_count 
   SELECT cited,COUNT(citing) 
   FROM cite 
   GROUP BY cited; 
    
   SELECT * FROM cite_count WHERE count > 10 LIMIT 10; 
    
   CREATE TABLE age (name STRING, birthday INT) 
   ROW FORMAT DELIMITED 
   FIELDS TERMINATED BY '\t' 
   LINES TERMINATED BY '\n' 
   STORED AS TEXTFILE; 
    
   CREATE TABLE age_out (birthday INT, birthday_count INT) 
   ROW FORMAT DELIMITED 
   FIELDS TERMINATED BY '\t' 
   LINES TERMINATED BY '\n' 
   STORED AS TEXTFILE; 
   (4) 查看表结构
   desribe cite; 
   (5) 加载数据
   hive> LOAD DATA LOCAL INPATH '/home/kevin/Documents/age.txt' OVERWRITE INTO TABLE age;

Hive0.11安装配置学习笔记的更多相关文章

  1. redis 安装配置学习笔记

    redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...

  2. Chapter 2. OpenSSL的安装和配置学习笔记

    Chapter 2. OpenSSL的安装和配置学习笔记 2.1 在linux上面安装OpenSSL我还是做点No paper事情比较在行,正好和老师的课程接轨一下.以前尝试过在Windows上面安装 ...

  3. Android安装器学习笔记(一)

    Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...

  4. DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  5. centos6 安装配置ss笔记

    2018-05-17 centos6 安装配置ss笔记 操作环境:Centos 6 x86_64 bbr 服务器地址:美国 1.准备VPS 在https://www.bwh1.net可购买,购买时已默 ...

  6. DirectX 11游戏编程学习笔记之6: 第5章The Rendering Pipeline(渲染管线)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  7. CentOS 5.11安装配置LAMP服务器(Apache+PHP5+MySQL)

    http://www.osyunwei.com/archives/8880.html 准备篇: CentOS 5.x系统安装配置图解教程 http://www.osyunwei.com/archive ...

  8. android cocos2d-x for Android安装和学习笔记(请用adt-bundle21.1或以上导入)

    引用:http://weimingtom.iteye.com/blog/1483566 (20121108)注意:这篇文章用cdt编译ndk工程的内容已过时(现在可以用adt-bundle,避免配置繁 ...

  9. DirectX 11游戏编程学习笔记之1: 开场白

    本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com           这是我之前的博客系列"DirectX9.0c游戏开发手记之'龙书'第二版学习笔记 ...

随机推荐

  1. MyBatis mapper文件中的变量引用方式#{}与${}的差别

    MyBatis mapper文件中的变量引用方式#{}与${}的差别 #{},和 ${}传参的区别如下:使用#传入参数是,sql语句解析是会加上"",当成字符串来解析,这样相比于$ ...

  2. iOS - UIButton设置图片文字上图下文排列

    经查阅资料及尝试,最终解决了在图片和文字垂直排列的情况下,如果文字长度变化会导致图片位置变动的问题,最开始采用了网上比较多的做法,做法如下: @interface UIButton (UIButton ...

  3. WPF框架MVVM简单例子

    MVVM是Model-View-ViewModel的缩写形式,它通常被用于WPF或Silverlight开发.Model——可以理解为带有字段,属性的类.View——可以理解为我们所看到的UI.Vie ...

  4. SQL Server数据库大型应用解决方案总结(转载)

    转载地址:http://hb.qq.com/a/20120111/000216.htm 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的互联网应用,每天百万级甚至 ...

  5. Linux Shell 高级编程技巧2----shell工具

    2.shell工具    2.1.日志文件        简介            创建日志文件是很重要的,记录了重要的信息.一旦出现错误,这些信息对于我们排错是非常有用的:监控的信息也可以记录到日 ...

  6. makefile基础(GNU)

    makefile的核心 targets : prerequisites ; commands...   //不分行的情况 targets : prerequisites                 ...

  7. dbca:Exception in thread "main" java.lang.UnsatisfiedLinkError: get

    在64位的操作系统安装oracle10g 软件安装完成后,使用dbca建库的时候报下面的错: $ dbcaUnsatisfiedLinkError exception loading native l ...

  8. WPF MVVM初体验

    首先MVVM设计模式的结构, Views: 由Window/Page/UserControl等构成,通过DataBinding与ViewModels建立关联: ViewModels:由一组命令,可以绑 ...

  9. python解析RSS(feedparser)

    虽然说当今的博客已经不像前几年那么火了,但是RSS还是一项很有创造性和实用性的东西.RSS 是用于分发 Web 站点上的内容的摘要的一种简单的 XML 格式.它能够用于共享各种各样的信息.关于RSS的 ...

  10. 1.ok6410移植bootloader,移植u-boot,学习u-boot命令

    ok6410移植u-boot 既然是移植u-boot当然首先需要u-boot源码,这里的u-boot代码是由国嵌提供的. 一.配置编译u-boot A. 解压 u-boot 压缩文件 B. 进入解压生 ...