Ubuntu14.04+Hive-2.3.2环境搭建

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的环境搭建。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值