完整目录、平台简介、安装环境及版本:参考《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-11 | app-12 | app-13 | 描述 |
1 | QuorumPeerMain | 是 | 是 | 是 | Zookeeper进程 |
2 | DFSZKFailoverController | 是 | 是 | 否 | NameNode HA |
3 | JournalNodes | 是 | 是 | 是 | 数据同步 |
4 | NameNode | 是 | 是 | 否 | Master节点 |
5 | DataNode | 是 | 是 | 是 | 存储数据块 |
6 | ResourceManager | 是 | 是 | 否 | 中心服务 |
7 | NodeManager | 是 | 是 | 是 | 节点代理 |
8 | JobHistoryServer | 否 | 是 | 否 | 历史服务器 |
9 | RunJar | 否 | 是 | 否 | Hive |
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退出