从
http://archive.cloudera.com/cdh/3/中下载hive-0.7.1-cdh3u1.tar.gz。
在安装了Hadoop的namenode上解压Hive:
$tar zxvf hive-0.7.1-cdh3u1.tar.gz -C /home/hadoop/cdh3
修改hive安装目录下/conf/hive-env.sh.template中的HADOOP_HOME为实际的Hadoop安装目录;
添加环境变量
$sudo gedit /etc/profile
引用
export HIVE_HOME=/home/hadoop/cdh3/hive-0.7.1-cdh3u1
export PATH=$PATH:HIVE_HOME/bin
然后启动Hive
$hive
如果能够进入Hive的shell页面,并能浏览,则表示Hive已经可以使用了。
引用
hadoop@ubuntu:~$ hive
Hive history file=/tmp/hadoop/hive_job_log_hadoop_201110241652_1651346475.txt
hive> show tables;
OK
Time taken: 3.496 seconds
在安装过程中,第一次启动Hive没有成功,后来在网上查到原因如下,并成功解决:
错误如下:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:149)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
解决方法是,安装Hadoop时,修改Hadoop目录下/conf/hadoop-env.sh时,添加HADOOP_CLASSPATH变量覆盖了原有的变量,改成如下的形式即可:
HADOOP_CLASSPATH=
$HADOOP_CLASSPATH:....
红色为添加部分。问题解决。
这样安装的元数据保持在内嵌的数据库Derby中,只能允许一个会话连接,如果要支持多用户多会话,则需要一个独立的元数据库,目前比较流行的是使用MySQL,下面进行配置。
1)安装好MySQL服务器端和MySQL客户端,并启动MySQL服务。
http://wadefall.iteye.com/admin/blogs/1209545
2)为Hive建立相应的MySQL帐号,并赋予足够的权限
进入MySQL控制台:
mysql -uroot -p
建立hive帐号
CREATE USER 'hive' IDENTIFIED BY 'hive';
赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
用hive帐号测试远程登录
mysql -h localhost -u hive -p
3) 建立Hive专用的元数据库
create database hive
4)在本地安装MySQL客户端
5)在Hive的conf目录下修改配置文件hive-site.xml(如果没有该文件,复制hive-default.xml并改名为hive-site.xml),配置文件修改如下,红色部分为修改内容
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?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>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root123</value>
<description>password to use against metastore database</description>
</property>
6)把MySQL的JDBC驱动包(我使用的是mysql-connector-java-5.1.16-bin.jar)复制到Hive的lib目录下。
7)启动Hive shell,执行
show tables;
如果不报错,表明基于独立元数据库的Hive已经安装成功了。
查看一下元数据的效果。
在Hive上建立数据表
CREATE TABLE my(id INT,name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
show tables;
select name from my;
然后我们以刚刚建立的hive帐号登录MySQL查看元数据信息。
引用
mysql> use hive
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+-----------------+
| Tables_in_hive |
+-----------------+
| BUCKETING_COLS |
| COLUMNS |
| DATABASE_PARAMS |
| DBS |
| PARTITION_KEYS |
| SDS |
| SD_PARAMS |
| SEQUENCE_TABLE |
| SERDES |
| SERDE_PARAMS |
| SORT_COLS |
| TABLE_PARAMS |
| TBLS |
+-----------------+
13 rows in set (0.00 sec)
mysql> select * from TBLS;
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
| TBL_ID | CREATE_TIME | DB_ID | LAST_ACCESS_TIME | OWNER | RETENTION | SD_ID | TBL_NAME | TBL_TYPE | VIEW_EXPANDED_TEXT | VIEW_ORIGINAL_TEXT |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
| 1 | 1319445990 | 1 | 0 | hadoop | 0 | 1 | my | MANAGED_TABLE | NULL | NULL |
+--------+-------------+-------+------------------+--------+-----------+-------+----------+---------------+--------------------+--------------------+
1 row in set (0.00 sec)
在TBLS中可以看到Hive表的元数据。
Hive web service,Hive web接口,启动方法:
https://cwiki.apache.org/confluence/display/Hive/HiveWebInterface
export ANT_LIB=$ANT_HOME/lib
hive --service hwi
然后打开http://ip:9999/hwi/就能看到Hive的web页面。
分享到:
相关推荐
spark下安装hive标准配置文档。Ubuntu安装hive,并配置mysql作为元数据库时候需要的标准hive-site.xml配置文件,可以根据这个文件联系我的博文内容就行修改,避免入坑。实现快捷启动hive。
HIVE安装及详解,及测试,该文档版本是1.2+的。。。。。
基于hadoop,进行hive客户端安装与使用
windows10下安装hive2.3.3的时候,无法执行hive命令,原因是官方下载文件中缺少可执行文件(好多个cmd文件),安装的时候无法执行成功。下载后,解压替换hive的bin目录即可执行成功。
记录我的学习之旅,每份文档倾心倾力,带我成我大牛,回头观望满脸笑意,望大家多多给予意见,有问题或错误,请联系 我将及时改正;借鉴文章标明出处,谢谢
在CentOS7中安装Hive1.2.2
Hadoop上安装Hive的压缩包,需先进行解压,解压后文件夹内压缩包即为用到的压缩包,全称为apache-hive-1.2.1-bin.tar.gz
CentOS7.x安装hive.pdf
Hadoop集群上安装Hive并运行一个例子;其中包括一些排错方法:Error: org.apache.hadoop.mapred.JobConf.unset(Ljava/lang/String;)V 以及:FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: ...
第7集:安装配置hive-2.1.1 合计8集: 1、ssh免登陆 2、安装配置jdk1.8 3、安装配置hadoop-2.7.7 4、安装配置mysql-5.5.44 5、安装配置scala-2.11.8 6、安装配置hbase-1.3.6 7、安装配置hive-2.1.1 8、安装配置spark...
最近在虚拟机上安装的hive,本人也在不断学习中,欢迎有问题的同学们多多交流。
要自己先安装jdk和Hadoop,也可以去这里https://download.csdn.net/download/weixin_44033210/12657718,https://download.csdn.net/download/weixin_44033210/12657738,这里有自动安装jdk和Hadoop的脚本
这是安装hive的手册指南,安装hive服务端和hive客户端的详细步骤。
Hadoop伪分布下的hive安装及错误的更改
5.安装hive和mysq完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下 如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行) mysql -uroot -p #(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址...
适用于搭建伪分布的学生用户使用
以下是为Hive的安装执行的简单步骤: 第1步:验证JAVA安装 在Hive安装之前,Java必须在系统上已经安装。使用下面的命令来验证是否已经安装Java。(注:本文档整理自:易百教程 - http://www.yiibai.com/hive/)
1)hive的安装请参考网上的相关文章,测试时只在hadoop一个节点上安装hive即可。 2)测试数据data文件'\t'分隔: 1 zhangsan 2 lisi 3 wangwu 3)将测试数据data上传到linux目录下,我放置在:/home/hadoop01/...