Hadoop 服务划分

使用三台节点,集群部署规划如下

服务\主机

hadoop1

hadoop2

hadoop3

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

IP地址规划

hadoop1    192.168.123.11
hadoop2 192.168.123.12
hadoop3 192.168.123.13

系统环境配置

一、基本信息配置(三台节点需要分别配置)

IP地址配置

# 配置 IP 地址,网卡配置文件不一定相同
vim /etc/sysconfig/network-scripts/ifcfg-ens33 # 自启动网卡
ONBOOT="yes"
# IP地址
IPADDR="192.168.123.11"
# 子网页码
PREFIX=""
# 网关
GATEWAY="192.168.123.2"
# DNS 服务器
DNS1="119.29.29.29" # 重启网络服务
systemctl restart network

修改主机名

# 修改主机名字为 hadoop1
hostnamectl set-hostname hadoop1 # 退出当前用户再登录即可看见
logout

关闭防火墙,也可放行

# 关闭防火墙
systemctl stop firewalld # 关闭防火墙开机自启动
systemctl disable firewalld

安装 Rsync 工具,用于同步主机之间的文件,这样后面的配置文件修改就不用每台机器都改一遍,直接同步过去即可

# 清空 yum 源。若已配置源,直接安装即可
rm -rf /etc/yum.repos.d/* # 配置阿里 yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo # 安装 rsync
yum install -y rsync

二、基本服务配置(配置一台主机,其他主机同步即可)

配置主机之间相互免密登录

# 以一台机器为例子,其他一样

# 生成密钥文件,一直回车
ssh-keygen -t ecdsa -b # 配置免密登录,需要输入远程主机密码,本机也需要配置
ssh-copy-id -i ~/.ssh/id_ecdsa.pub hadoop1
ssh-copy-id -i ~/.ssh/id_ecdsa.pub hadoop2
ssh-copy-id -i ~/.ssh/id_ecdsa.pub hadoop3 # 验证,不用输密码即为成功
ssh hadoop1 ls /

添加主机名到 Hosts 文件

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
:: localhost localhost.localdomain localhost6 localhost6.localdomain6
# 对应本机IP地址,非 127.0.0.1
192.168.123.11 hadoop1
192.168.123.12 hadoop2
192.168.123.13 hadoop3

安装 JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

# 解压
tar -zxf /opt/jdk-8u202-linux-x64.tar.gz -C /opt/ # 配置环境变量
vim /etc/profile # JAVA_HOME
export JAVA_HOME=/opt/jdk1..0_202/
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH # 刷新环境变量
source /etc/profile # 验证
java -version # java version "1.8.0_202"
# Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
# Java HotSpot(TM) -Bit Server VM (build 25.202-b08, mixed mode)

安装 Hadoop https://hadoop.apache.org/releases.html

# 解压
tar -zxf /opt/hadoop-2.9.-snappy-.tar.gz -C /opt/ # 配置环境变量
vim /etc/profile # HADOOP_HOME
export HADOOP_HOME=/opt/hadoop-2.9.
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin # 刷新环境变量
source /etc/profile # 验证
hadoop version # Hadoop 2.9.
# Subversion Unknown -r Unknown
# Compiled by root on --16T09:39Z
# Compiled with protoc 2.5.
# From source with checksum 3a9939967262218aa556c684d107985
# This command was run using /opt/hadoop-2.9./share/hadoop/common/hadoop-common-2.9..jar

同步服务到其他机器

# 同步 Hosts 文件
rsync -avz /etc/hosts hadoop2:/etc/
rsync -avz /etc/hosts hadoop3:/etc/ # 同步 JDK,源路径不要带斜杠
rsync -avz /opt/jdk1..0_202 hadoop2:/opt/
rsync -avz /opt/jdk1..0_202 hadoop3:/opt/ # 同步 Hadoop,源路径不要带斜杠
rsync -avz /opt/hadoop-2.9. hadoop2:/opt/
rsync -avz /opt/hadoop-2.9. hadoop3:/opt/ # 同步环境变量文件 profile,目标主机上的环境变量需要手动刷新:source /etc/profile
rsync -avz /etc/profile hadoop2:/etc/
rsync -avz /etc/profile hadoop3:/etc/

Hadoop分布式配置

配置一台机器,其他同步即可,配置文件目录:hadoop-2.9.2/etc/hadoop/

一、基本配置

core-site.xml

<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property> <!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-tmp</value>
</property>
</configuration>

hadoop-env.sh

# The java implementation to use.
export JAVA_HOME=/opt/jdk1..0_202/

二、HDFS 配置

hdfs-site.xml

<configuration>
<!-- 指定文件块副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property> <!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop3:50090</value>
</property>
</configuration>

三、YARN 配置

yarn-env.sh

# some Java parameters
export JAVA_HOME=/opt/jdk1..0_202/

yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
<!-- Reducer获取数据方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> <!-- 指定YARN的ResourceManager地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop2</value>
</property>
</configuration>

四、MapReduce 配置

mapred-env.sh

# limitations under the License.

export JAVA_HOME=/opt/jdk1..0_202/

# when HADOOP_JOB_HISTORYSERVER_HEAPSIZE is not defined, set it.

mapred-site.xml,将 mapred-site.xml.template 重命名为 mapred-site.xml

<configuration>
<!-- 指定MapReduce运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

五、集群节点地址配置

slaves

# 所有 DataNode 节点的主机地址
hadoop1
hadoop2
hadoop3

六、将配置文件同步到其他节点

# 将 Hadoop 配置文件同步到其他节点上
rsync -avz /opt/hadoop-2.9. hadoop2:/opt/
rsync -avz /opt/hadoop-2.9. hadoop3:/opt/

启动 Hadoop 集群

一、第一次使用需要先格式化 NameNode,这里是在 hadoop1 上执行格式化

hadoop namenode -format

二、在 NameNode 所在节点启动 hdfs,这里是 hadoop1

start-dfs.sh

三、在 ResourceManger 所在节点启动 yarn,这里是 hadoop2

start-yarn.sh

查看各个节点进程

配置时间服务

https://www.cnblogs.com/jhxxb/p/10579816.html


http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/ClusterSetup.html

CentOS7 下 Hadoop 分布式部署的更多相关文章

  1. [过程记录]Centos7 下 Hadoop分布式集群搭建

    过程如下: 配置hosts vim /etc/hosts 格式: ip hostname ip hostname 设置免密登陆 首先:每台主机使用ssh命令连接其余主机 ssh 用户名@主机名 提示是 ...

  2. CentOS7下Hadoop伪分布式环境搭建

    CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...

  3. 在Centos7下安装与部署.net core

    在Centos7下安装与部署.net core 2018年02月28日 19:36:16 阅读数:388 个人安装流程,参照文档 https://www.cnblogs.com/Burt/p/6566 ...

  4. # centos7下FFmpeg环境部署记录

    # centos7下FFmpeg环境部署记录 随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多.FFmpeg是 ...

  5. Centos7下GlusterFS 分布式文件系统环境搭建

    Centos7下 GlusterFS 环境搭建准备工作glusterfs-3.6.9.tar.gzuserspace-rcu-master.zip三台服务器:192.168.133.53.192.16 ...

  6. CentOS7 下 Hadoop 单节点(伪分布式)部署

    Hadoop 下载 (2.9.2) https://hadoop.apache.org/releases.html 准备工作 关闭防火墙 (也可放行) # 停止防火墙 systemctl stop f ...

  7. 【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

    问题描述:    上一篇就是NameNode 的HA 部署完成,但是存在问题,问题是如果 主NameNode的节点宕机了,还是需要人工去使用命令来切换NameNode的Acitve 这样很不方便,所以 ...

  8. 【Hadoop 分布式部署 六:环境问题解决和集群基准测试】

    环境问题: 出现Temporary  failure  in  name  resolutionp-senior-zuoyan.com 的原因有很多,主要就是主机没有解析到, 那就在hadoop的sl ...

  9. 【Hadoop 分布式部署 四:配置Hadoop 2.x 中主节点(NN和RM)到从节点的SSH无密码登录】

    *******************                一定要使这三台机器的用户名相同,安装目录相同          ************* SSH 无密钥登录的简单介绍(之前再搭 ...

随机推荐

  1. 【AGC013C】Ants on a Circle 弹性碰撞

    题目大意 一个长度为\(lm\)的环上有\(n\)只蚂蚁,告诉你每只蚂蚁的位置和朝向,每只蚂蚁会向前爬,速度为\(1m/s\),两只蚂蚁相遇后都会掉头,问你\(t\)秒后每只蚂蚁的位置. \(n\le ...

  2. thinkphp 5内置验证规则-基本版

    内置规则 系统内置的验证规则如下: 格式验证类 require 验证某个字段必须,例如: 'name'=>'require' number 或者 integer 验证某个字段的值是否为数字(采用 ...

  3. 【POJ1083】 Moving Tables (并行的搬运)

    BUPT2017 wintertraining(15) #6E 题意 房间1和2,3和4,...,399和400共用一节走廊,有q次从房间li到ri的搬运桌子,一次搬运10分钟.两个搬运如果走廊有重叠 ...

  4. DP及其优化

    常见DP模型及其构造 序列DP ARC074 RGB Sequence 题意 给你一个长度为 \(n\) 的序列和 \(m\) 组约束条件,每组条件形如 \(l_i,r_i,x_i\),表示序列上的 ...

  5. 用c#查询各快递物流信息

    前面介绍过<用快递100接口查询各快递物流信息>,里面用的是API接口,但有些快递不支持这种方式,本文介绍的HtmlAPI支持所有快递公司. 支持包括EMS.邮政.顺丰和申通在内的所有公司 ...

  6. failover swarm 故障转移

    #故障转移 Failover #当其中一个节点关闭宕机时,其节点中的service会转移到另一个节点上.Swarm会检测到node1发生故障并把此故障节点的状态标记为Down; docker node ...

  7. TJOI2011书架(dp)

    当农夫约翰闲的没事干的时候,他喜欢坐下来看书.多年过去,他已经收集了 N 本书 (1 <= N <= 100,000), 他想造一个新的书架来装所有书. 每本书 i 都有宽度 W(i) 和 ...

  8. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

  9. rxjs学习笔记

    api List Rx.Observable.amb(...args) -存在竞争关系,amb里的流只能触发一个,并且忽略其他未处理的流. eq: <body> <input id= ...

  10. nodejs的某些api~(一)node的流2

    可写流writablewritable.write(chunk, [encoding], [callback])chunk {String | Buffer} 要写入的数据encoding {Stri ...