大数据--Hive的安装以及三种交互方式
1.3 Hive的安装(前提是:mysql和hadoop必须已经成功启动了)
在之前博客中我有记录安装JDK和Hadoop和Mysql的过程,如果还没有安装,请先进行安装配置好,对应的随笔我也提供了百度云下载连接。
安装JDK: https://www.cnblogs.com/wyh-study/p/12014368.html
安装Hadoop https://www.cnblogs.com/wyh-study/p/12043948.html
安装Mysql https://www.cnblogs.com/wyh-study/p/12044652.html
(注意:安装mysql的时候一定要确保已经执行 :
1.3.1 上传压缩包并解压
- tar -zxvf apache-hive-1.2.1-bin.tar.gz
1.3.2 修改目录名称
- mv apache-hive-1.2.1-bin hive-1.2.1
1.3.3 备份配置文件
- cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
1.3.4 修改配置hive的配置文件(在conf目录下)
修改hive-env,sh
加入三行内容(大家根据自己的情况来添加,每个人安装路径可能有所不同)
- <! -- 先进入目录下 cd /usr/local/soft/hive-1.2.1/conf
HADOOP_HOME=/usr/local/soft/hadoop-2.7.6
JAVA_HOME=/usr/local/soft/jdk1.8.0_171
HIVE_HOME=/usr/local/soft/hive-1.2.1
修改hive-site.xml (找到对应的键对值进行修改,注意!!!是修改,而不是全部直接复制粘贴)
- <!--数据存储位置就是我们在HDFS上看的目录-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
(注意:修改自己安装mysql的主机地址)
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.40.110:3306/hive?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf8&useSSL=false</value>
</property>
(固定写法,mysql驱动类的位置)
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
(mysql的用户名)
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
(mysql的用户密码)
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
(你的hive安装目录的tmp目录)
<property>
<name>hive.querylog.location</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>
(同上)
<property>
<name>hive.exec.local.scratchdir</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>
(同上)
<property>
<name>hive.downloaded.resources.dir</name>
<value>/usr/local/soft/hive-1.2.1/tmp</value>
</property>
<!--指定这个的时候,为了启动metastore服务的时候不用指定端口-->
<!--hive --service metastore -p 9083 & | hive --service metastore-->
<property>
<name>hive.metastore.uris</name>
<value/>
<description>thrift://master:9083</description>
</property>
修改core-site.xml 直接改,改完重启就行,为后面beeline连接做准备
注意:三个节点上的都要改。
- <!--该参数表示可以通过httpfs接口hdfs的ip地址限制-->
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<!--通过httpfs接口访问的用户获得的群组身份-->
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
1.3.5 拷贝mysql驱动到$HIVE_HOME/lib目录下
- cp /usr/local/soft/mysql-connector-java-5.1.49.jar ../lib/
1.3.6 将hadoop的jline-0.9.94.jar的jar替换成hive的版本。
- cp /usr/local/soft/hive-1.2.1/lib/jline-2.12.jar /usr/local/soft/hadoop-2.7.6/share/hadoop/yarn/lib/
1.3.7 将hive的bin目录配置到环境变量中去
- export HIVE_HOME=/usr/local/soft/hive-1.2.1
export PATH=.:$HIVE_HOME/bin
1.3.8 source命令让环境变量生效
1.3.9 拷贝到其他两个节点中去,因为可能我们会在其他的节点上当作客户端访问hive,注意,也需要配置环境变量,增加驱动jar包,将hadoop的jline-0.9.94.jar的jar替换成hive的版本
- <! -- 先进入目录下 cd /usr/local/soft/
scp -r hive-1.2.1/ node1:`pwd`
scp -r hive-1.2.1/ node2:`pwd`
<! -- 先进入目录下 cd /usr/local/soft/ hadoop-2.7.6/etc/hadoop/
scp core-site.xml node1:`pwd`
<! -- 环境变量也需要配置,这里就直接远程复制,配置完成后source一下
scp /etc/profile node1:/etc/profile
scp /etc/profile node2:/etc/profile
1.3.10 启动
启动hadoop
start-all.sh
启动hive
hive --service metastore
nohup hive --service metastore >/dev/null &
hive
启动HiveServer2
hiveserver2
nohup hiveserver2 >/dev/null &
beeline -u jdbc:hive2://master:10000 -n root
1.4 Hive的三种交互方式
1)第一种交互方式
shell交互Hive,用命令hive启动一个hive的shell命令行,在命令行中输入sql或者命令来和Hive交互。
- 服务端启动metastore服务(后台启动):nohup hive --service metastore > /usr/local/soft/mylogs 2>&1 &
进入命令:hive
退出命令行:quit;
2)第二种交互方式
Hive启动为一个服务器,对外提供服务,其他机器可以通过客户端通过协议连接到服务器,来完成访问操作,这是生产环境用法最多的
- 服务端启动hiveserver2服务:
nohup hive --service metastore >/dev/null &
nohup hiveserver2 >/dev/null &
需要稍等一下,启动服务需要时间:
进入命令:1)先执行: beeline ,再执行: !connect jdbc:hive2://master:10000
2)或者直接执行: beeline -u jdbc:hive2://master:10000 -n root
退出命令行:!exit
第三方连接工具 DBeaver (熊logo)。
3)第三种交互方式
使用 –e 参数来直接执行hql的语句
- bin/hive -e "show databases;"
使用 –f 参数通过指定文本文件来执行hql的语句
特点:执行完sql后,回到linux命令行。
- vim hive.sql
use myhive;
select * from test;
- hive -f hive.sql
4)hive cli和beeline cli的区别
大数据--Hive的安装以及三种交互方式的更多相关文章
- CentOS6安装各种大数据软件 第九章:Hue大数据可视化工具安装和配置
相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...
- zookeeper 安装的三种模式
Zookeeper安装 zookeeper的安装分为三种模式:单机模式.集群模式和伪集群模式. 单机模式 首先,从Apache官网下载一个Zookeeper稳定版本,本次教程采用的是zookeeper ...
- 【转载】C#批量插入数据到Sqlserver中的三种方式
引用:https://m.jb51.net/show/99543 这篇文章主要为大家详细介绍了C#批量插入数据到Sqlserver中的三种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本篇, ...
- 大数据hbase分布式安装及其部署。
大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...
- 大数据之pig安装
大数据之pig安装 1.下载 pig download 2. 解压安装 mapreduce模式安装: 1:设置HADOOP_HOME,如果pig所在节点不是集群中的节点,那就需要把集群中使用的hado ...
- MySQL安装的三种方式
.markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...
- Linux 软件安装的三种方式
Linux 软件安装的三种方式 1.yum 语法格式: yum -y install package.name -y yes # 遇到提示自动输入yes 案例: 安装ifconfig命 ...
- android Service Activity三种交互方式(付源码)(转)
android Service Activity三种交互方式(付源码) Android应用服务器OSBeanthread android Service Binder交互通信实例 最下边有源代码: ...
- Service Activity三种交互方式
Service Activity三种交互方式 2012-09-09 22:52 4013人阅读 评论(2) 收藏 举报 serviceandroidimportclassthreadjava ...
随机推荐
- Linux磁盘分区-mount挂载
Linux磁盘分区类型 磁盘存储术语CHS head:磁头 磁头数=盘面数 track:磁道 磁道=柱面数 sector:扇区,512bytes cylinder:柱面 1柱面=512*secto ...
- 什么是边缘CDN和虚拟CDN (vCDN)?
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 如今CDN有哪些局限性? 现如今,内容和游戏提供商正面临着越来越大的压力,它们需要向最终用户提 ...
- c# SendInput模拟输入字符和按键
介绍: 该程序本意是为了在彩六里打中文用的,现整理出来供大家复制粘贴.(源程序已开源至GitHub - 彩六中文输入) 主要使用SendInput函数,与c语言中用法一致.(部分代码来自网络) 命名空 ...
- js 定时器 Timer
1 /* Timer 定时器 2 3 parameter: 4 func: Function; //定时器运行时的回调; 默认 null 5 speed: Number; //延迟多少毫秒执行一次 f ...
- [CF1073G]LCP问题
题意:给一个长n的字符串S,q组询问,每组给两个集合A,B.求集合A中的点和集合B中的点所有组合情况的lcp的和. 思路: 好像比较常规,可是代码能力差还是调了1.5h.主要还是虚树板子不熟(加入的时 ...
- 配置中心的设计-nacos vs apollo
简介 前面我们分析了携程的 apollo(见 详解apollo的设计与使用),现在再来看看阿里的 nacos. 和 apollo 一样,nacos 也是一款配置中心,同样可以实现配置的集中管理.分环境 ...
- CabloyJS的微信API对接模块:当前支持微信公众号和微信小程序
Cabloy-微信是什么 Cabloy-微信是基于CabloyJS全栈业务开发框架开发的微信接口模块,当前整合了微信公众号和微信小程序的接口,达到开箱即用的使用效果.在Cabloy-微信的基础上,可以 ...
- vivo大规模 Kubernetes 集群自动化运维实践
作者:vivo 互联网服务器团队-Zhang Rong 一.背景 随着vivo业务迁移到K8s的增长,我们需要将K8s部署到多个数据中心.如何高效.可靠的在数据中心管理多个大规模的K8s集群是我们面临 ...
- 2.shell脚本99乘法表
shell脚本99乘法表 [root@localhost data]# vim cf.sh
- 密码学系列之:PKI的证书格式表示X.509
目录 简介 一个证书的例子 X.509证书的后缀 .pem .cer, .crt, .der .p7b, .p7c .p12 .pfx 证书的层级结构和交叉认证 x.509证书的使用范围 总结 简介 ...