Hive从入门到精通(二)环境搭建

完整目录、平台简介、安装环境及版本:参考《Hive从入门到精通-概览》

二、环境搭建

2.1 集群搭建

详细安装方式参考《Spark平台(高级版)》。

2.1.1 集群介绍

本集群是在物理机器上,使用VirtualBox创建三台虚拟机节点:app-11、app-12和app-13。

三台虚拟机逻辑部署形式包括两个NN(NameNode)做HA、两个RM(ResourceManager)以及三个DN(DataNode)节点。

对应的物理部署形式如下:在app-11上部署了NameNode1以及ResourceManager1,在app-12上部署了NameNode2以及ResourceManager2,三个JournalNode以及三个DataNode分别部署在app-11、app-12和app-13上。

同时,使用本地模式安装Hive,其中,Hive和MySQL均安装在app-12节点,为了提高hadoop的高效实时性和交互性,安装了Tez,并将Hive的执行引擎切换到Tez。

集群用到的软件都安装在了/hadoop目录下,操作集群的用户为hadoop用户:

集群安装了如下应用:jdk1.8.0_131、zookeeper-3.4.10、hadoop-3.1.2、tez-0.9.0、apache-hive-3.1.1-bin、spark-2.4.0-bin-hadoop3.1.2、oozie-5.0.0、scala-2.11.12、Anaconda3-2018.12-Linux-x86_64、hbase-1.4.10、MySQL- 5.7.18等,可以通过配置文件配置集群启动过中,启动哪些应用程序。

集群中所有虚拟机用户名为root,密码为Yhf_1018。

2.1.2 环境配置

由于后续hive操作会经常用到底层MapReduce,需要配置每个map slot预留的内存大小以及MapReduce阶段申请的container的内存的大小。

用ssh连接分别到app-11、app-12、app-13节点,切换到hadoop用户,进入目录 /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/

命令:su - hadoop
命令:cd /hadoop/Hadoop/hadoop-3.1.2/etc/hadoop/

编辑配置文件在文件后面添加如下内容,保存并退出:

命令:vi mapred-site.xml
        <property>
                <name>mapreduce.map.memory.mb</name>
                <value>1024</value>
        </property>
        <property>
                <name>mapreduce.reduce.memory.mb</name>
                <value>1024</value>
        </property>

注意:三个节点app-11、app-12、app-13都需要修改。

2.2 集群启停

集群启动操作是在app-11节点进行操作的。

使用ssh登录到app-11,却换到hadoop用户,在切换到/hadoop目录。

该目录下和集群启停相关的有三个文件:config.conf、startAll.sh和stopAll.sh。其中config.conf 负责配置对哪些应用程序进行启停,startAll.sh负责启动集群,stopAll.sh则是负责关闭集群。

2.2.1 启停配置

在hadoop用户在,修改/hadoop/config.conf文件,并保存。

命令:vi config.conf

只启动Hive用到的应用程序,用不到的则在前面添加#即可。这样在集群启停过程中就不会启动前面添加了#的应用程序

2.2.2 启动集群

用ssh连接到app-11节点,切换到hadoop用户,同时切换到/hadoop目录。

执行命令:./startAll.sh

分别在三个节点查看启动进程:jps

2.2.3 停止集群

在app-11节点切换到haoop用户,进入/hadoop目录。

执行命令:./stopAll.sh

分别在三个节点查看进程:jps

2.2.4 集群进程说明

三个节点各进程情况说明

序号进程名app-11app-12app-13描述
1QuorumPeerMainZookeeper进程
2DFSZKFailoverControllerNameNode HA
3JournalNodes数据同步
4NameNodeMaster节点
5DataNode存储数据块
6ResourceManager中心服务
7NodeManager节点代理
8JobHistoryServer历史服务器
9RunJarHive

2.3 集群验证

2.3.1 Hive

ssh连接到app-12节点,切换到hadoop用户,进入目录:/hadoop/Hive/apache-hive-3.1.1-bin/bin;

查看hive:./hive

查看数据库:show databases;

退出:CTRL+C 或者quit;

2.3.2 Mysql

ssh连接到app-12节点,切换到root,做MySQL相关操作

登录:mysql -uroot –p

查看数据库:show databases;

确认Hive数据库是否已经创建,使用Hive来保存数据库的元数据。默认情况下,集群环境中已经创建了Hive数据库

quit退出

发表回复