hive的详细解释以及安装与配置

一、hive简介
Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
最初,Hive是由Facebook开发,后来由Apache软件基金会开发,并作为进一步将它作为名义下Apache Hive为一个开源项目。Hive 没有专门的数据格式。 Hive 可以很好的工作在 Thrift 之上,控制分隔符,也允许用户指定数据格式。Hive不适用于在线事务处理。 它最适用于传统的数据仓库任务。
Hive 构建在基于静态批处理的Hadoop 之上,Hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,Hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,Hive 在几百MB 的数据集上执行查询一般有分钟级的时间延迟。因此,
Hive 并不适合那些需要低延迟的应用,例如,联机事务处理(OLTP)。Hive 查询操作过程严格遵守Hadoop MapReduce 的作业执行模型,Hive 将用户的HiveQL 语句通过解释器转换为MapReduce 作业提交到Hadoop 集群上,Hadoop 监控作业执行过程,然后返回作业执行结果给用户。Hive 并非为联机事务处理而设计,Hive 并不提供实时的查询和基于行级的数据更新操作。Hive 的最佳使用场合是大数据集的批处理作业,例如,网络日志分析。
二、hive的特点

  1. 通过SQL轻松访问数据的工具,从而实现数据仓库任务(如提取/转换/加载(ETL),报告和数据分析)。
  2. 一种对各种数据格式施加结构的机制
  3. 访问直接存储在Apache HDFS或其他数据存储系统(如Apache HBase)中的文件
  4. 通过Apache Tez,Apache Spark或MapReduce执行查询
  5. 程序语言与HPL-SQL
  6. 通过Hive LLAP,Apache YARN和Apache Slider进行亚秒级查询检索

三、安装配置

  1. 解压安装:
[root@master hadoop]# ls
hadoop-2.6.0-cdh5.14.2.tar.gz  hadoop-native-64-2.6.0.tar  hive-1.1.0-cdh5.14.2.tar.gz  zookeeper-3.4.5-cdh5.14.2.tar.gz
[root@master hadoop]# tar -zxf hive-1.1.0-cdh5.14.2.tar.gz -C /opt/bigdata/hadoop/
[root@master hadoop]# cd /opt/bigdata/hadoop/
[root@master hadoop]# ls
hadoop260  hive-1.1.0-cdh5.14.2  zk345.tar.gz  zookeeper  zookeeper345
[root@master hadoop]# mv hive-1.1.0-cdh5.14.2/ hive110
[root@master hadoop]# ls
hadoop260  hive110  zk345.tar.gz  zookeeper  zookeeper345

2、新建hive-site.xml文件
------------ thrift => rpc -----------------#
ipc => 同节点进程之间函数调用
rpc => 不同节点进程之间函数调用(微服的核心)
#thrift通过一个中间语言IDL(接口定义语言)来定义RPC的数据类型和接口,这些内容写在以.thrift结尾的文件中,
#然后通过特殊的编译器来生成不同语言的代码,以满足不同需要的开发者,比如java开发者,就可以生成java代码,c++开发者可以生成c++代码,
#生成的代码中不但包含目标语言的接口定义,方法,数据类型,还包含有RPC协议层和传输层的实现代码
[root@vwmaster conf]# vi hive-site.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/opt/bigdata/hadoop/hive110/warehouse</value>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>mysql
    <value>jdbc:mysql://20.0.0.100:3306/hive110?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>root</value>
  </property>

将mysql-java驱动拷贝到 hive110/lib中
[root@vwmaster lib]# cp /opt/install/hadoop/mysql-connector-java-5.1.38.jar ./

hive环境变量
export HIVE_HOME=/opt/bigdata/hadoop/hive110
export PATH= P A T H : PATH: PATH:HIVE_HOME/bin
重启环境变量:[root@master bin]# source /etc/profile
问题重新授权
org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
hdfs dfs -chmod 777 /path/file
3、进入mysql检查存活
在这里插入图片描述
4、初始化hive
cd bin/
./schematool -dbType mysql -initSchema
初始化失败:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
解决方法:

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> update user set password=password('root') where user='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 5  Changed: 1  Warnings: 0
#刷新权限 mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> Ctrl-C -- exit!
[root@master conf]# service mysql restart

5、启动hive访问hiveserver
[root@vwmaster bin]# ./hive

hive2数据库启动:
nohup hiveserver2 > /dev/null 2>&1 &
beeline -u jdbc:hive2://192.168.72.166:10000

[root@master bin]# nohup hiveserver2 > /dev/null 2>&1 &
[2] 7281
[root@master bin]# jps
6976 RemoteInterpreterServer
5969 NodeManager
5603 JournalNode
5284 NameNode
5845 ResourceManager
1909 -- process information unavailable
5145 QuorumPeerMain
6281 ZeppelinServer
5387 DataNode
7067 RunJar
5756 DFSZKFailoverController
7391 Jps
[2]+  Exit 255                nohup hiveserver2 > /dev/null 2>&1
[root@master bin]# beeline -u jdbc:hive2://192.168.72.166:10000
which: no hbase in (/opt/bigdata/hadoop/hive110/bin:/opt/bigdata/hadoop/zookeeper345/bin:/opt/bigdata/hadoop/zookeeper345/sbin:/opt/bigdata/hadoop/hadoop260/bin:/opt/bigdata/hadoop/hadoop260/sbin:/opt/bigdata/java/jdk180/bin:/opt/bigdata/java/tomcat85/bin:/opt/bigdata/elk/node811/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
scan complete in 1ms
Connecting to jdbc:hive2://192.168.72.166:10000
Connected to: Apache Hive (version 1.1.0-cdh5.14.2)
Driver: Hive JDBC (version 1.1.0-cdh5.14.2)
Transaction isolation: TRANSACTION_REPEATABLE_READ
Beeline version 1.1.0-cdh5.14.2 by Apache Hive
0: jdbc:hive2://192.168.72.166:10000>
启动完成:网页验证192.168.72.xxx:8000,nn1/nn2一个active一个standy表示成功
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值