IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 大数据基础篇: 二、EC2上部署Hive -> 正文阅读

[大数据]大数据基础篇: 二、EC2上部署Hive

前言:

一、Hive是什么?

Hive是一个运行在Hadoop上的数据仓库工具,它本身并不存储数据,数据是存在HDFS之上,而它提供了一个类似SQL(HiveQL)接口,让使用者可以通过类SQL语句来构建MapReduce任务来读取HDFS上的数据。由于MR的限制,Hive并不适用于做实时查询,它更适合用来做离线分析。Hive 是将数据映射成数据库和表,库和表的元数据信息一般存在关系型数据库上(比如MySQL 或者默认的Derby)。

二、安装步骤

1. 下载安装包并解压

apache官网hive下载地址(这里我选择的版本是1.2.1)
我在master节点上进行操作

# 切换到 hadoop 用户
su hadoop
# 进入 hadoop 用户主目录
cd ~
# 下载
wget https://archive.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz
# 解压
tar -zxvf apache-hive-1.2.1-bin.tar.gz
# 移动到指定文件夹
sudo mv apache-hive-1.2.1-bin /usr/local/hive

如果遵循以上步骤的话,这个时候 /usr/local/hive 路径下的文件的owner应该都是hadoop 则不需要做什么修改了。如果hive文件夹下的用户不是hadoop,则需要运行多一条命令

sudo chown -R hadoop:hadoop /usr/local/hive

2.配置环境变量

编辑~/.bashrc 文件,追加:

export PATH=$PATH:$HIVE_HOME/bin
export HIVE_HOME=/usr/local/hive

运行以下命令让环境变量生效

source ~/.bashrc

3. Hive配置

我的Hive配置位于 /usr/local/hive/conf 路径下

cd /usr/local/hive/conf
# 重命名模板文件,让hive的默认配置生效
mv hive-default.xml.template hive-default.xml
# 新建一个hive-site.xml文件
vim hive-site.xml

hive-site.xml文件中添加内容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	# hive元数据存在指定的mysql数据库
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  # mysql for java驱动,我这里用的是8.x版本的驱动,类名跟低版本的不太一样(低版本的是com.mysql.jdbc.Driver)
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  # hive使用的mysql用户名称和密码
  <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>
</configuration>

4. 安装和配置Mysql

1. 安装mysql

一般而言,都会选择用mysql来存储hive的元数据,因为Derby不支持并发连接,所以实战中不会用它。
这里用最简单的方式

# 安装mysql:
sudo apt-get update  #更新软件源
sudo apt-get install mysql-server  #安装mysql
# 查看mysql的版本
mysql -V  # mysql  Ver 14.14 Distrib 5.7.35, for Linux (x86_64) using  EditLine wrapper

# 查看默认的用户名密码
cd /etc/mysql
sudo cat debian.cnf

我的debian.cnf文件内容为:

# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = 6Omc403SMYZd2lbV
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = 6Omc403SMYZd2lbV
socket   = /var/run/mysqld/mysqld.sock

使用默认的用户名密码登录然后进行操作

# 这里我们用默认的用户名和密码登录
mysql -u debian-sys-maint -p 6Omc403SMYZd2lbV
use mysql;
-- 重置 root 用户密码
update user set authentication_string=PASSWORD("输入密码") where user='root';
update user set plugin="mysql_native_password";
flush privileges;
quit;

下载mysql for java驱动

下载地址
当前(2021-08)最新版是8.0.26 ,可以向下兼容,直接下载。下载到的文件是mysql-connector-java_8.0.26-1ubuntu18.04_all.deb ,因此还需要安装

# 安装驱动
sudo apt install ./mysql-connector-java_8.0.26-1ubuntu18.04_all.deb 
# 驱动位置
cd /usr/share/java  #文件夹下有mysql-connector-java-8.0.26.jar
# 复制驱动到hive的依赖库中
cp mysql-connector-java-8.0.26.jar /usr/local/hive/lib/

 service mysql start #启动mysql服务
 mysql -u root -p  #登陆shell界面
create database hive;
grant all on *.* to hive@localhost identified by 'hive';#将所有数据库的所有表的所有权限赋给hive用户,后面的hive是配置hive-site.xml中配置的连接密码
flush privileges;  #刷新mysql系统权限关系表
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:46:21  更:2021-08-18 12:48:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:30:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码