在Linux操作系统的ECS实例上安装Hive

目录

  • [1. 完成hadoop安装配置](#1. 完成hadoop安装配置)
  • [2. 安装配置MySql](#2. 安装配置MySql)
  • [3. 安装Hive](#3. 安装Hive)
  • [4. 配置元数据到MySQL](#4. 配置元数据到MySQL)
  • [5. hiveserver2服务](#5. hiveserver2服务)

1. 完成hadoop安装配置

在Linux操作系统的ECS实例上安装hadoop

  1. 以上已安装并配置完jdk、hadoop
  2. 也搭建了伪分布集群

2. 安装配置MySql

安装

下下一步初始化Hive元数据库时,遇到报错前一天两三小时没解决,问题定位在mysql,次日打算重装

linux卸载mysql8重装5

配置

  1. 登录mysql
  2. 设置root远程连接
clike 复制代码
use mysql
select user, host from user;
update user set host="%" where user="root";
select user, host from user;
flush privileges;
create database metastore; # 准备下一步配置元数据到MySQL
exit

3. 安装Hive

  1. hive阿里云镜像:https://mirrors.aliyun.com/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
  2. 用wget 下载
clike 复制代码
wget https://mirrors.aliyun.com/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
  1. 我解压hive安装包至/opt/hive
clike 复制代码
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/
mv /opt/apache-hive-3.1.2-bin /opt/hive
  1. 加上hive环境变量
clike 复制代码
echo 'export HIVE_HOME=/opt/hive/' >> /etc/profile
echo 'export PATH=$PATH:$HIVE_HOME/bin' >> /etc/profile
source /etc/profile    

hive --version
  1. 初始化 Hive 的元数据存储结构
clike 复制代码
schematool -dbType derby -initSchema

先测试下,后面改完hive与mysql的相关配置后再-dbType mysql

4. 配置元数据到MySQL

  1. 拷贝JDBC
clike 复制代码
cp mysql-connector-java-5.1.49.jar $HIVE_HOME/lib
  1. 添加hive配置文件
clike 复制代码
vi $HIVE_HOME/conf/hive-site.xml
clike 复制代码
		 <!--指定Hive元数据存储的JDBC连接URL -->
		<property>
           <name>javax.jdo.option.ConnectionURL</name>
           <value>jdbc:mysql://localhost:3306/metastore?useSSL=false</value>
        </property>
        
 		 <!--指定JDBC驱动程序的名称,mysql5这么写-->
        <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>
        
		<!--指定Hive数据仓库的默认位置-->
		 <property>
	              <name>hive.metastore.warehouse.dir</name>
	              <value>/user/hive/warehouse</value>
        </property>
        <!--指定连接MySQL数据库的密码-->
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>sql密码</value>
        </property>
  1. 采用MySQL存储元数据
clike 复制代码
schematool -dbType mysql -initSchema -verbose

这步真的遇到很多问题,就到处看帖子把和我报错信息一样的都拿来试试...实在不行就重装咯毕竟不懂什么底层逻辑...

  1. 使用hive
clike 复制代码
hive> show databases;
hive> show tables;
hive> create table stu(id int, name string);
hive> insert into stu values(1,"ss");
hive> select * from stu;

5. hiveserver2服务

作用:开启用户模拟访问Hadoop集群数据

配置文件

配置访问hadoop的权限

clike 复制代码
vi $HADOOP_HOME/etc/hadoop/core-site.xml
clike 复制代码
	<property>
		<name>hadoop.proxyuser.root.hosts</name>
		<value>*</value>
	</property>
	<property>
		<name>hadoop.proxyuser.root.users</name>
		<value>*</value>
	</property>

hiveserver2连接的ip

clike 复制代码
vi $HIVE_HOME/conf/hive-site.xml
clike 复制代码
<!-- 指定hiveserver2连接的host -->
<property>
	<name>hive.server2.thrift.bind.host</name>
	<value>主机名</value>
</property>

<!-- 指定hiveserver2连接的端口号 -->
<property>
	<name>hive.server2.thrift.port</name>
	<value>10000</value>
</property>

测试

  1. 启动hiveserver2
clike 复制代码
hive --service hiveserver2
  1. 再打开个ssh连接窗口
clike 复制代码
beeline -u jdbc:hive2://主机名:10000 -n root
  1. DataGrip连接
    创建hive连接

    输入服务器ip、端口号、数据库用户名、数据库密码,第一次连提示缺少JDBC驱动,直接点击下载

连接成功:

ps:连接失败有可能因为ECS安全组没加10000

相关推荐
不会就选b9 小时前
Linux之进程间通信(二)---模拟进程池
linux·运维·服务器
沫璃染墨11 小时前
《从零入门Linux系统篇(十五):系统工具篇·六——GDB调试器详解:从程序执行控制到高级调试技巧》
linux·运维·服务器·c语言·c++
AIgorithmGEEK12 小时前
Linux 环境变量完全指南:从入门到理解底层原理
linux·运维·服务器
酷可达拉斯13 小时前
Linux操作系统-升级OpenSSH修复漏洞
linux·运维·服务器·云计算
初禾w-w13 小时前
阿里云开源 UModel 并发起 USS 倡议:构建企业级通用语义标准,重塑 AI 交互底座
人工智能·阿里云·开源·企业ai·对象图语义·语义割裂
Molesidy13 小时前
【Linux】基于busybox的根文件系统的完善
linux·服务器·嵌入式linux
jufeng130716 小时前
【系列:MiniKV 原理剖析 · 第 6 篇】
linux·软件工程·个人开发·makefile
IT摆渡者17 小时前
ubuntu系统网络问题
linux·运维·ubuntu
jufeng130717 小时前
【系列:MiniKV 原理剖析 · 第 5 篇】
linux·网络·c++·软件工程
kdxiaojie17 小时前
Linux 驱动研究 —— SDIO (1)
linux·运维·笔记·学习·sdio