阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装

本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建。

本地模式需要采用MySQL数据库存储数据。

1 环境介绍

2 安装 Mysql

CentOS参照: Linux下安装mysql完整教程

Ubuntu参照:Ubuntu安装MySQL

3 Hive 下载

下载 apache-hive-2.3.6-bin.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为:

/usr/local

将解压得到的目录改名为 hive

1 cd /usr/local
2 mv apache-hive-2.3.6-bin/ hive/

4 添加 Hive 环境变量

在"/etc/profile"中添加内容:

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

重新加载环境:

source /etc/profile

5 修改 Hive 配置信息

1 cd $HIVE_HOME/conf
2 # 新建 hive-site.xml 文件, 或者复制已有的 hive-default.xml.templat 模版
3 vim hive-site.xml 

配置可参考如下代码:

 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 3 <configuration>
 4   <property>
 5     <name>javax.jdo.option.ConnectionURL</name>
 6     <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
 7     <description>JDBC connect string for a JDBC metastore</description>
 8   </property>
 9   <property>
10     <name>javax.jdo.option.ConnectionDriverName</name>
11     <value>com.mysql.jdbc.Driver</value>
12     <description>Driver class name for a JDBC metastore</description>
13   </property>
14   <property>
15     <name>javax.jdo.option.ConnectionUserName</name>
16     <value>root</value>
17     <description>username to use against metastore database</description>
18   </property>
19   <property>
20     <name>javax.jdo.option.ConnectionPassword</name>
21     <value>password</value>
22     <description>password to use against metastore database</description>
23   </property>
24 </configuration>

6 配置Mysql

6.1 为 Hive 添加 mysql 连接器

下载 mysql-connector-java-5.1.47.tar.gz 并解压至 $HIVE_HOME/lib 下

tar -zxvf mysql-connector-java-5.1.47.tar.gz -C $HIVE_HOME/lib

6.2 启动并登陆 mysql shell

1 service mysql start
2 mysql -uroot -p

6.3 配置 mysql 允许 hive 接入:

1 # 将所有数据库的所有表的所有权限赋给 root 用户
2 grant all on *.* to root@localhost;
3 # 刷新mysql系统权限关系表
4 flush privileges;

7 启动 Hive

启动 hive 之前,确保已启动 HDFS 和 YARN。

1 start-all.sh
2 hive

在启动Hive时,有可能会出现Hive metastore database is not initialized的错误,这里给出解决方案。
解决Hive启动,Hive metastore database is not initialized的错误。出错原因:以前曾经安装了Hive或MySQL,重新安装Hive和MySQL以后,导致版本、配置不一致。解决方法是,使用schematool工具。Hive现在包含一个用于 Hive Metastore 架构操控的脱机工具,名为 schematool.此工具可用于初始化当前 Hive 版本的 Metastore 架构。此外,其还可处理从较旧版本到新版本的架构升级。所以,解决上述错误,你可以在终端执行如下命令:

schematool -dbType mysql -initSchema

执行后,再启动Hive,应该就正常了。

上述出自 http://dblab.xmu.edu.cn/blog/1080-2/

启动进入Hive的交互式执行环境以后,输入 show databases 会先显示如下

hive> show databases;
OK
default
Time taken: 7.312 seconds, Fetched: 1 row(s)

8 安装完成

原文地址:https://www.cnblogs.com/RansonDu/p/11915436.html

时间: 2024-10-03 16:01:20

阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装的相关文章

阿里云ECS服务器部署HADOOP集群(五):Pig 安装

本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop:hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz Pig: pig-0.17.0.tar.gz 2 Pig 下载 下载 pig-0.17.0.tar.gz 并在合适的位置解压缩,笔者这里解压缩的路径为: /usr/local 将解压得到的目录改

阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装

本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper) 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建 阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装 的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop:hadoop-2.7.3.tar

阿里云ECS服务器部署HADOOP集群(六):Flume 安装

本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop:hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz Flume:apache-flume-1.8.0-bin.tar.gz 2 Flume 下载 下载 apache-flume-1.8.0-bin.tar.gz 并在合适的位置解压缩,笔者这里解压

阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建

本篇将在阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建的基础上搭建,多添加了一个 datanode 节点 . 1 节点环境介绍: 1.1 环境介绍: 服务器:三台阿里云ECS服务器:master, slave1, slave2 操作系统:CentOS 7.3 Hadoop:hadoop-2.7.3.tar.gz Java: jdk-8u77-linux-x64.tar.gz ZooKeeper: zookeeper-3.4.14.tar.gz 1.2 各节点角色

阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建

准备: 两台配置CentOS 7.3的阿里云ECS服务器: hadoop-2.7.3.tar.gz安装包: jdk-8u77-linux-x64.tar.gz安装包: hostname及IP的配置: 更改主机名: 由于系统为CentOS 7,可以直接使用‘hostnamectl set-hostname 主机名’来修改,修改完毕后重新shell登录或者重启服务器即可. 1 hostnamectl set-hostname master 2 exit 3 ssh [email protected]

阿里云ECS服务器部署django

参考 服务器安装的是Centos 系统. uwsgi是使用pip安装的. nginx是使用yum install nginx安装. python 2.7, mysql 5.5使用 yum安装. 它们之间的逻辑关系如下: the web client <-> the web server <-> the socket <-> uwsgi <-> Django uswgi负责从Django拿内容,通过socket传给 web server如nginx, 最后显示

记录一次在阿里云ECS服务器部署验证RocketMQ的经历

==背景== 购买了3台阿里云ECS服务器,上面部署了RocketMQ,用来作为业务后台与平台之间的数据通讯中间件. 部署倒是异常顺利,不过在本地写程序,测试生产和消费数据的时候,出现了一些问题. 耗费了将近1天的时间,终于解决了,记录一下本次排查的经历. ==环境== Linux:CentOS8(阿里云ECS服务器) RocketMQ:4.6.1 ==集群== 节点数:3个 节点1:broker-a(master) 节点2:broker-a(slave),broker-b(master) 节点

在阿里云ECS服务器上部署Java环境实现域名访问

事实证明,善于利用网络搜索是一项非常重要的能力. 在很多时候,借用别人的经验和成果能够帮助我们拓宽思维和眼界,以高效率解决问题. 一味地自己埋头钻研,很可能会局限在角落里,甚至走进死胡同.从来,努力都不是要求自行其是.在绝大多时候,都是用成果来衡量努力的程度的,而善于借用现成的结果可以帮助我们解决问题. 今天找到了一篇很好的文章,讲述了如何在阿里云ECS服务器上部署Java环境实现域名访问. 链接 在之前我已经购买了域名和空间,并配置了映射,导入wordprss建立个人博客网站,实现了在线编辑和

阿里云配置服务器部署项目

最近双11来了,作为程序员,终于买了个阿里云ecs服务器,主要便宜. 对于一个前端开发人来说服务器,项目部署好像搭不上边,但是对于爱好者,可以了解一下.刚刚买完不知道怎么搭建.官方给的解释太繁琐,不知道有没有小伙伴跟我一样的感受. 好了话不多说,直接开挂,看截图. 1.这是刚刚购买的状态. 2.这部很关键 要不直接失败.找到安全规则,其他默认的不要改,直接点击右上方,添加安全组规则,填写一个协议,端口范围为了保守填写一个80,授权对象0.0.0.0/0就好.点击保存.这一步配置完成. 3.然后去