【hadoop】15、hive安装

Hive的介绍和安装

Hive是什么

Hive是一个数据仓库,使用sql脚本就可以了

Hive包含几个引擎

解释器,编译器,优化器等

接触hive

首先我们进入到相应的官方文档中,接触hive的命令使用https://cwiki.apache.org/confluence/display/Hive/LanguageManual

然后我们打开命令行的模式

usage: hive

 -d,--define <key=value>          Variable substitution to apply to hive
                                  commands. e.g. -d A=B or --define A=B
 -e <quoted-query-string>         SQL from command line
 -f <filename>                    SQL from files
 -H,--help                        Print help information
 -h <hostname>                    Connecting to Hive Server on remote host
    --hiveconf <property=value>   Use value for given property
    --hivevar <key=value>         Variable substitution to apply to hive
                                  commands. e.g. --hivevar A=B
 -i <filename>                    Initialization SQL file
 -p <port>                        Connecting to Hive Server on port number
 -S,--silent                      Silent mode in interactive shell
 -v,--verbose                     Verbose mode (echo executed SQL to the
                                  console)

这个SQL并不是我们数据库中使用的SQL而是hive中的SQL只是类似数据库中的SQL

开始安装hive

安装好hadoop

首先我们得安装好hadoop才可以

安装hive

解压我hive压缩包

建立软链

进行配置

吧 hive-default.xml.template拷贝一下,改名字为hive-site.xml

我们还得配置一下hadoop的环境变量

配好之后修改一下相应的hive-site.xml文件

由于我们使用的是hive1.2比较新,所以请参考启动hive报错2

使用一下hive

异常:

1、启动hive时候报异常

Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
    at org.apache.hadoop.fs.Path.initialize(Path.java:206)
    at org.apache.hadoop.fs.Path.<init>(Path.java:172)
    at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:563)
    at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508)
    ... 7 more
Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
    at java.net.URI.checkPath(URI.java:1804)
    at java.net.URI.<init>(URI.java:752)
    at org.apache.hadoop.fs.Path.initialize(Path.java:203)
    ... 10 more

解决办法:

解决方案如下:

1.查看hive-site.xml配置,会看到配置值含有”system:java.io.tmpdir”的配置项

2.新建文件夹/home/grid/hive-0.14.0-bin/iotmp

3.将含有”system:java.io.tmpdir”的配置项的值修改为如上地址

启动hive,成功!

2、启动hive时报错2

[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    at jline.TerminalFactory.create(TerminalFactory.java:101)
    at jline.TerminalFactory.get(TerminalFactory.java:158)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
    at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
    at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
    at org.apache.hadoop.hive.cli.CliDriver.setupConsoleReader(CliDriver.java:787)
    at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:721)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:681)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

解决办法:

原因是hadoop目录下存在老版本jline:

/hadoop-2.5.2/share/hadoop/yarn/lib:

-rw-r–r– 1 root root 87325 Mar 10 18:10 jline-0.9.94.jar

解决方法是:

将hive下的新版本jline的JAR包拷贝到hadoop下:

cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./

/hadoop-2.5.2/share/hadoop/yarn/lib:

-rw-r–r– 1 root root 87325 Mar 10 18:10 jline-0.9.94.jar.bak

-rw-r–r– 1 root root 213854 Mar 11 22:22 jline-2.12.jar

http://www.mamicode.com/info-detail-516526.html

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

时间: 2024-09-30 18:31:23

【hadoop】15、hive安装的相关文章

Spark、Hadoop、Hive安装学习

1.Hive安装 http://blog.csdn.net/an342647823/article/details/46048403 2.Hadoop安装 http://www.itnose.net/detail/6182168.html 3.Spark安装 http://stark-summer.iteye.com/blog/2173219 http://ju.outofmemory.cn/entry/177769

hadoop(十) - hive安装与自定义函数

一. Hive安装 Hive只在一个节点上安装即可 1. 上传tar包 2. 解压 tar -zxvf hive-0.9.0.tar.gz -C /cloud/ 3. 配置mysql metastore(切换到root用户) 3.1 配置HIVE_HOME环境变量 3.2 安装mysql 查询以前安装的mysql相关包: rpm -qa | grep mysql 暴力删除这个包: rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps 安装mysql: rp

Hadoop之Hive 安装

1.  Hive mysql的metastore安装准备 把hive-0.12.0.tar.gz解压到/zzy/ # tar -zxvf hive-0.12.0.tar.gz -C /zzy    (-C 指定解包后的路径) 修改/etc/profile文件,将hive加入环境变量 # vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_79 export HADOOP_HOME=/itcast/hadoop-2.4.1 export HIV

windows环境下安装hadoop,hive的使用案例

Hadoop安装: 首先到官方下载官网的hadoop2.7.7,链接如下 https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ 找网盘的hadooponwindows-master.zip 链接如下 https://pan.baidu.com/s/1VdG6PBnYKM91ia0hlhIeHg 把hadoop-2.7.7.tar.gz解压后 使用hadooponwindows-master的bin和etc替换hadoop2.7.7的

Hadoop那些事儿(五)---Hive安装与配置

我在安装Hive的过程中遇到了好多问题,捣鼓了好久,所以下面的有些操作可能不是必要的操作. 1.配置YARN YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度.YARN 运行于 MapReduce 之上,提供了高可用性.高扩展性. 伪分布式环境不启动YARN也可以,一般不影响程序运行,所以在前边的Hadoop安装与配置中没有配置YARN. 我在安装Hive的过程中,由于一个异常牵扯到了yarn下的jar,所以我觉得还是有必要先把yarn配置一下(这步可能不是必要的) 找到

Hadoop学习之第七章节:Hive安装配置

环境要求: mysql hadoop hive版本为:apache-hive-1.2.1-bin.tar 1.设置hive用户 进入mysql命令行,创建hive用户并赋予所有权限: mysql -uroot -proot mysql>create user 'hive' identified by 'hive'; mysql>grant all on *.* TO 'hive'@'%' with grant option; mysql>flush privileges; 2.创建hiv

Hadoop - Hive 安装文档

简介: Hive 安装文档 https://mirrors.tuna.tsinghua.edu.cn/apache/hive/stable-2/apache-hive-2.1.1-bin.tar.gz 一.安装 MySQL # http://www.cnblogs.com/wangxiaoqiangs/p/5336048.html # 我是安装在了 master.hadoop 上,该数据库是为了保存 Hive 的元数据信息,可以随意安装在别处! shell > mysql mysql> cre

【原】centos6.5下hadoop cdh4.6 安装

1.架构准备: namenode 10.0.0.2 secondnamenode 10.0.0.3 datanode1 10.0.0.4 datanode2 10.0.0.6 datanode3 10.0.0.11 2.安装用户:cloud-user 3.[namenode]namenode到其他节点ssh无密码登录: ssh-keygen     (一路回车) ssh-copy-id [email protected]3 ssh-copy-id [email protected]4 ssh-c

Hive安装与部署集成mysql

前提条件: 1.一台配置好hadoop环境的虚拟机.hadoop环境搭建教程:稍后补充 2.存在hadoop账户.不存在的可以新建hadoop账户安装配置hadoop. 安装教程: 一.Mysql安装 1.安装mysql命令:Yum install mysql-server -y (-y参数作用为所有需要输入yes的地方默认yes) 2.打开mysql服务:Service mysqld start 3.设置mysql服务开机自启动(也可以不设置,开机手动启动):chkconfig –add my