Hive安装与配置详解

Hive安装与配置详解
hive安装和配置
hive的测试

hive安装和配置
安装
一:下载hive——地址:http://mirror.bit.edu.cn/apache/hive/
在这里插入图片描述

这里以hive-2.1.1为例子,如图:
在这里插入图片描述

将hive解压到/usr/local下:

[root@s100 local]# tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/local/

将文件重命名为hive文件:

 mv apache-hive-2.1.1-bin hive

 修改环境变量/etc/profile:

 #hive
 export HIVE_HOME=/usr/local/hive
 export PATH=$PATH:$HIVE_HOME/bin

执行source /etc.profile:

source /etc.profile:

执行hive --version  可能会报 

Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be in the path

解决方案  

修改    hive/conf/hive-env.sh文件里加下面的内容:

Export HADOOP_HOME=/home/local/hadoop   

 source hive-env.sh

 source hive-env.sh

现在可以执行这个  hive --version 就ok了

修改hive-site.xml:

这里没有,我们就以模板复制一个:  

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

1.配置hive-site.xml(第5点的后面有一个单独的hive-site.xml配置文件,这个如果有疑问可以用后面的配置文件,更容易明白)
主要是mysql的连接信息(在文本的最开始位置)

这里有个坑:

   需要把hive-site.xml中的其他配置信息删除掉,只保留,我们复制的这些信息。

光标 放在  <!-- 到此结束代码 -->  的下一行  

键盘输入   700dd  就会把光标一下的删除掉,  

补齐 多删除掉的  

</configuration>

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
--><configuration>
  <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! -->
  <!-- WARNING!!! Any changes you make to this file will be ignored by Hive.   -->
  <!-- WARNING!!! You must make your changes in hive-site.xml instead.         -->
  <!-- Hive Execution Parameters -->

        <!-- 插入一下代码 -->
    <property>
        <name>javax.jdo.option.ConnectionUserName</name>用户名(这4是新添加的,记住删除配置文件原有的哦!)
        <value>root</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>密码
        <value>123456</value>
    </property>
   <property>
        <name>javax.jdo.option.ConnectionURL</name>mysql
        <value>jdbc:mysql://192.168.1.68:3306/hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>mysql驱动程序
        <value>com.mysql.jdbc.Driver</value>
          <!--这个驱动有变化,这个已经作废提示,请使用 com.mysql.cj.jdbc.Driver-->
    </property>
        <!-- 到此结束代码 -->


  <property>
    <name>hive.exec.script.wrapper</name>
    <value/>
    <description/>
  </property>

MySQL :: Download MySQL Connector/J (Archived Versions)

2.复制mysql的驱动程序到hive/lib下面(这里已经拷贝好了)

[root@s100 lib]# ll mysql-connector-java-5.1.18-bin.jar 
-rw-r--r-- 1 root root 789885 1月   4 01:43 mysql-connector-java-5.1.18-bin.jar

3.在mysql中hive的schema(在此之前需要创建mysql下的hive数据库)初始化schema信息

需要确保你的mysql 放开远程连接的权限。

# 使用mysql数据库
use mysql;
# 查看系统表
show tables;
# 查看系统用户表
select * from user;
# 设置允许任意远程访问
update user set host = '%' where user = 'root';
# 刷新内存中的权限,就不用重启mysql服务了
flush PRIVILEGES;

1 [root@s100 bin]# pwd
    2 /usr/local/hive/bin
    3 [root@s100 bin]# schematool -dbType mysql -initSchema

4.执行hive命令

[root@localhost hive]# hive

成功进入hive界面,hive配置完成
5.查询mysql(hive这个库是在 schematool -dbType mysql -initSchema 之前创建的!)

   1 [root@localhost ~]# mysql -uroot -p123456
     2 Welcome to the MySQL monitor.  Commands end with ; or \g.
     3 Your MySQL connection id is 10
     4 Server version: 5.1.73 Source distribution
     5 
     6 Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
     7 
     8 Oracle is a registered trademark of Oracle Corporation and/or its
     9 affiliates. Other names may be trademarks of their respective
    10 owners.
    11 
    12 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    13 
    14 mysql> use hive
    15 Reading table information for completion of table and column names
    16 You can turn off this feature to get a quicker startup with -A
    17 
    18 Database changed
    19 mysql> show tables;
    20 +---------------------------+
    21 | Tables_in_hive            |
    22 +---------------------------+
    23 | AUX_TABLE                 |
    24 | BUCKETING_COLS            |
    25 | CDS                       |
    26 | COLUMNS_V2                |
    27 | COMPACTION_QUEUE          |
    28 | COMPLETED_COMPACTIONS     |


备注 (这里不计入正文不要重复配置hive-site.xml)
配置文件hive-site.xml
这里不得不说一下,如果你的 schematool -dbType mysql -initSchema 并没有执行成功怎么办,小博主昨天在这卡了一天,最后根据伟大的百度和hive官方文档,直接写了一个hive-site.xml配置文本:
 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://localhost:3306/hahive</value>(mysql地址localhost)
        </property>

        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>(mysql的驱动)
                <value>com.mysql.jdbc.Driver</value>
        </property>

        <property>
                <name>javax.jdo.option.ConnectionUserName</name>(用户名)
                <value>root</value>
        </property>

        <property>
                <name>javax.jdo.option.ConnectionPassword</name>(密码)
                <value>123456</value>
        </property>

        <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>
</configuration>

那我们做这些事干什么的呢,下面小段测试大家感受一下
hive测试:
备注:这里是第二个配置文件的演示:所以数据库名称是hahive数据库!
1.需要知道现在的hadoop中的HDFS存了什么

[root@localhost conf]# hadoop fs -lsr /

2.进入hive并创建一个测试库和测试表

[root@localhost conf]# hive

创建库:

1 hive> create database hive_1;
2 OK
3 Time taken: 1.432 seconds
 显示库:
1 hive> show databases;
2 OK
3 default
4 hive_1
5 Time taken: 1.25 seconds, Fetched: 2 row(s)

创建库成功!
3.查询一下HDFS有什么变化

 多了一个库hive_1

1	mysql> use hahive;

4.在hive_1下创建一个表hive_01
HDFS下的情况:

 Mysql截图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值