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 上传压缩包并解压

  1. tar -zxvf apache-hive-1.2.1-bin.tar.gz

1.3.2 修改目录名称

  1. mv apache-hive-1.2.1-bin hive-1.2.1

1.3.3 备份配置文件

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

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

1.3.4 修改配置hive的配置文件(在conf目录下)

修改hive-env,sh

加入三行内容(大家根据自己的情况来添加,每个人安装路径可能有所不同)

  1. <! -- 先进入目录下  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 (找到对应的键对值进行修改,注意!!!是修改,而不是全部直接复制粘贴)

  1. <!--数据存储位置就是我们在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&amp;useUnicode=true&amp;characterEncoding=utf8&amp;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连接做准备

注意:三个节点上的都要改。

  1. <!--该参数表示可以通过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目录下

  1. cp /usr/local/soft/mysql-connector-java-5.1.49.jar ../lib/

1.3.6 将hadoop的jline-0.9.94.jar的jar替换成hive的版本。

  1. 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目录配置到环境变量中去

  1. 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的版本

  1. <! -- 先进入目录下 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交互。

  1. 服务端启动metastore服务(后台启动):nohup hive --service metastore > /usr/local/soft/mylogs 2>&1 &
    进入命令:hive
    退出命令行:quit;

2)第二种交互方式

Hive启动为一个服务器,对外提供服务,其他机器可以通过客户端通过协议连接到服务器,来完成访问操作,这是生产环境用法最多的

  1. 服务端启动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的语句

  1. bin/hive -e "show databases;"

使用 –f 参数通过指定文本文件来执行hql的语句

特点:执行完sql后,回到linux命令行。

  1. vim hive.sql

    use myhive;
    select * from test;
  1. hive -f hive.sql

4)hive cli和beeline cli的区别

大数据--Hive的安装以及三种交互方式的更多相关文章

  1. CentOS6安装各种大数据软件 第九章:Hue大数据可视化工具安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. zookeeper 安装的三种模式

    Zookeeper安装 zookeeper的安装分为三种模式:单机模式.集群模式和伪集群模式. 单机模式 首先,从Apache官网下载一个Zookeeper稳定版本,本次教程采用的是zookeeper ...

  3. 【转载】C#批量插入数据到Sqlserver中的三种方式

    引用:https://m.jb51.net/show/99543 这篇文章主要为大家详细介绍了C#批量插入数据到Sqlserver中的三种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本篇, ...

  4. 大数据hbase分布式安装及其部署。

    大数据hbase分布式安装及其部署. 首先要启动Hadoop以及zookeeper,可以参考前面发布的文章. 将hbase的包上传至master节点 这里我使用的是1.3.6的版本,具体的根据自己的版 ...

  5. 大数据之pig安装

    大数据之pig安装 1.下载 pig download 2. 解压安装 mapreduce模式安装: 1:设置HADOOP_HOME,如果pig所在节点不是集群中的节点,那就需要把集群中使用的hado ...

  6. MySQL安装的三种方式

    .markdown-preview:not([data-use-github-style]) { padding: 2em; font-size: 1.2em; color: rgb(171, 178 ...

  7. Linux 软件安装的三种方式

    Linux 软件安装的三种方式 1.yum ​ 语法格式: ​ yum -y install package.name ​ -y yes # 遇到提示自动输入yes ​ 案例: 安装ifconfig命 ...

  8. android Service Activity三种交互方式(付源码)(转)

    android Service Activity三种交互方式(付源码) Android应用服务器OSBeanthread  android Service Binder交互通信实例 最下边有源代码: ...

  9. Service Activity三种交互方式

    Service Activity三种交互方式 2012-09-09 22:52 4013人阅读 评论(2) 收藏 举报 serviceandroidimportclassthreadjava     ...

随机推荐

  1. Linux磁盘分区-mount挂载

    Linux磁盘分区类型 磁盘存储术语CHS head:磁头  磁头数=盘面数 track:磁道  磁道=柱面数 sector:扇区,512bytes cylinder:柱面 1柱面=512*secto ...

  2. 什么是边缘CDN和虚拟CDN (vCDN)?

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 如今CDN有哪些局限性? 现如今,内容和游戏提供商正面临着越来越大的压力,它们需要向最终用户提 ...

  3. c# SendInput模拟输入字符和按键

    介绍: 该程序本意是为了在彩六里打中文用的,现整理出来供大家复制粘贴.(源程序已开源至GitHub - 彩六中文输入) 主要使用SendInput函数,与c语言中用法一致.(部分代码来自网络) 命名空 ...

  4. js 定时器 Timer

    1 /* Timer 定时器 2 3 parameter: 4 func: Function; //定时器运行时的回调; 默认 null 5 speed: Number; //延迟多少毫秒执行一次 f ...

  5. [CF1073G]LCP问题

    题意:给一个长n的字符串S,q组询问,每组给两个集合A,B.求集合A中的点和集合B中的点所有组合情况的lcp的和. 思路: 好像比较常规,可是代码能力差还是调了1.5h.主要还是虚树板子不熟(加入的时 ...

  6. 配置中心的设计-nacos vs apollo

    简介 前面我们分析了携程的 apollo(见 详解apollo的设计与使用),现在再来看看阿里的 nacos. 和 apollo 一样,nacos 也是一款配置中心,同样可以实现配置的集中管理.分环境 ...

  7. CabloyJS的微信API对接模块:当前支持微信公众号和微信小程序

    Cabloy-微信是什么 Cabloy-微信是基于CabloyJS全栈业务开发框架开发的微信接口模块,当前整合了微信公众号和微信小程序的接口,达到开箱即用的使用效果.在Cabloy-微信的基础上,可以 ...

  8. vivo大规模 Kubernetes 集群自动化运维实践

    作者:vivo 互联网服务器团队-Zhang Rong 一.背景 随着vivo业务迁移到K8s的增长,我们需要将K8s部署到多个数据中心.如何高效.可靠的在数据中心管理多个大规模的K8s集群是我们面临 ...

  9. 2.shell脚本99乘法表

    shell脚本99乘法表 [root@localhost data]# vim cf.sh

  10. 密码学系列之:PKI的证书格式表示X.509

    目录 简介 一个证书的例子 X.509证书的后缀 .pem .cer, .crt, .der .p7b, .p7c .p12 .pfx 证书的层级结构和交叉认证 x.509证书的使用范围 总结 简介 ...