Hive部署安装
Posted VV大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive部署安装相关的知识,希望对你有一定的参考价值。
上一篇文章:,我们搭建了HBase集群,今天要我们要部署安装Hive 2.1.1,就让我们开始吧~
先来简单介绍一下Hive
Hive是基于hadoop构建的一套数据仓库分析系统
它提供了丰富SQL查询方式来分析存储在HDFS中的数据
可以将SQL语句转换为Mapreduce任务进行运行
通过自己的SQL去查询分析需要的内容,这套SQL简称Hive SQL
使不熟悉MapReduce的用户很方便地利用SQL语言查询、汇总、分析数据
准备工作
1.安装好Hadoop集群,并开启HDFS
还没有安装Hadoop集群的小伙伴,可以看一下VV的文章:
2.Hive软件包:apache-hive-2.1.1-bin.tar.gz
3.mysql Connector:mysql-connector-java-5.1.36.jar
4.其他工具:X-shell、WinScp
为了节省大家时间!VV整理好了本篇文章所用的软件包和工具!
想要更多大数据学习资料吗?赶快关注吧
默认情况下,Hive元数据存储在默认的Derby 数据库中,只能允许一个会话连接,只适合简单的测试
为了支持多用户多会话,则需要一个独立的元数据库,所以,我们使用MySQL作为元数据库
1.安装mysq
查看本系统是否安装mysql,显示只有一个mysql类库,并没有安装mysql
[root@louisvv01 ~]# rpm -qa|grep mysql mysql-libs-5.1.73-8.el6_8.x86_64 |
2.使用yum安装mysql-server
[root@louisvv01 ~]# yum install mysql-server Installed: mysql-server.x86_64 0:5.1.73-8.el6_8 |
3.安装成功后,将mysql设置为开机自启
[root@louisvv01 ~]# chkconfig mysqld on |
4.启动mysql
启动mysql成功后,我们根据下方的提示,给root用户设置一个密码,然后登陆
[root@louisvv01 ~]# /usr/bin/mysqladmin -u root password '123' [root@louisvv01 ~]# mysql -u root -p123 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 7 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> |
mysql远程登录授权
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) |
创建hive数据库,退出
mysql> create database hive; Query OK, 1 row affected (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | hive | | mysql | | test | +--------------------+ 4 rows in set (0.00 sec) mysql> exit Bye |
Hive仅在一台节点上安装即可。
1.使用Winscp软件将Hive软件包apache-hive-2.1.1-bin.tar.gz上传到 louisvv01节点的 /opt目录下
2.解压apache-hive-2.1.1-bin.tar.gz,并重命名
[root@louisvv01 opt]# tar -zxf apache-hive-2.1.1-bin.tar.gz [root@louisvv01 opt]# mv apache-hive-2.1.1-bin hive-2.1.1 |
3.配置环境变量
#hive env export HIVE_HOME=/opt/hive-2.1.1 export PATH=:$PATH::$HIVE_HOME/bin: [root@louisvv01 hive-2.1.1]# source /etc/profile |
4.修改配置文件
[root@louisvv01 opt]# cd /opt/hive-2.1.1/ [root@louisvv01 hive-2.1.1]# cd conf/ |
将template初始化配置文件,复制一份
[root@louisvv01 conf]# cp hive-env.sh.template hive-env.sh [root@louisvv01 conf]# cp hive-default.xml.template hive-site.xml |
修改hive-env.sh文件,添加如下内容
[root@louisvv01 conf]# vim hive-env.sh export JAVA_HOME=/opt/jdk1.8.0_91 export HADOOP_HOME=/opt/hadoop-2.7.3 export HIVE_DIR=/opt/hive-2.1.1 export HIVE_CONF_DIR=/opt/hive-2.1.1/conf |
修改hive-site.xml文件
删除所有配置项,并添加如下内容:
<configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://louisvv01:3306/hive?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <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>123</value> </property> </configuration> |
别忘了使用winscp将mysql-java-connector包上传到$HIVE_HOME/lib下
5.启动Hive
Hive2.1.1的启动,需要先执行schematool命令进行初始化
[root@louisvv01 hive-2.1.1]# schematool -dbType mysql -initSchema Metastore connection URL: jdbc:mysql://louisvv01:3306/hive?createDatabaseIfNotExist=true Metastore Connection Driver : com.mysql.jdbc.Driver Metastore connection User: root Starting metastore schema initialization to 2.1.0 Initialization script hive-schema-2.1.0.mysql.sql Initialization script completed schemaTool completed |
可在mysql中查看hive元数据信息表
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | hive | | mysql | | test | +--------------------+ 4 rows in set (0.01 sec) mysql> use hive mysql> show tables; +---------------------------+ | Tables_in_hive | +---------------------------+ | AUX_TABLE | | BUCKETING_COLS | | CDS | | COLUMNS_V2 | | COMPACTION_QUEUE | | COMPLETED_COMPACTIONS | | COMPLETED_TXN_COMPONENTS | | DATABASE_PARAMS | | DBS | | DB_PRIVS | | DELEGATION_TOKENS | | FUNCS | | FUNC_RU | | GLOBAL_PRIVS | | HIVE_LOCKS | | IDXS | | INDEX_PARAMS | | KEY_CONSTRAINTS | | MASTER_KEYS | | NEXT_COMPACTION_QUEUE_ID | | NEXT_LOCK_ID | | NEXT_TXN_ID | | NOTIFICATION_LOG | | NOTIFICATION_SEQUENCE | | NUCLEUS_TABLES | | PARTITIONS | | PARTITION_EVENTS | | PARTITION_KEYS | | PARTITION_KEY_VALS | | PARTITION_PARAMS | | PART_COL_PRIVS | | PART_COL_STATS | | PART_PRIVS | | ROLES | | ROLE_MAP | | SDS | | SD_PARAMS | | SEQUENCE_TABLE | | SERDES | | SERDE_PARAMS | | SKEWED_COL_NAMES | | SKEWED_COL_VALUE_LOC_MAP | | SKEWED_STRING_LIST | | SKEWED_STRING_LIST_VALUES | | SKEWED_VALUES | | SORT_COLS | | TABLE_PARAMS | | TAB_COL_STATS | | TBLS | | TBL_COL_PRIVS | | TBL_PRIVS | | TXNS | | TXN_COMPONENTS | | TYPES | | TYPE_FIELDS | | VERSION | | WRITE_SET | +---------------------------+ 57 rows in set (0.00 sec) |
进入hive shell
[root@louisvv01 hive-2.1.1]# hive hive> |
下面就来测试一下hive好不好用吧
查看数据库 hive> show databases; OK default Time taken: 1.344 seconds, Fetched: 1 row(s) 创建名为test的数据库 hive> create database test; OK Time taken: 0.443 seconds 再次查看数据库,刚才创建好的test库已存在 hive> show databases; OK default test Time taken: 0.062 seconds, Fetched: 2 row(s) 使用test库 hive> use test; OK Time taken: 0.072 seconds 创建一张表people(默认为内部表),表中有三个字段,name,age,blog,声明分隔符为 \t hive> create table people(name String,age bigint,blog String) row format delimited fields terminated by '\t'; OK Time taken: 0.589 seconds |
在louisvv01本地有一个数据文件,内容如下,将该文件上传到HDFS上
[root@louisvv01 ~]# cat test.txt louisvv 18 www.louisvv.com why 17 blog.whysdomain.com/blog/ pqt 16 www.qt7mira.com [root@louisvv01 ~]# hadoop fs -put test.txt / [root@louisvv01 ~]# hadoop fs -ls / Found 4 items drwxr-xr-x - root supergroup 0 2017-12-07 16:59 /hbase -rw-r--r-- 3 root supergroup 83 2017-12-11 15:58 /test.txt drwx------ - root supergroup 0 2017-12-11 15:42 /tmp drwxr-xr-x - root supergroup 0 2017-12-11 15:50 /user |
下面,在hive中加载数据文件
hive> load data inpath '/test.txt' into table people; Loading data to table test.people OK Time taken: 1.405 seconds 查看people表中的信息 hive> select * from people; OK louisvv 18 www.louisvv.com why 17 blog.whysdomain.com/blog/ pqt 16 www.qt7mira.com Time taken: 2.141 seconds, Fetched: 3 row(s) |
到此,我们的Hive搭建成功!
感谢您的支持,记得点赞和关注哦!
有什么想看的内容,可在下方留言哦!
END
►
►
►
►
►
►
►
以上是关于Hive部署安装的主要内容,如果未能解决你的问题,请参考以下文章