Hive环境准备[重点学习]

1.前提启动hadoop集群

hadoop在统一虚拟机中已经配置了环境变量

启动hdfs和yarn集群

命令:start-all.sh

shell 复制代码
[root@node1 /]# start-all.sh

启动mr历史服务

命令:mapred --daemon start historyserver

shell 复制代码
[root@node1 /]# mapred --daemon start historyserver

检查服务

命令:jps

shell 复制代码
[root@node1 /]# jps
5109 JobHistoryServer

结果是:端口号 对应服务名

例如:5109 JobHistoryServer

2.配置Hive环境变量

回顾shell脚本执行方式

方式1: sh 脚本 注意: 需要进入脚本所在目录,但脚本有没有执行权限不影响执行

方式2: ./脚本 注意: 需要进入脚本所在目录,且脚本必须有执行权限

方式3: /绝对路径/脚本 注意: 不需要进入脚本所在目录,但必须有执行权限

方式4: 脚本 注意: 需要配置环境变量(大白话就是把脚本所在路径共享,任意位置都能直接访问)

注意: hive在统一虚拟机中没有配置环境变量,可以下面步骤配置

配置环境变量

shell 复制代码
[root@node1 /]# vim /etc/profile

在profile文件末尾添加(小技巧G+o快速定位到最后)

export HIVE_HOME=/export/server/apache-hive-3.1.2-bin

export PATH= P A T H : PATH: PATH:HIVE_HOME/bin:$HIVE_HOME/sbin

shell 复制代码
[root@node1 /]# source /etc/profile

最后建议关机拍摄下快照

3.先启动hive服务

后台启动metastore服务: nohup hive --service metastore &

后台启动hiveserver2服务: nohup hive --service hiveserver2 &

查看metastore和hiveserver2进程是否启动: jps 注意: 服务名都叫RunJar,可以通过进程编号区分

服务启动需要一定时间可以使用lsof查看: lsof -i:10000 注意: 如果无内容继续等待,如果有内容代表启动成功

powershell 复制代码
[root@node1 bin]# nohup hive --service metastore &
[1] 13490
nohup: 忽略输入并把输出追加到"nohup.out" 回车

[root@node1 bin]# nohup hive --service hiveserver2 &
[2] 13632
nohup: 忽略输入并把输出追加到"nohup.out" 回车


[root@node1 bin]# jps
13490 RunJar
13632 RunJar


[root@node1 bin]# 
[root@node1 apache-hive-3.1.2-bin]# lsof -i:10000
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    18804 root  520u  IPv6 266172      0t0  TCP *:ndmp (LISTEN)

4.再连接hive服务

一代客户端连接命令: hive 注意: hive直接连接成功,直接可以编写sql语句

二代客户端连接命令: beeline 注意: 以后建议用二代客户端

二代客户端远程连接命令: !connect jdbc:hive2://node1:10000

注意: hive用户名是root 密码为空

一代客户端示例:
shell 复制代码
[root@node1 /]# hive
...
hive> show databases;
OK
default
Time taken: 0.5 seconds, Fetched: 1 row(s)
hive> exit;
二代客户端示例:
shell 复制代码
[root@node1 /]# beeline

# 先输入!connect jdbc:hive2://node1:10000连接
beeline> !connect jdbc:hive2://node1:10000

# 再输入用户名root,密码不用输入直接回车即可
Enter username for jdbc:hive2://node1:10000: root
Enter password for jdbc:hive2://node1:10000:

# 输入show databases;查看表
0: jdbc:hive2://node1:10000> show databases;
INFO  : Concurrency mode is disabled, not creating a lock manager
+----------------+
| database_name  |
+----------------+
| default        |
+----------------+
1 row selected (1.2 seconds)
相关推荐
●VON8 小时前
Flutter for OpenHarmony 21天训练营 Day03 总结:从学习到输出,迈出原创第一步
学习·flutter·openharmony·布局·技术
香芋Yu8 小时前
【大模型教程——第四部分:大模型应用开发】第1章:提示工程与上下文学习 (Prompt Engineering & ICL)
学习·prompt
LYS_06188 小时前
寒假学习10(HAL库1+模数电10)
学习
runningshark8 小时前
【项目】示波器学习与制作
学习
€8118 小时前
Java入门级教程24——Vert.x的学习
java·开发语言·学习·thymeleaf·数据库操作·vert.x的路由处理机制·datadex实战
自可乐9 小时前
n8n全面学习教程:从入门到精通的自动化工作流引擎实践指南
运维·人工智能·学习·自动化
深蓝海拓9 小时前
PySide6从0开始学习的笔记(二十六) 重写Qt窗口对象的事件(QEvent)处理方法
笔记·python·qt·学习·pyqt
星火开发设计11 小时前
C++ 预处理指令:#include、#define 与条件编译
java·开发语言·c++·学习·算法·知识
BackCatK Chen11 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
深蓝海拓12 小时前
PySide6从0开始学习的笔记(二十五) Qt窗口对象的生命周期和及时销毁
笔记·python·qt·学习·pyqt