TT Bigdata TT Bigdata
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)

JaneTTR

数据酿造智慧,每一滴都是沉淀!
首页
  • 部署专题

    • 常规安装
    • 一键部署
  • 组件安装

    • 常规&高可用
  • 版本专题

    • 更新说明
  • Ambari-Env

    • 环境准备
    • 开始使用
  • 组件编译

    • 专区—Ambari
    • 专区—Bigtop
  • 报错解决

    • 专区—Ambari
    • 专区—Bigtop
  • 其他技巧

    • Maven镜像加速
    • Gradle镜像加速
    • Bower镜像加速
    • 虚拟环境思路
    • R环境安装+一键安装脚本
    • Ivy配置私有镜像仓库
    • Node.js 多版本共存方案
    • Ambari Web本地启动
    • Npm镜像加速
    • PostgreSQL快速安装
    • Temurin JDK 23快速安装
  • 成神之路

    • 专区—Ambari
    • 专区—Bigtop
  • 集成案例

    • Redis集成教学
    • Dolphin集成教学
    • Doris集成教学
    • 持续整理...
  • 模板代码

    • 各类组件
    • 通用模板
  • 国产化&其他系统

    • Centos系列
    • Kylin系列
    • OpenEuler系列
    • Rocky系列
    • Ubuntu系列
  • 生产调优

    • 组件调优指南
    • 1v1指导调优
  • 定制开发

    • 组件版本定制
    • 样式风格定制
  • 蓝图愿景
  • 技术支持
  • 合作共建
GitHub (opens new window)
  • 最小化安装

  • 高可用安装(有难度)

    • Zookeeper
    • Hadoop-Namenode
    • Yarn-ResourceManager
    • Hive
      • 基于 Ambari 安装 Hive 高可用
        • 方案一:安装时直接选择高可用
        • 方案二:安装后通过添加服务实现高可用
        • 1. 等待服务启动并遇到报错
        • 2. 解决方案:重启服务
        • 方案二的配置流程
        • 1. 回到首页,选择节点并添加服务
        • 2. 安装 Metastore 服务
        • 3. 安装 HiveServer2 服务
        • 4. 重启 Hive 组件
      • 配置 HDFS 高可用
        • 1. 修改 HDFS 配置
        • 2. 重启所有组件
      • 验证高可用配置
    • Hbase
    • Kafka
    • DolphinScheduler
    • Redis
    • Doris
    • Celeborn
    • Ozone
  • 组件安装
  • 高可用安装(有难度)
JaneTTR
2023-03-02
目录

Hive

# 基于 Ambari 安装 Hive 高可用

# 方案一:安装时直接选择高可用

在 Hive 的安装过程中,第一种方案是直接在安装时选择高可用配置。此方案非常适合于从一开始就设置高可用模式。

提示

注: 对于这种配置方式,具体的安装流程不再赘述,请参考本站其他文章了解更多关于 Hive 安装的详细内容。

选择高可用安装模式

# 方案二:安装后通过添加服务实现高可用

如果你选择了安装简版的 Hive,而后又需要配置高可用,可以按照以下步骤进行:

# 1. 等待服务启动并遇到报错

由于 Ambari 在默认安装过程中没有初始化多节点的 Hive schema,可能会在启动时遇到错误。

启动报错

错误信息:

0: jdbc:mysql://hadoop1/hive> CREATE TABLE IF NOT EXISTS `COLUMNS_V2` ( `CD_ID`  
bigint(20) NOT NULL, `COMMENT` varchar(256) CHARACTER SET latin1 COLLATE latin1_ 
bin DEFAULT NULL, `COLUMN_NAME` varchar(767) CHARACTER SET latin1 COLLATE latin1 
_bin NOT NULL, `TYPE_NAME` MEDIUMTEXT DEFAULT NULL, `INTEGER_IDX` int(11) NOT NU 
LL, PRIMARY KEY (`CD_ID`,`COLUMN_NAME`), KEY `COLUMNS_V2_N49` (`CD_ID`), CONSTRA 
INT `COLUMNS_V2_FK1` FOREIGN KEY (`CD_ID`) REFERENCES `CDS` (`CD_ID`) ) ENGINE=I 
nnoDB DEFAULT CHARSET=latin1
No rows affected (0.01 seconds)
0: jdbc:mysql://hadoop1/hive> /*!40101 SET character_set_client = @saved_cs_clie 
nt */
No rows affected (0.001 seconds)
0: jdbc:mysql://hadoop1/hive> /*!40101 SET @saved_cs_client     = @@character_se 
t_client */
No rows affected (0.001 seconds)
0: jdbc:mysql://hadoop1/hive> /*!40101 SET character_set_client = utf8 */
No rows affected (0 seconds)
0: jdbc:mysql://hadoop1/hive> CREATE TABLE IF NOT EXISTS `DATABASE_PARAMS` ( `DB 
_ID` bigint(20) NOT NULL, `PARAM_KEY` varchar(180) CHARACTER SET latin1 COLLATE  
latin1_bin NOT NULL, `PARAM_VALUE` varchar(4000) CHARACTER SET latin1 COLLATE la 
tin1_bin DEFAULT NULL, PRIMARY KEY (`DB_ID`,`PARAM_KEY`), KEY `DATABASE_PARAMS_N 
49` (`DB_ID`), CONSTRAINT `DATABASE_PARAMS_FK1` FOREIGN KEY (`DB_ID`) REFERENCES 
 `DBS` (`DB_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
No rows affected (0.01 seconds)
0: jdbc:mysql://hadoop1/hive> /*!40101 SET character_set_client = @saved_cs_clie 
nt */
No rows affected (0 seconds)
0: jdbc:mysql://hadoop1/hive> CREATE TABLE `CTLGS` ( `CTLG_ID` BIGINT PRIMARY KE 
Y, `NAME` VARCHAR(256), `DESC` VARCHAR(4000), `LOCATION_URI` VARCHAR(4000) NOT N 
ULL, UNIQUE KEY `UNIQUE_CATALOG` (`NAME`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 
Error: Table 'CTLGS' already exists (state=42S01,code=1050)
Closing: 0: jdbc:mysql://hadoop1/hive
org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!
Underlying cause: java.io.IOException : Schema script failed, errorcode 2
org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!
	at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:594)
	at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:567)
	at org.apache.hive.beeline.HiveSchemaTool.main(HiveSchemaTool.java:1517)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:236)
Caused by: java.io.IOException: Schema script failed, errorcode 2
	at org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:1226)
	at org.apache.hive.beeline.HiveSchemaTool.runBeeLine(HiveSchemaTool.java:1204)
	at org.apache.hive.beeline.HiveSchemaTool.doInit(HiveSchemaTool.java:590)
	... 8 more
*** schemaTool failed ***
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

# 2. 解决方案:重启服务

为了解决该问题,你需要重启所有 Hive 组件。可以通过回到首页并选择 重启服务 来完成。

重启服务

# 方案二的配置流程

# 1. 回到首页,选择节点并添加服务

点击 Hosts,选择一个没有安装过 HiveServer2 和 Metastore 的节点,在本例中,我们选择了 hadoop1 节点。

选择节点

# 2. 安装 Metastore 服务

在该节点上点击 ADD,然后选择 Metastore 服务进行安装。

选择Metastore服务

# 3. 安装 HiveServer2 服务

接着,选择 HiveServer2 并进行安装。

安装进度

# 4. 重启 Hive 组件

安装完毕后,回到首页并重启所有 Hive 组件。

重启Hive服务

# 配置 HDFS 高可用

在配置 Hive 高可用时,还需要稍微调整 HDFS 的一些配置,确保访问权限和数据安全。

# 1. 修改 HDFS 配置

点击 HDFS > Configs,然后在 Custom core-site 中找到 hadoop.proxyuser.hive.hosts,将其值修改为 *,允许 Hive 访问 HDFS。

修改HDFS配置

# 2. 重启所有组件

最后,点击 Stop All,然后等待所有组件重新启动。

停止所有组件

# 验证高可用配置

完成所有配置和重启后,Hive 的高可用环境应该已经准备好。验证时,我们可以观察到以下现象:

  • Metastore 和 HiveServer2 将不再报错。
  • 不再有连接不上端口的问题。
  • 所有 Hive 组件正常运行。

验证效果

#Hive#HiveServer2#Metastore#高可用
Yarn-ResourceManager
Hbase

← Yarn-ResourceManager Hbase→

最近更新
01
Pandoc 缺失导致 SparkR 构建失败
06-08
02
Cyrus SASL/GSASL 缺失解决
06-07
03
Hadoop_3.3.4 编译实战 1.0.0+
06-06
更多文章>
Theme by Vdoing | Copyright © 2017-2025 JaneTTR | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式