CentOS7 下 Hadoop 分布式部署
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 分布式部署的更多相关文章
- [过程记录]Centos7 下 Hadoop分布式集群搭建
过程如下: 配置hosts vim /etc/hosts 格式: ip hostname ip hostname 设置免密登陆 首先:每台主机使用ssh命令连接其余主机 ssh 用户名@主机名 提示是 ...
- CentOS7下Hadoop伪分布式环境搭建
CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...
- 在Centos7下安装与部署.net core
在Centos7下安装与部署.net core 2018年02月28日 19:36:16 阅读数:388 个人安装流程,参照文档 https://www.cnblogs.com/Burt/p/6566 ...
- # centos7下FFmpeg环境部署记录
# centos7下FFmpeg环境部署记录 随着视频在网站上的应用越来越多,越来越多的网站服务器需要支持视频转码,视频压缩,FFmpeg是目前最好用的网站服务器后台转码程序,应用最多.FFmpeg是 ...
- Centos7下GlusterFS 分布式文件系统环境搭建
Centos7下 GlusterFS 环境搭建准备工作glusterfs-3.6.9.tar.gzuserspace-rcu-master.zip三台服务器:192.168.133.53.192.16 ...
- CentOS7 下 Hadoop 单节点(伪分布式)部署
Hadoop 下载 (2.9.2) https://hadoop.apache.org/releases.html 准备工作 关闭防火墙 (也可放行) # 停止防火墙 systemctl stop f ...
- 【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】
问题描述: 上一篇就是NameNode 的HA 部署完成,但是存在问题,问题是如果 主NameNode的节点宕机了,还是需要人工去使用命令来切换NameNode的Acitve 这样很不方便,所以 ...
- 【Hadoop 分布式部署 六:环境问题解决和集群基准测试】
环境问题: 出现Temporary failure in name resolutionp-senior-zuoyan.com 的原因有很多,主要就是主机没有解析到, 那就在hadoop的sl ...
- 【Hadoop 分布式部署 四:配置Hadoop 2.x 中主节点(NN和RM)到从节点的SSH无密码登录】
******************* 一定要使这三台机器的用户名相同,安装目录相同 ************* SSH 无密钥登录的简单介绍(之前再搭 ...
随机推荐
- Elasticsearch 删除数据
删除数据分为两种:一种是删除索引(数据和表结构同时删除,作用同SQLSERVER 中 DROP TABLE "表格名" ),另一种是删除数据(不删除表结构,作用同SQLSERVER ...
- 查询SQLSERVER中系统所有表
SQL 查询所有表名: SELECT NAME FROM SYSOBJECTS WHERE TYPE='U' SELECT * FROM INFORMATION_SCHEMA.TABLES 查询表的所 ...
- Quartus prime 16.0 in_system memory content editor 使用
前言 quartus提供了片内存储器的实时查看与修改,而不用编译工程,很棒.你可以方便的查看到存储器中到底存储了什么东西. 流程 1.打开: 2.主界面: 3.设置jtag项之后,查看即可. sign ...
- Nifi flow 备份恢复
1. 备份 copy 下面的文件到本地: conf/flow.xml.gz 2. 恢复 新安装一个nifi的环境,把这个文件copy到conf文件夹下 运行nifi, 在界面上create ...
- emwin之自绘制 BUTTON 图形的一些问题
@2018-11-8 [小记] [需求] 官方只提供圆角矩形图形,其他图形及颜色需求则要自己实现 [注意] 通过回调函数自实现的图形绘制存在该回调函数一直被调用的现象,而非像窗口回调函数中 BUTTO ...
- pip 安装第三方包提示Unknown or unsupported command 'install'
Unknown or unsupported command 'install' Unknown or unsupported command 'show' Unknown or unsupporte ...
- 使用Coverage进行代码覆盖率的测试
软件测试实验报告 一.实验目的: 使用软件测试代码覆盖率. 二.实验工具: Windows10.Python3.6.3.Coverage. 三.实验内容: 1.编写准备测试的代码main.py和测试代 ...
- 录毛线脚本,直接抓包手写最简洁的LoadRunner性能测试脚本
通常情况下,我们测试性能先要做单场景测试,即某个功能,一般情况下,这个功能依赖的功能(可能是需要先登录)不会太多, 如果录制脚本的话,会录制到很多无关的请求,大大增加了脚本的复杂度以及调整脚本的工作量 ...
- BZOJ 4562: [Haoi2016]食物链(拓扑排序)
题面: https://www.lydsy.com/JudgeOnline/problem.php?id=4562 一句话题意:给一个DAG,求有多少条不完全相同的链,使链首入度为0,链尾出度为0. ...
- 【CF1141G】Privatization of Roads in Treeland
题目大意:给定一个 N 个点的无根树,现给这个树进行染色.定义一个节点是坏点,若满足与该节点相连的至少两条边是相同的颜色,求至多有 k 个坏点的情况下最少需要几种颜色才能进行合法染色. 题解:考虑一个 ...