说明:

1.准备三台虚拟机,参考:CentOS7集群环境搭建(以3台为例)

2.配置虚拟机间免密登陆:参考:CentOS7集群配置免密登录

3.虚拟机分别安装jdk:参考:CentOS7集群安装JDK1.8

4.hadoop安装包下载,下载地址

准备开始搭建hadoop集群,以下操作在第一台机器node1执行:

1.上传并解压hadoop安装包

1.1上传安装包到/develop/software

mkdir -p /develop/software
mkdir -p /develop/server
cd /develop/software
rz

1.2解压安装包到/develop/server

tar -zxvf hadoop-2.7.5.tar.gz -C /develop/server/

1.3切换到解压目录,查看解压后的文件

cd /develop/server/hadoop-2.7.5
ll

2.修改hadoop配置文件

2.1切换到hadoop的etc/hadopp目录,修改hadoop-env.sh

cd /develop/server/hadoop-2.7.5/etc/hadoop/
ll
vim hadoop-env.sh

2.2配置hadoop-env.sh文件,修改jdk路径

export JAVA_HOME=/develop/server/jdk1.8.0_241

2.3配置core-site.xml(hadoop的核心配置文件)在<configuration></configuration>中配置以下内容

<!-- 设置Hadoop的文件系统 -->
<property><name>fs.defaultFS</name><value>hdfs://node1:8020</value></property>
<!-- 配置Hadoop数据存储目录 --><property><name>hadoop.tmp.dir</name><value>/develop/server/hadoop-2.7.5/data/tempdata</value>
</property>
<!--  缓冲区大小 --><property><name>io.file.buffer.size</name><value>4096</value></property>
<!--  hdfs的垃圾桶机制,单位分钟 --><property><name>fs.trash.interval</name><value>10080</value></property>

2.4配置hdfs-site.xml(hdfs的核心配置文件),在<configuration></configuration>中配置以下内容,注意secondaryNameNode和Namenode不要放在同一台机器上

<!-- SecondaryNameNode的主机和端口 -->
<property><name>dfs.namenode.secondary.http-address</name><value>node2:50090</value>
</property>
<!-- namenode的页面访问地址和端口 -->
<property><name>dfs.namenode.http-address</name><value>node1:50070</value>
</property>
<!-- namenode元数据的存放位置 -->
<property><name>dfs.namenode.name.dir</name><value>file:///develop/server/hadoop-2.7.5/data/nndata</value>
</property>
<!--  定义datanode数据存储的节点位置 -->
<property><name>dfs.datanode.data.dir</name><value>file:///develop/server/hadoop-2.7.5/data/dndata</value>
</property>
<!-- namenode的edits文件存放路径 -->
<property><name>dfs.namenode.edits.dir</name><value>file:///develop/server/hadoop-2.7.5/data/nn/edits</value>
</property>
<!-- 检查点目录 -->
<property><name>dfs.namenode.checkpoint.dir</name><value>file:///develop/server/hadoop-2.7.5/data/snn/name</value>
</property><property><name>dfs.namenode.checkpoint.edits.dir</name><value>file:///develop/server/hadoop-2.7.5/data/dfs/snn/edits</value>
</property>
<!-- 文件切片的副本个数-->
<property><name>dfs.replication</name><value>3</value>
</property>
<!-- HDFS的文件权限-->
<property><name>dfs.permissions</name><value>true</value>
</property>
<!-- 设置一个文件切片的大小:128M-->
<property><name>dfs.blocksize</name><value>134217728</value>
</property>

2.5复制mapred-site.xml.template,并更改名称为mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
ll

2.6配置mapred-site.xml(MapReduce的核心配置文件),在<configuration></configuration>中配置以下内容

<!-- 分布式计算使用的框架 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
<!-- 开启MapReduce小任务模式 -->
<property><name>mapreduce.job.ubertask.enable</name><value>true</value>
</property>
<!-- 历史任务的主机和端口 -->
<property><name>mapreduce.jobhistory.address</name><value>node1:10020</value>
</property>
<!-- 网页访问历史任务的主机和端口 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>node1:19888</value>
</property>

2.7配置mapred-env.sh,指定JAVA_HOME

export JAVA_HOME=/develop/server/jdk1.8.0_241

2.8配置yarn-site.xml(YARN的核心配置文件) ,在<configuration></configuration>中配置以下内容

<!-- yarn主节点的位置 -->
<property><name>yarn.resourcemanager.hostname</name><value>node1</value>
</property>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<!-- 开启日志聚合功能 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property>
<!-- 设置聚合日志在hdfs上的保存时间 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>
<!-- 设置yarn集群的内存分配方案 -->
<property>    <name>yarn.nodemanager.resource.memory-mb</name>    <value>2048</value>
</property>
<property>  <name>yarn.scheduler.minimum-allocation-mb</name><value>2048</value>
</property>
<property><name>yarn.nodemanager.vmem-pmem-ratio</name><value>2.1</value>
</property>

2.9配置slaves,slaves文件里面记录的是集群主机名,删除原有内容,配置以下内容

node1
node2
node3

3.创建数据存放目录

mkdir -p /develop/server/hadoop-2.7.5/data/tempdata
mkdir -p /develop/server/hadoop-2.7.5/data/nndata
mkdir -p /develop/server/hadoop-2.7.5/data/dndata
mkdir -p /develop/server/hadoop-2.7.5/data/nn/edits
mkdir -p /develop/server/hadoop-2.7.5/data/snn/name
mkdir -p /develop/server/hadoop-2.7.5/data/dfs/snn/edits

4.文件分发

4.1将安装配置好的hadoop分发到另外两台机器

scp -r hadoop-2.7.5/ node2:$PWD
scp -r hadoop-2.7.5/ node3:$PWD

4.2在另外两台机器上分别查看分发后的文件

cd /develop/server/
ll

 

4.3分别在三台机器上配置hadoop环境变量

vim /etc/profile.d/my_env.sh
# HADOOP_HOME
export HADOOP_HOME=/develop/server/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

4.4刷新环境变量

source /etc/profile

4.5另外两台机器同样配置环境变量

5.启动hadoop集群

5.1首次启动hdfs时需要格式化,在node1执行以下命令

hadoop namenode -format

5.2启动相关服务,三种启动方式

5.2.1单节点逐一启动,

5.2.1.1启动namenode,在node1执行以下命令

hadoop-daemon.sh start namenode

5.2.1.2三台机器分别启动datanode,在node1、node2、node3上,分别使用以下命令启动 datanode

hadoop-daemon.sh start datanode

5.2.1.3在node1启动resourcemanager

yarn-daemon.sh  start resourcemanager

5.2.1.4在node1、node2、node3上使用以下命令启动YARN nodemanager

yarn-daemon.sh start nodemanager

5.2.1.5在node2上启动secondarynamenode

hadoop-daemon.sh start secondarynamenode

5.2.1.6在node1上启动historyserver

mr-jobhistory-daemon.sh start historyserver

5.2.1.7查看服务启动情况,分别在三台机器执行jps命令

5.2.1.8关闭服务

如果要关闭服务只需将上面命令中的start改为stop即可

5.2.2使用hadoop自带脚本启动,以下命令在node1执行

5.2.2.1启动hdfs

start-dfs.sh

5.2.2.2启动yarn

start-yarn.sh

5.2.2.3启动历史任务服务

mr-jobhistory-daemon.sh start historyserver

5.2.2.3关闭服务

stop-dfs.sh
stop-yarn.sh
mr-jobhistory-daemon.sh stop historyserver

5.2.3一键启动脚本:hadoop集群启动脚本

6.访问集群UI页面

6.1 namenode集群页面

http://ip:50070/ 

6.2 yarn集群页面

http://ip:8088/cluster

6.3mapreduce历史任务页面

http://ip:19888/jobhistory

到此,hadoop集群搭建完毕

CentOS7搭建hadoop集群相关推荐

  1. 华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo

    华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo 新建hadoop用户并设置密码,密码不要设置为简单的123456等,我这里已经创建过了hadoop用 ...

  2. CentOS7搭建Hadoop集群环境

    本文章为云计算课程实验总结. 前言 CentOS7虚拟机搭建hadoop集群,共3个节点:master.slave1.slave2 软件:java1.8 hadoop2.6.0 3台虚拟机都装有Cen ...

  3. hadoop集群_Ambari搭建hadoop集群

    Ambari搭建hadoop集群 Ambari提供了对Hadoop更加方便快捷的管理功能,主要包含: 通过一步一步的安装向导简化了集群供应. 预先配置好关键的运维指标(metrics),可以直接查看H ...

  4. 华为云 和 阿里云 跨服务器搭建Hadoop集群

    目录 华为云 和 阿里云 跨服务器搭建Hadoop集群 说明 期间遇到的问题 CentOS6 7 8更换阿里yum源 修改服务器名称 安装JDK 安装Hadoop 编写集群分发脚本 xsync scp ...

  5. 三台Ubuntu虚拟机搭建 Hadoop集群 (第一次搭)

    最近因为要搭Hadoop集群,确实花了好大的心血在里面,因为我的Linux也是前两天速成的,好多东西都还是边查资料边搭.但我最终确实成功了,留了一点点小问题在里面.(当Hadoop集群start-al ...

  6. 阿里云ESC搭建hadoop集群

    阿里云ESC搭建hadoop集群 前置 购买至少三台服务器,为了节约成本借了两个账号买了三台同一区域的服务器,安装的是 centos7:因此设计到不同账号相同地域之间通讯问题,阿里给了解决方案,详情参 ...

  7. 基于OSS存储搭建Hadoop集群

    简介 本文以Ubuntu操作系统为例,介绍基于Aliyun OSS的hadoop-3.0.0-beta1的集群环境搭建过程,示例的集群环境包括1个master和2个slave节点(slave1和sla ...

  8. linux hadoop集群搭建,hadoop集群搭建

    hadoop集群搭建步骤 实验介绍 下面将要在三台linux虚拟机上搭建hadoop集群. 知识点 linux基本命令 集群安装 完成实验需要以下相关知识 解压命令 tar -zxvf XX.tar. ...

  9. Docker搭建hadoop集群

    参考https://github.com/kiwenlau/hadoop-cluster-docker/blob/master/start-container.sh 因为之前在VMware上操作Had ...

最新文章

  1. 微服务架构中的雪崩问题产生原因及解决办法
  2. 我自学python的路-Python 学习路线(非常适合小白的入门级教程)
  3. Hadoop下如何执行脚本
  4. 小黑小波比.Ubuntu下的截图
  5. mysql insert 主键冲突_在MySql中建立存储过程和解决insert into select 中主键冲突的有关问题...
  6. 使用“ for”循环遍历字典
  7. [NOI2014] 动物园
  8. tutte定理证明hall定理_县级数学教研网课:有趣的勾股定理证明,课件用几何画板制作...
  9. 50款漂亮的免费网页PSD模板下载(第三季)
  10. 简述hdfs工作原理_简述HDFS的原理?
  11. CSS实现单行、多行文本溢出显示省略号(…)
  12. 项目案例:乌龟吃鱼小游戏
  13. Wps的两种论文标注参考文献
  14. Bitbucket 添加ssh密钥
  15. 手游脚本_雷电模拟器
  16. 餐饮日销售情况分析仪
  17. 常见的图像重采样算法
  18. 第二篇 简洁但功能强大的EditPlus——我的最爱
  19. Keras,今天7岁啦
  20. 微信小程序项目启动错误“Error: ENOENT: no such file or directory, open”

热门文章

  1. Vue2中ref属性的用法
  2. Quantile-Quantile plot解释
  3. 大数据运用于旅游业的三个案例
  4. 【Fink专题】基于Flink1.12的一些知识点分享-第二篇
  5. oracle快速统计表条数_oracle统计表的所有行数(原创)
  6. c语言中getenv的作用,C语言putenv()函数和getenv()函数的使用详解
  7. 使用Megascans,Blender和Substance 3D画家创建渔人旅馆(p2)
  8. python打开的文件应该放在哪里-python放在哪里
  9. 光明勇士读取服务器信息,光明勇士安卓苹果服务器互通关系详解
  10. cd-hit 转录本聚类