ubuntu18.04搭建hive
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
0 hadoop搭建
在搭建hive之前,要保证hadoop搭建完成,hadoop教程可以参考这篇文章 ubuntu18.04下hadoop搭建https://blog.csdn.net/qq_41822647/article/details/84451416

1 下载并配置Hive
1.1 下载Hive
在apache官网下载hive包,这里下载的是hive-1.2.2版本 https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
下载好后解压hive包

然后将解压包移动到/usr/local/hive下,移之前首先在/usr/local下创建名为hive文件夹
$ sudo mkdir /usr/local/hive
移动hive包到/usr/local/hive目录下

1.2 配置环境变量
$ sudo vi /etc/profile
增加如下配置:
export HIVE_HOME=/usr/local/hive/apache-hive-1.2.2-bin
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/hive/apahe-hive-1.2.2-bin/lib
更新环境变量
$ source /etc/profile
1.3 配置hive-env.s h
进入目录下,
/usr/local/hive/apache-hive-1.2.1-bin/conf
首先新建一个空文件hive-env.sh:
$ touch hive-env.sh
接着
$ cp hive-env.sh.template hive-env.sh
$ vi hive-env.sh
添加hadoop的路径,如下:
HADOOP_HOME=/usr/local/hadoop/hadoop-2.9.2
(以下所有配置均在该路径下。)
1.4 配置hive-site.xml
仍然,首先新建文件hive-site.xml
$ touch hive-site.xml
接着
$ cp hive-default.xml.template hive-site.xml
$ vi hive-site.xml
增加mysql数据库的连接配置:
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
修改临时文件夹的路径,找到以下两个位置,并修改为正确路径:
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/renziteng/iotmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/renziteng/iotmp</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
我的用户名是renziteng,所以在该路径下,新建了iotmp文件夹,并授权:
$ mkdir -p /home/renziteng/iotmp
$ chmod -R 775 /home/renziteng/iotmp
1.5 修改hive-config.sh
进入目录:/usr/local/hive/apache-hive-1.2.2-bin/bin
sudo vi hive-config.sh
在该文件的最前面添加以下内容:
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.9.2
export HIVE_HOME=/usr/local/hive/apache-hive-1.2.2-bin
2 安装并配置mysql
2.1 安装MySQL Server
在命令行输入sudo apt-get install mysql-server即可安装。
2.2 下载MySQL JDBC驱动器
去mysql官网找GA version下载


下载完后解压
tar -zxvf mysql-connector-java-5.1.47.tar.gz
然后进入解压后的目录,把jar包复制到/usr/local/hive/apache-hive-1.2.2-bin/lib/下
$ cp mysql-connector-java-5.1.40-bin.jar /usr/local/hive/apache-hive-1.2.2-bin/lib
2.3 在HDFS中创建目录和设置权限
启动hadoop,在hadoop中创建hive需要用到的目录并设置权限。
$ start-all.sh #启动hadoop
$ hadoop fs -mkdir /tmp
$ hadoop fs -mkdir -p /user/hive/warehouse
$ hadoop fs -chmod g+w /tmp
$ hadoop fs -chmod g+w /user/hive/warehouse
2.4 初始化meta数据库
进入/usr/local/hive/apache-hive-1.2.2-bin/lib目录,初始化Hive元数据对应的MySQL数据库:
schematool -initSchema -dbType mysql
2.5 启动Hive
启动hive前,确保hadoop集群启动
$ start-all.sh
$ hive
这样就成功了!!
from:https://blog.csdn.net/qq_41822647/article/details/84503869
ubuntu18.04搭建hive的更多相关文章
- ubuntu18.04搭建NFS服务器
系统环境: NFS服务器操作系统: ubuntu18.04 server lts NFS服务器IP: 192.168.1.164 注: NFS服务器 指的是 待安装 NFS服务 的机器(物理机或者虚 ...
- ubuntu18.04 搭建scrapy环境(连环踩坑+解决办法)
---恢复内容开始--- 预期需求: 打算搭建scrapy环境,基于python3.x的 环境描述: ubuntu18.04自带了python3.6,打算在虚拟环境vlenv中跑scrapy,装好虚拟 ...
- ubuntu18.04搭建 kubernetes(k8s)集群
下面使用kubeadm来创建k8s cluster1. 所有主机节点上都需要安装docker # sudo apt-get update # sudo apt-get install \ apt-tr ...
- Ubuntu18.04搭建测试环境
前言 说一下我的情况,之前由于我的云服务器数据库的root账号密码123456太简单,而在之前的博客中也泄露出了我的云服务器的IP地址,导致有人远程连接我的数据库,删除了项目数据库里的数据只剩下WAR ...
- ubuntu18.04搭建nfs
1.服务端安装 #apt-get update -y #apt-get install -y nfs-kernel-server #apt-get enable nfs-kernel-server 2 ...
- Ubuntu18.04搭建nodejs环境
首先安装sudo apt install curl 然后安装命令(当前最新版本是0.33.2,最新版本可以在https://github.com/creationix/nvm查看): curl -o- ...
- Ubuntu18.04 搭建zookeeper单机版集群
一台电脑启动三个虚拟机比较折腾,这里就用一台虚拟机模拟一下zk集群. 1.后台下载安装包到 /opt目录 sudo wget -b http://archive.apache.org/dist/zoo ...
- 虚拟机VMware15 Ubuntu18.04 搭建FTP服务器
1.安装vsftpd sudo apt install vsftpd 2.查看是否安装成功,出现版本等信息即成功 sudo vsftpd -v 3.添加ftp用户 sudo useradd -m su ...
- Ubuntu18.04下搭建LAMP环境
一.Apache2 web 服务器的安装 : 可以先更新一下服务器 1.sudo apt-get update # 获取最新资源包 2.sudo apt-get upgrade ...
随机推荐
- java nginx等代理或网关转发请求后获取客户端的ip地址,原理
在没有网关或者反向代理软件情况下,java里获取客户端ip地址的方法是request.getRemoteAddr() 先解释下http协议和TCP协议: 网页默认是进行http连接了,http协议即超 ...
- Docker最全教程——从理论到实战(七)
在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...
- 痞子衡嵌入式:飞思卡尔i.MX RT系列MCU特性介绍(3)- 命名规则
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是飞思卡尔i.MX RT系列MCU的命名规则. 打开任何一款i.MX RT系列芯片的Data Sheet均可找到如下命名规则表,以i.MX ...
- javascript基础修炼(3)—What's this(下)
开发者的javascript造诣取决于对[动态]和[异步]这两个词的理解水平. 这一期主要分析各种实际开发中各种复杂的this指向问题. 一. 严格模式 严格模式是ES5中添加的javascript的 ...
- [PHP] 按位与& 或| 异或^ 的日常使用
按位与:0&0=0; 0&1=0; 1&0=0; 1&1=1;按位或:0|0=0: 0|1=1: 1|0=1: 1|1=1;按位异或,在或的基础上1 1也为0:0^0= ...
- 【开源】SpringBoot&Netty实现仿微信网页版项目更新
阅读本文约“2.3分钟” 项目更新啦!V1.3.0 还记得那个聊天室的小项目吗? SpringBoot 加 Netty 实现聊天室 没错,这次已经完整进行了版本的替换,酥酥聊天室! 基于原项目的改动, ...
- Java 由浅入深GUI编程实战练习(二)
一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...
- ASP.NET Core介绍
认识ASP.NET Core ASP.NET Core是一个跨平台,高性能,开源的框架,用于构建现代,基于云的网络应用程序,使用ASP.NET Core可以实现: 开发web应用,服务,IoT应用和移 ...
- HTML5跳转页面并传值以及localStorage的用法
1.首先,你得在那个页面把数据存入localStorage中吧.这个是必须的! localStorage.setItem("user",JSON.stringify(data.al ...
- C#网络请求与JSON解析
最新学校的海康摄像头集控平台(网页端)不能在win10里登录,我寻思着拿海康的c# demo直接改. 首先得解决权限问题,每个教师任教不同年级,只能看到自己所在年级的设备,涉及到登录,在此记录一下C# ...