搭建Hadoop2.6.0+Spark1.1.0集群环境
前几篇文章主要介绍了单机模式的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地址)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.0.112:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.0.112:19888</value>
</property>
</configuration>
配置 yarn-site.xml(增加yarn功能)
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.0.112:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.0.112:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.0.112:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>192.168.0.112:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>192.168.0.112:8088</value>
</property>
</configuration>
将配置好的hadoop文件copy到两台slave机器上,配置和路径和master一模一样。
4.3. 格式化namenode
在master和slave机器上分别操作:
|
cd ~/tools/hadoop/bin ./hdfs namenode -format |
4.4. 启停hdfs和yarn
|
cd ~/tools/hadoop/sbin ./start-hdfs.sh ./stop-hdfs.sh ./start-yarn.sh ./stop-yarn.sh |
启动后可以用jps查看进程,通常有这几个:
NameNode、SecondaryNameNode、ResourceManager、DataNode
如果启动异常,可以查看日志,在master机器的/home/ap/cdahdp/tools/hadoop/logs目录。
4.5. 查看集群状态
查看hdfs:http://192.168.0.112:50070/
查看RM:http://192.168.0.112:8088/
4.6. 运行wordcount示例程序
上传几个文本文件到hdfs,路径为/tmp/input/
之后运行:

查看执行结果:

正常运行,表示hadoop集群安装成功。
5. Spark集群部署
5.1. 安装Spark并配置环境变量
安装Spark1.1.0版本,安装目录如下。在~/.bash_profile中配置环境变量。

5.2. 修改Hadoop配置文件
配置slaves(增加slave节点)

配置spark-env.sh(设置spark运行的环境变量)
把spark-env.sh.template复制为spark-env.sh

将配置好的spark文件copy到两台slave机器上,配置和路径和master一模一样。
5.3. Spark的启停
|
cd ~/tools/spark/sbin ./start-all.sh ./stop-all.sh |
5.4. 查看集群状态
spark集群的web管理页面:http://192.168.0.112:8080/
spark WEBUI页面:http://192.168.0.112:4040/
启动spark-shell控制台:

5.5. 运行示例程序
往hdfs上上传一个文本文件README.txt:

在spark-shell控制台执行:
统计README.txt中有多少单词:


过滤README.txt包括The单词有多少行:

正常运行,表示Spark集群安装成功。
搭建Hadoop2.6.0+Spark1.1.0集群环境的更多相关文章
- Kubernetes的搭建与配置(一):集群环境搭建
1.环境介绍及准备: 1.1 物理机操作系统 物理机操作系统采用Centos7.3 64位,细节如下. [root@localhost ~]# uname -a Linux localhost.loc ...
- 搭建 MongoDB分片(sharding) / 分区 / 集群环境
1. 安装 MongoDB 三台机器 关闭防火墙 systemctl stop firewalld.service 192.168.252.121 192.168.252.122 192.168.25 ...
- Ningx集群环境搭建
Ningx集群环境搭建 Nginx是什么? Nginx ("engine x") 是⼀个⾼性能的 HTTP 和 反向代理 服务器,也是⼀个 IMAP/ POP3/SMTP 代理服务 ...
- 不卸载ceph重新获取一个干净的集群环境
不卸载ceph重新获取一个干净的集群环境 标签(空格分隔): ceph ceph环境搭建 运维 部署了一个ceph集群环境,由于种种原因需要回到最开始完全clean的状态,而又不想卸载ceph客户端或 ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
- 分享一份关于Hadoop2.2.0集群环境搭建文档
目录 一,准备环境 三,克隆VM 四,搭建集群 五,Hadoop启动与测试 六,安装过程中遇到的问题及其解决方案 一,准备环境 PC基本配置如下: 处理器:Intel(R) Core(TM) i5-3 ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(七)针对hadoop2.9.0启动DataManager失败问题
DataManager启动失败 启动过程中发现一个问题:slave1,slave2,slave3都是只启动了DataNode,而DataManager并没有启动: [spark@slave1 hado ...
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0
如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...
随机推荐
- Ascii码 unicode码 utf-8编码 gbk编码的区别
ASCII码: 只包含英文,数字,特殊符号的编码,一个字符用8位(bit)1字节(byte)表示 Unicode码: 又称万国码,包含全世界所有的文字,符号,一个字符用32位(bit)4字节(byte ...
- 51Nod1782 圣诞树
传送门 我居然忘写题解啦!(记忆废) 总的来说这题就是道大数据结构……看我代码长度就知道了,真的是长得要死…… …… 这题的操作都是路径修改单点查询,因此可以树上差分,问题就变成了维护子树中的所有标记 ...
- JavaScript总结摘要
一 概述 1.什么是JavaScript? 基于对象.由事件驱动的解释性脚本语言. 2.JavaScript语法特点 区分大写小,这一点不同于HTML. 结尾的分号可有可无. 变量是弱类型的:变量在定 ...
- font-size 基准
浏览器的缺省字体为16px: 你可以先将基准字体大小设置为10px; body { font-size: 62.5%; } 然后统一使用 em作为单位 div { font-size: 2.4em; ...
- Java全系列帮助文档下载
JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境.它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运 ...
- 定期重启SSRS 服务
SSRS 在执行了一段时间之后会变得非常卡,遇到好几次内存暴涨,CPU100%的情况. 但是在查询了一通以后发现,这个时间没有人在运行报告,不知道是哪里有问题,没有回收... 所以决定定期在晚上没有不 ...
- 致 BitClub 矿池,你们为什么要对比特币网络发动交易延展性攻击?
原文:https://medium.com/@bithernet/bitclub-why-are-you-doing-malleability-attack-now-6faa194b2146#.v4y ...
- Linux 虚拟机中配置 GNOME + VNC
需求描述 在特定的需求下,需要用到 Linux 的图形化界面,但是 Azure 平台提供的虚拟机默认没有开放远程图形化登陆的功能.以下解决方案,提供了市面上非常流行的 GNOME + VNC 的组合来 ...
- Python学习---线程锁/信号量/条件变量同步/线程池1221
线程锁 问题现象: 多线程情况下,CPU遇到阻塞会进行线程的切换,所以导致执行了tmp-=1的值还未赋值给num=tmp,另一个线程2又开始了tmp -=1,所以导致最后的值重复赋值给了num,所以出 ...
- Apache Commons-logging使用实例
Apache Commons-logging使用实例 本文将介绍如何在程序中使用Apache Commons-logging author: ZJ 07-3-17 Blog: [url]http:// ...