2.4 安装 Hadoop 和 Spark 集群
在安装 Hadoop和Spark之前,让我们来了解一下 Hadoop和Spark的版本。在 Cloudera、Hortonworks和MapR这所有三种流行的Hadoop发行版中,Spark都是作为服务提供的。在本书编写的时候,最新的Hadoop和Spark版本分别是2.7.2和2.0。但是,Hadoop发行版里可能是一个较低版本的Spark,这是因为Hadoop和 Spark 的发行周期并不同步。
对于后续章节的实践练习,我们会使用来自 Cloudera、Hortonworks 和 MapR 的免费虚拟机(virtual machine,VM),或使用开源版本的 Apache Spark。这些 VM 让我们很容易开始使用 Spark 和 Hadoop。同样的练习也可以在较大的集群上运行。
在笔记本电脑上使用虚拟机的先决条件如下:
8 GB 或以上内存
至少 2 个虚拟 CPU
Windows 或 Linux 操作系统必须安装了最新的 VMWare Player 或 Oracle VirtualBox
Mac需要最新的 Oracle VirtualBox 或 VMWare Fusion
在 BIOS 中启用虚拟化
建议使用 Chrome 25+、IE 9+、Safari 6+ 或 Firefox 18+(HDP Sandbox 不会在 IE 10 上运行)
Putty
WinSCP
下载并运行 Cloudera Hadoop 发行版(Cloudera Distribution for Hadoop,CDH)的说明如下:
(1)从http://www.cloudera.com/content/www/en-us/downloads.html下载最新的 quickstart CDH VM。请根据笔记本电脑上安装的虚拟化软件(VirtualBox 或 VMWare)来下载相应的版本。
(2)将其解压缩到一个目录下(使用 7-Zip 或 WinZip)。
(3)在使用 VMWare Player 的情况下,单击Open a Virtual Machine,并指向你已经解压缩了虚拟机的目录。选择 cloudera-quickstart-vm-5.x.x-x-vmware.vmx 文件,然后单击 Open。
(4)单击Edit virtual machine settings,然后把内存增加到 7 GB(如果你的笔记本电脑有 8 GB 内存)或 8 GB(如果您的笔记本电脑有超过 8 GB 内存)。将处理器数量增加到 4 个。单击 OK。
(5)单击Play virtual machine。
(6)选择I copied it,然后单击 OK。
(7)这样,你的虚拟机就会启动并运行了。
(8)Cloudera Manager 安装在虚拟机上,但默认情况下处于关闭状态。如果要使用 Cloudera Manager,请双击并运行 Launch Cloudera Manager Express以设置 Cloudera Manager。它在启动/停止/重新启动集群上服务的过程中是有帮助的。
(9)虚拟机的登录凭据是用户名(cloudera)和密码(cloudera)。
如果你要使用 Cloudera Quickstart 的 Docker 镜像,可以参照 http://blog.cloudera.com/blog/2015/12/docker-is-the-new-quickstart-option-for-apache-hadoop-and-cloudera 上的说明。
下载和运行 Hortonworks 数据平台(Hortonworks Data Platform,HDP)Sandbox 的说明如下:
(1)从http://hortonworks.com/products/hortonworks-sandbox/#install下载最新版本的 HDP Sandbox。请根据笔记本电脑上安装的虚拟化软件(VirtualBox 或 VMWare)下载相应的版本。
(2)按照同一个下载页面上的安装指南中的说明进行操作。
(3)打开浏览器并输入 sandbox 中显示的地址,如 http://192.168.139.158/ 。单击View Advanced Options以查看所有链接。
(4)使用 putty 作为root用户,hadoop作为初始密码来访问 sandbox。你需要在首次登录时更改密码。此外,可以运行ambari-admin-password-reset命令重置Ambari的管理员密码。
(5)要开始使用 Ambari,请打开浏览器并输入 ipaddressofsandbox:8080,并使用上一步创建的管理凭据。启动 Ambari 所需的服务。
(6)要将主机名映射到 Windows 中的 IP 地址,请转到 C:WindowsSystem32driversetchosts,然后输入 IP 地址和主机名,中间用空格分隔符隔开。你需要管理员权限才能执行此操作。
下载和运行 MapR Sandbox 的说明如下:
(1)从https://www.mapr.com/products/mapr-sandbox-hadoop/download下载最新的 sandbox。请根据笔记本电脑上安装的虚拟化软件(VirtualBox 或 VMWare)下载相应的版本。
(2)按照 http://doc.mapr.com/display/MapR/MapR+Sandbox+for+Hadoop上的说明设置 sandbox。
(3)使用 Putty 登录到 sandbox。
(4)root 用户的密码是 mapr。
(5)要启动 HUE 或 MapR 控制系统(MapR Control System,MCS),请导航到 MapR Sandbox 提供的 URL。
(6)要将主机名映射到 Windows 中的 IP 地址,请转到 C:WindowsSystem32driversetchosts,然后输入 IP 地址和主机名,中间用空格分隔符隔开。
下面给出了下载和运行 Apache Spark 预制二进制文件的说明,以便在你预先安装了 Hadoop 集群的情况下使用。以下说明还可用于安装最新版本的 Spark,并在之前的虚拟机上使用它:
(1)从以下位置下载为 Hadoop 预制的 Spark:
(2)把 SPARK_HOME 和 PATH 变量添加到配置文件脚本,如以下命令所示,这样每次登录时这些环境变量就都设置好了:
(3)通过向 spark-env.sh 添加以下环境变量,让 Spark 了解 Hadoop 配置目录和 Java home。请复制 conf 目录中的模板文件:
(4)将 hive-site.xml 复制到 Spark 的 conf 目录:
(5)在复制模板文件后,将 spark-2.0.0-bin-hadoop2.7/conf/log4j.properties 文件中的日志级别(log level)更改为 ERROR。
运行 Spark 要求的编程语言版本:
Java: 7+
Python: 2.6+/3.1+
R: 3.1+
Scala: Spark 1.6 用 2.10 以下版本的 Scala,Spark 2.0 用 2.11 以上版本的 Scala
请注意,前面的虚拟机是单节点集群。如果你计划设置多节点集群,请按照各个发型版(例如 CDH、HDP 或 MapR)给出的指导原则。如果你计划使用 Standalone 集群管理器,下一章会介绍它的设置。