Hive安装

mysql使用主机(win7)上的mysql数据库,启动后,要关闭360和win7自带的防火墙,确保在虚拟机里能拼通主机**************************************************

D:\server\mysql-5.0.16-win32\bin

grant all on
*.* to hive@'localhost' identified
by 'hive' with
grant  option;

create
database hive character set
'UTF8';

下载地址:http://archive.apache.org/dist/hive/hive-0.8.1/

拷贝:cp
/mnt/hgfs/share_files/hive-0.8.1.tar.gz ~

解压:tar -zxvf
hive-0.8.1.tar.gz

安装配置hive

(1)修改/home/grid/hive-0.8.1/bin/hive-config.sh

在末尾添加:

[grid@h1
bin]$ vi hive-config.sh

export
JAVA_HOME=/usr/java/jdk1.6.0_29/

export
HIVE_HOME=/home/grid/hive-0.8.1

export
HADOOP_HOME=/home/grid/hadoop-0.20.2

(2)
根据hive-default.xml.template复制hive-site.xml

[grid@h1
conf]$ cp hive-default.xml.template
hive-site.xml

(3)
修改配置文件hive-site.xml:

临时文件目录,默认值是/tmp/hive-${user.name}

数据目录,默认值是/user/hive/warehouse

hive.exec.scratchdir

/home/grid/hive-tmp

hive.metastore.warehouse.dir

/home/grid/hive-data

javax.jdo.option.ConnectionURL

jdbc:mysql://192.168.1.100:3306/hive?createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

hive

javax.jdo.option.ConnectionPassword

hive

    mysql使用主机(win7)上的mysql数据库," />
    mysql使用主机(win7)上的mysql数据库," />    mysql使用主机(win7)上的mysql数据库," />

(4)配置log4j

[grid@h1
conf]$ cp hive-log4j.properties.template
hive-log4j.properties

(5)创建临时文件目录、数据目录

[grid@h1 ~]$
mkdir hive-tmp

[grid@h1 ~]$
mkdir hive-data

(6)把MySQL的JDBC驱动mysql-connector-java-5.0.8.jar
复制到Hive的lib目录下。(注:发现无法直接拷贝到/home/grid/hive-0.8.1/lib目录下,奇怪)

[grid@h1 ~]$
cp /mnt/hgfs/share_files/mysql-connector-java-5.0.8.jar
~

[grid@h1 ~]$
cp mysql-connector-java-5.0.8.jar
/home/grid/hive-0.8.1/lib

[grid@h1 ~]$
rm mysql*.jar

(7)启动

[grid@h1 ~]$
hive-0.8.1/bin/hive

出现问题1:

Hive
requires Hadoop 0.20.x (x >= 1).

'hadoop
version' returned:

Hadoop
0.20-append-r1056497 Subversionhttps://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-append -r
1056491 Compiled by stack on Fri Jan 7 20:43:30 UTC
2011

问题解决1:出现这个问题是因为安装hbase的时候,我们用hbase的jar包覆盖hadoop的jar包(老师的课程里说的是用hadoop的包覆盖hbase的包,但这样运行时会报错)

[grid@h1 ~]$
hadoop-0.20.2/bin/stop-all.sh

[grid@h1 ~]$
cd hadoop-0.20.2

[grid@h1
hadoop-0.20.2]$ rm hadoop-0.20.2-core.jar

//用原来备份的文件还原(如果想运行hbase,又要用hbase的jar来覆盖这个jar)

[grid@h1
hadoop-0.20.2]$ cp hadoop-0.20.2-core.sav
hadoop-0.20.2-core.jar

//要同步到其他机器

[root@h1
hadoop-0.20.2]# scp
hadoop-0.20.2-core.jar grid@h2:/home/grid/hadoop-0.20.2/hadoop-0.20.2-core.jar

[root@h1
hadoop-0.20.2]# scp
hadoop-0.20.2-core.jar grid@h3:/home/grid/hadoop-0.20.2/hadoop-0.20.2-core.jar

再次启动:

[grid@h1 ~]$
hadoop-0.20.2/bin/start-all.sh

[grid@h1 ~]$
hive-0.8.1/bin/hive

hive> show
databases;

又报错2:

FAILED:
Error in metadata: javax.jdo.JDOFatalDataStoreException:
null,  message from server: "Host
'192.168.1.104' is not allowed to connect to this MySQL
server"

NestedThrowables:

java.sql.SQLException:
null,  message from server: "Host
'192.168.1.104' is not allowed to connect to this MySQL
server"

FAILED:
Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.DDLTask

问题解决2:

在mysql里运行:grant all on *.*
to hive@'192.168.1.104' identified
by 'hive' with grant option;

192.168.1.104是安装hive的机器ip

    mysql使用主机(win7)上的mysql数据库," />
    mysql使用主机(win7)上的mysql数据库," /> 这个是因win7自带防火墙问题,连不上mysql

    mysql使用主机(win7)上的mysql数据库," />

问题3

hive> show
tables;

FAILED: Error
in metadata: MetaException(message:Got exception:
javax.jdo.JDODataStoreException An exception was thrown while
adding/validating class(es) : Can't create table
'.\hive\sd_params.frm' (errno: 139)

java.sql.SQLException:
Can't create table '.\hive\sd_params.frm' (errno:
139)

at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:946)

at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)

at
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)

at
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)

问题解决3:(是数据库编码引起的)

drop
database hive;

create
database hive character set
'latin1';

建表

hive>
CREATE TABLE pokes (foo INT, bar
STRING);

OK

Time taken:
4.357 seconds

其他操作见:Hive常用的SQL命令操作.txt

    mysql使用主机(win7)上的mysql数据库," />

其他问题:Hive和Hbase如何共存,他们两有jar冲突

其实这个安装早就弄了,这个人惰性的厉害,非周日晚上做作业不可

版权声明:本文为博主原创文章,未经博主允许不得转载。

最新文章

  1. ssl + nginx + tomcat 部署方案
  2. iOS--xuer(registration)
  3. (转)基于CAS实现单点登录(SSO):cas client端的退出问题
  4. Treap实现山寨set
  5. CocoaPods 原理分享及遇到的问题改进
  6. 开源免费跨平台opengl opencv webgl gtk blender, opengl贴图程序
  7. iOS开发——导入第三方库引起的unknown type name 'NSString'
  8. 【Jquery系列】详解Jquery对象和Dom对象
  9. javascript初识
  10. 准备PPT过程中的一些文档记录
  11. Spring Boot学习大全(入门)
  12. 【HAOI2008】硬币购物
  13. Android application backup
  14. BZOJ1011:[HNOI2008]遥远的行星(乱搞)
  15. ethers.js-1
  16. Shader工具
  17. Spring Boot实践——Spring AOP实现之动态代理
  18. SQL行列轉換方法(詳細例子)
  19. 看一遍就懂,详解java多线程——volatile
  20. MySQL配置和启动

热门文章

  1. meaven环境变量配置
  2. java常量池概念 (转)
  3. 【题解】POJ1934 Trip (DP+记录方案)
  4. [容易]在O(1)时间复杂度删除链表节点
  5. 剑指Offer:删除链表的节点【18】
  6. Ruby操作数据库基本步骤
  7. 【Leetcode-easy】Longest Common Prefix
  8. linux 下ftp的安装配置 图文教程
  9. POJ1113 Wall —— 凸包
  10. Spring Boot2.0之 监控管理