前几篇文章主要介绍了单机模式的Hadoop和Spark的安装和配置,方便开发和调试。本文主要介绍,真正集群环境下Hadoop和Spark的安装和使用。
1. 环境准备
集群有三台机器:
master:W118PC01VM01/192.168.0.112
slave1:W118PC02VM01/192.168.0.113
slave2:W118PC03VM01/192.168.0.114
首先配置/etc/hosts中ip和主机名的映射关系:
192.168.0.112 W118PC01VM01
192.168.0.113 W118PC02VM01
192.168.0.114 W118PC03VM01
其次配置3台机器互相免密码ssh连接,参考《在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境》。
2. 基本安装步骤
(1) 安装Java(本例使用jdk1.7.0_55)和Scala(使用scala2.10.4)。
(2) 安装Hadoop2.6.0集群。
(3) 安装Spark1.1.0集群。
3. Jdk和Scala安装
在master和slave机器的安装路径和环境变量配置保持一致。安装过程参考《在Win7虚拟机下搭建Hadoop2.6.0+Spark1.4.0单机环境》。
4. Hadoop集群安装
4.1. 安装Hadoop并配置环境变量
安装Hadoop2.6.0版本,安装目录如下。在~/.bash_profile中配置环境变量,参考《在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境》。
4.2. 修改Hadoop配置文件
涉及到的hadoop配置文件主要有以下7个:
/home/ap/cdahdp/tools/hadoop/etc/hadoop/hadoop-env.sh
/home/ap/cdahdp/tools/hadoop/etc/hadoop/yarn-env.sh
/home/ap/cdahdp/tools/Hadoop/etc/hadoop/slaves
/home/ap/cdahdp/tools/hadoop/etc/hadoop/core-site.xml
/home/ap/cdahdp/tools/hadoop/etc/hadoop/hdfs-site.xml
/home/ap/cdahdp/tools/hadoop/etc/hadoop/mapred-site.xml
/home/ap/cdahdp/tools/hadoop/etc/hadoop/yarn-site.xml
配置 hadoop-env.sh(修改JAVA_HOME)
# The java implementation to use.
export JAVA_HOME=/home/ap/cdahdp/tools/jdk1.7.0_55
配置 yarn-env.sh (修改JAVA_HOME)
# some Java parameters
export JAVA_HOME=/home/ap/cdahdp/tools/jdk1.7.0_55
配置slaves(增加slave节点)
W118PC02VM01
W118PC03VM01
配置 core-site.xml(增加hadoop核心配置)
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.0.112:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/ap/cdahdp/app/tmp</value>
<description>Abasefor other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.spark.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.spark.groups</name>
<value>*</value>
</property>
</configuration>
配置hdfs-site.xml(增加hdfs配置信息,namenode、datanode端口和目录位置)
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.0.112:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/ap/cdahdp/app/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/ap/cdahdp/app/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.du.reserved</name>【配置磁盘中保留不用作hdfs集群的空间大小,单位是Byte】
<value>10240000000</value>
</property>
</configuration>
配置mapred-site.xml(增加mapreduce配置,使用yarn框架、jobhistory地址以及web地址)