我是靠谱客的博主 无语烧鹅,最近开发中收集的这篇文章主要介绍Ubuntu14.04+Hive-2.3.2环境搭建0. 安装Mysql并创建hive用户1. 安装Hadoop2. 下载必要文件并解压3. 配置环境变量4. 配置Hive相关文件5. 初始化6. 启动Hive并简单测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

0. 安装Mysql并创建hive用户

运行以下命令

sudo apt-get install mysql-server

使用root用户进入mysql后,执行以下语句。红色部分视自己意愿修改

create user 'hive'@'%' identified by 'hive';

账号名为hive,’%’表示允许任何访问,密码为hive。

grant all privileges on *.* to 'hive'@'%' identified by 'hive';

赋予所有权限给hive用户,.表示所有数据库的所有表

flush privileges;

立刻生效

exit;

1. 安装Hadoop

详细步骤请参考以下文章

已经搭建好的可以跳过此步

Ubuntu搭建Hadoop2.6.5(伪分布式)

2. 下载必要文件并解压

Hive-2.3.2下载地址

将其解压到自定义的目录

mysql-connector-java-5.1.24-bin.jar

将mysql-connector-java-5.1.24-bin.jar移动到$HIVE_HOME/lib目录下

mv mysql-connector-java-5.1.24-bin.jar $HIVE_HOME/lib

3. 配置环境变量

export HIVE_HOME=/opt/hive  #更换成自己hive所在目录
export PATH=$HIVE_HOME/bin:$PATH

并执行以下命令使环境变量生效

source /etc/profile

4. 配置Hive相关文件

4.1. 配置hive-env.sh文件

将$HIVE_HOME/conf下的hive-env.sh.template拷贝为hive-env.sh

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

编辑hive-env.sh

vim hive-env.sh

找到并修改以下内容,红色部分视自己情况修改

……
# Set HADOOP_HOME to point to a specific hadoop install directory HADOOP_HOME= /opt/hadoop        #HADOOP_HOME的目录 # Hive Configuration Directory can be controlled by: export HIVE_CONF_DIR= /opt/hive/conf         #Hive的配置文件目录 ……

4.2. 配置hive-site.xml文件

将$HIVE_HOME/conf下的hive-default.xml.template拷贝为hive-site.xml

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

编辑hive-site.xml

vim hive-site.xml

找到并修改以下内容,红色部分视自己情况修改

<property>
        <name>hive.metastore.warehouse.dir</name>
        <value>hdfs://master:9000/hive/warehouse</value>
        <description>仓库路径</description>
</property>
<property>
        <name>hive.exec.scratchdir</name>
        <value>hdfs://master:9000/hive/scratchdir</value>
        <description>HDFS路径,用于存储不同 map/reduce 阶段的执行计划和这些阶段的中间输出结果</description>
</property>
<property>
        <name>hive.querylog.location</name>
        <value>/opt/hive/logs</value>
        <description>Hive 实时查询日志所在的目录,如果该值为空,将不创建实时的查询日志</description>
</property>
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
        <description>元数据库的连接 URL</description>
</property>
<property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.jdbc.Driver</value>
        <description>元数据库的连接驱动</description>
</property>
<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>hive</value>
        <description>元数据库的访问用户名</description>
</property>
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
        <description>元数据库的访问用户密码</description>
</property>

5. 初始化

运行以下命令对schema进行初始化

schematool -dbType mysql -initSchema

成功后会打印

Metastore connection URL: jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
Metastore Connection Driver : com.mysql.jdbc.Driver
Metastore connection User: hive
Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.mysql.sql
Initialization script completed
schemaTool completed

6. 启动Hive并简单测试

6.1. 启动Hive

运行命令

hive

进入hive CLI,光标会变成hive>

6.2. 数据库操作

列出所有数据库

show databases;

运行结果

hive> show databases;
OK
default
Time taken: 6.057 seconds, Fetched: 1 row(s)

default是hive默认的仓库

插入数据

hive> use default;
hive> create table test_table(id String);
hive> INSERT INTO test_table (id) VALUES ('1');

运行之后会开始执行MapReduce程序
我们在master:8088可以看到以下信息

Job的Name就是我们所执行的SQL语句

查询数据

hive> select * from test_table;
OK
1
Time taken: 0.249 seconds, Fetched: 1 row(s)

count操作

我们在插入一条数据后再测试count函数

运行语句

select count(id) from test_table;

Hive已经将SQL语句翻译成MR程序并执行完毕了

运行结果

Hadoop job information for Stage-1: number of mappers: 1; number of reducers: 1
2018-03-12 11:01:40,585 Stage-1 map = 0%, reduce = 0%
2018-03-12 11:01:48,994 Stage-1 map = 100%, reduce = 0%, Cumulative CPU 1.41 sec
2018-03-12 11:01:56,345 Stage-1 map = 100%, reduce = 100%, Cumulative CPU 3.07 sec
MapReduce Total cumulative CPU time: 3 seconds 70 msec
Ended Job = job_1520846535169_0003
MapReduce Jobs Launched:
Stage-Stage-1: Map: 1 Reduce: 1 Cumulative CPU: 3.07 sec HDFS Read: 7718 HDFS Write: 101 SUCCESS
Total MapReduce CPU Time Spent: 3 seconds 70 msec
OK
2
Time taken: 25.635 seconds, Fetched: 1 row(s)

以上就是Hive on Hadoop的环境搭建。

 

最后

以上就是无语烧鹅为你收集整理的Ubuntu14.04+Hive-2.3.2环境搭建0. 安装Mysql并创建hive用户1. 安装Hadoop2. 下载必要文件并解压3. 配置环境变量4. 配置Hive相关文件5. 初始化6. 启动Hive并简单测试的全部内容,希望文章能够帮你解决Ubuntu14.04+Hive-2.3.2环境搭建0. 安装Mysql并创建hive用户1. 安装Hadoop2. 下载必要文件并解压3. 配置环境变量4. 配置Hive相关文件5. 初始化6. 启动Hive并简单测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部