Hive安装

1、下载解压

http://archive.cloudera.com/cdh5/cdh/5/
这里以hive-1.1.0-cdh5.16.1版本为例,hive对应hadoop版本请参考hive官网,需注意版本不兼容的问题

tar -xvf hive-1.1.0-cdh5.16.1.tar.gz

2、配置

2.1、配置环境变量

vi ~/.bash_profile

添加如下内容

export HIVE_HOME=/opt/modules/hive-1.1.0-cdh5.16.1
export PATH=$PATH:$HIVE_HOME/bin

保存退出,执行source命令,将环境变量生效

source ~/.bash_profile

查看是否配置成功

hive --version

出现以下结果,表明环境配置成功

Hive 1.1.0-cdh5.16.1
Subversion file:///data/jenkins/workspace/generic-binary-tarball-and-maven-deploy/CDH5.16.1-Packaging-Hive-2017-11-09_08-08-07/hive-1.1.0-cdh5.16.1 -r Unknown
Compiled by jenkins on Thu Nov 9 08:20:30 PST 2017
From source with checksum a07ce805880f1ad3d4f92b623df89745

2.2、配置hive-site.xml

创建存放hive临时文件目录 (本地目录)

mkdir -p /data/hive/tmp

进入${HIVE_HOME}/conf目录

cp hive-default.xml.template hive-site.xml
vim hive-site.xml

将原来的值修改为相应的mysql对应信息

	<!--mysql连接地址-->
   <property>
        <name>javax.jdo.option.ConnectionURL</name>mysql
        <value>jdbc:mysql://192.168.11.203:3306/hive?useSSL=false</value>
    </property>
    <!--驱动程序-->
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <!--用户名-->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
    </property>
    <!--密码-->
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
    </property>    

2.3、配置hive-env.sh

 cp hive-env.sh.template hive-env.sh

修改下面两个配置

HADOOP_HOME=/opt/modules/hadoop-2.6.0-cdh5.16.1
export HIVE_CONF_DIR=/opt/modules/hive-1.1.0-cdh5.16.1/conf

2.4 复制Jar包

复制mysql驱动Jar包至${HIVE_HOME}/lib目录
查看是否复制成功

cd /opt/modules/hive-1.1.0-cdh5.16.1/lib
ll mysql-connector-java-5.1.40-bin.jar

3、验证

查看配置是否正常

hive

如果出现下面异常

Exception in thread "main" 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:659)
	at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:582)
	at org.apache.hadoop.hive.ql.session.SessionState.beginStart(SessionState.java:549)
	at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:750)
	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:686)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
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:1823)
	at java.net.URI.<init>(URI.java:745)
	at org.apache.hadoop.fs.Path.initialize(Path.java:203)
	... 12 more

解决方案:

mkdir -p /data/hive/tmp

将配置文件hive-site.xml里面包含:
${system:java.io.tmpdir} 全部替换为 /data/hive/tmp
{system:user.name} 全部替换为 {user.name}

再次执行查看是否正常

hive

在这里插入图片描述
进入hive,表明安装成功

4、初始化Mysql

进入配置连接的mysql,新建数据库hive

5、初始化hive

执行下面命令初始化数据库

schematool -dbType mysql -initSchema

完成后打开hive数据库,会发现多了很多表
在这里插入图片描述

6、测试

启动meta-metastore

hive --service metastore &

启动hive客户端

hive
hive> create database hive_1;
OK
Time taken: 2.192 seconds
hive> show databases;

HDFS下的情况:
在这里插入图片描述
mysql下的情况:
在这里插入图片描述
在hive_1下面新建一张表

hive> show databases;
OK
default
hive_1
Time taken: 0.31 seconds, Fetched: 2 row(s)
hive> use hive_1;
OK
Time taken: 0.024 seconds
hive> create table hive_01 (id int,name string);
OK
Time taken: 1.665 seconds
hive> show tables;
OK
hive_01
Time taken: 0.085 seconds, Fetched: 1 row(s)

HDFS下的情况:
在这里插入图片描述
Mysql下的情况:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值