前言
因为比赛的限制是使用Hadoop2.7.2,估在此文章下面的也是使用Hadoop2.7.2,具体下载地址为Hadoop2.7.2
开始的准备
目前在我的实验室上有三台Linux主机,因为需要参加一个关于spark数据分析的比赛,所以眼见那几台服务器没有人用,我们团队就拿来配置成集群。具体打算配置如下的集群
主机名 | IP地址(内网) |
---|---|
SparkMaster | 10.21.32.106 |
SparkWorker1 | 10.21.32.109 |
SparkWorker2 | 10.21.32.112 |
首先进行的是ssh免密码登录的操作
具体操作在上一篇学习日记当中已经写到了,在此不再详细说。
配置Java环境
因为我那三台电脑也是配置好了JDK了,所以在此也不详细说。
配置好Java的机子可以使用
- 1
来查看Java的版本
下载Hadoop2.7.2
因为我最后的文件是放在/usr/local
下面的,所以我也直接打开/usr/local
文件夹下。直接
- 1
安装Hadoop以及配置Hadoop环境
解压
- 1
删除
- 1
解压删除之后打开hadoop-2.7.2文件夹,在etc/hadoop/hadoop-env.sh
中配置JDK
的信息
先查看本机的jdk目录地址在哪里
- 1
- 1
将
- 1
改为
- 1
为了方便我们以后开机之后可以立刻使用到Hadoop的bin目录下的相关命令,可以把hadoop
文件夹下的bin
和sbin
目录配置到/etc/profile
文件中。
- 1
添加
- 1
按一下esc
,按着shift
+两次z
键保存
使用
- 1
使得命令配置信息生效,是否生效可以通过
- 1
查看
配置Hadoop分布式集群
前言
考虑是为了建立
spark
集群,所以主机命名为SparkMaster
SparkWorker1
SparkWorker2
修改主机名
- 1
修改里面的名字为SprakMaster
,按一下esc
,按着shift
+两次z
键保存。
设置hosts文件使得主机名和IP地址对应关系
- 1
配置主机名和IP地址的对应关系。
Ps:其他两台slave的主机也修改对应的SparkWorker1 SparkWorker2,如果修改完主机名字之后户籍的名字没有生效,那么重启系统便可以。三台机子的hostname与hosts均要修改
在==三台==机子的总的hadoop-2.7.2文件夹下建立如下四个文件夹
- 目录/tmp,用来存储临时生成的文件
- 目录/hdfs,用来存储集群数据
- 目录hdfs/data,用来存储真正的数据
- 目录hdfs/name,用来存储文件系统元数据
- 1
配置hadoop文件
在此先修改SparkMaster的配置文件,然后修改完毕后通过
rsync
命令复制到其他节点电脑上。
修改core-site.xml
- 1
具体修改如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
变量fs.defaultFS保存了NameNode的位置,HDFS和MapReduce组件都需要它。这就是它出现在core-site.xml文件中而不是hdfs-site.xml文件中的原因。
修改marpred-site.xml.template
具体修改如下
首先我们需要的是将marpred-site.xml复制一份:
- 1
- 1
此处修改的是
marpred-site.xml
,不是marpred-site.xml.template
。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
修改hdfs-site.xml
具体修改如下
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
PS:变量dfs.replication指定了每个HDFS数据块的复制次数,即HDFS存储文件的副本个数.我的实验环境只有一台Master和两台Worker(DataNode),所以修改为2。
配置yarn-site.xml
具体配置如下:
- 1
- 2
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
修改slaves的内容
将localhost
修改成为SparkWorker1
、SparkWorker2
将SparkMaster
节点的`hadoop-2.7.2/etc/下面的文件通过以下方式放去其他节点
- 1
- 1
完成之后可以查看SparkWorker1
、SparkWorker2
下面的文件是否变了
启动hadoop分布式集群
在SparkMaster
节点格式化集群的文件系统
输入
- 1
启动Hadoop集群
- 1
查看各个节点的进程信息
使用
- 1
查看各节点的进程信息
可以看到
此时分布式的hadoop集群已经搭好了
在浏览器输入
- 1
- 1
看到以下界面代表Hadoop集群已经开启了
结言
到此Hadoop的分布式集群就搭好了。这个Spark运行的基础。
参见:CentOS 6.7安装Hadoop 2.7.2
++王家林/王雁军/王家虎的《Spark 核心源码分析与开发实战》++
文章出自kwongtai’blog,转载请标明出处!