阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS7下Hadoop分布式系统的安装部署

456次阅读
没有评论

共计 5932 个字符,预计需要花费 15 分钟才能阅读完成。

1、关于虚拟机的复制

新建一台虚拟机,系统为 CentOS7,再克隆两台,组成一个三台机器的小集群。正常情况下一般需要五台机器(一个Name 节点,一个 SecondName 节点,三个 Data 节点。)

 此外,为了使网络生效,需要注意以下几点:

1>  编辑网络配置文件

/etc/sysconfig/network-scripts/ifcfg-eno16777736

先前的版本需要 删除 mac 地址行,注意不是 uuid,而是hwaddr 这一点新的 CentOS 不再需要

2> 删除网卡和 mac 地址绑定文件 

rm -rf /etc/udev/rules.d/70-persistent-net.rules

3> 重启动系统

此外,mapreduce在运行的时候会随机开放端口,在 CentOS7 中,可以使用下面的命令将防火墙关闭

systemctl stop firewalld

2、IP 地址设置为静态

准备了三个 IP 地址

192.168.1.215

192.168.1.218

192.168.1.219

 CentOS7 下,修改 ip 地址的文件为/etc/sysconfig/network-scripts/ifcfg-eno16777736

主要作如下设置,其他的不需要变

# none 或 static 表示静态
OOTPROTO=static
# 是否随网络服务启动
ONBOOT=yes
IPADDR=192.168.1.215
# 子网掩码
NETMASK=255.255.255.0
# 网关,设置自己的
GATEWAY=192.168.0.1
# dns
DNS1=202.106.0.20

3、修改 hostname 与 hosts 文件

这两个文件均处于系统根目录的 etc 文件夹之中

下图显示了映射后的机器名称以及对应的 ip 地址(#localhost.localdomain 这一行多余,仅 master 刚刚好)

主节点master,两个数据节点data1data2

 CentOS7 下 Hadoop 分布式系统的安装部署

4、添加用户与组

需要为 Hadoop 软件系统设置单独的用户和组,本例中新添加的用户和所属组的名称均为hadoop  

adduser hadoop
passwd hadoop 

 5、利用 ssh 实现免密码登录

注意,目的是使 Hadoop 系统的所属用户在集群之间实现免密码登录,而不是 root 用户(除非 Hadoop 系统的所有者root,但一般不建议这么做)。这一点非常重要。

在本例中,软件所有者是上面新建的 hadoop 用户,密钥也要由 hadoop 用户来生成。

1> 更改配置文件

需要对 sshd_config 文件进行修改,主要是以下三项,取消注释即可 

?
1
vim /etc/ssh/sshd_config

 

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

之后,执行以下命令重启sshd 服务

service sshd restart

2> 生成密钥并分发相关文件

实现步骤如下:

a> 将三台计算机(masterdata1data2)分别切换到 hadoop 用户下,并分别 cdhadoop用户的家目录,然后执行 ssh-keygen -t rsa 命令,这样的结果,是在各自家目录的 .ssh 文件夹中生成了对应的 id_rsa.pub id_rsa 密钥对。

b> data1192.168.1.218),data2192.168.1.219)两台计算机中的公钥文件复制到master192.168.1.215)中,并重命名为id_rsa.pub218id_rsa.pub219,置于hadoop 用户家目录下的 .ssh 文件夹下。命令参考如下: 

scp id_rsa.pub hadoop@master:~/.ssh/id_rsa.pub218
scp id_rsa.pub hadoop@master:~/.ssh/id_rsa.pub219

 hadoop@master表示用 master 中的 hadoop 用户登录master

这样以来,master主机 hadoop 用户的 .ssh 文件夹就有了以下三个公钥文件:

d_rsa.pubd_rsa.pub218d_rsa.pub218

c> master 中,将以上三个文件以追加的形式写入 authorized_keys 文件,这些文件均位于 hadoop 用户 .ssh 文件夹中。 

cat id_rsa.pub >> authorized_keys 
cat id_rsa.pub218 >> authorized_keys
cat id_rsa.pub219 >> authorized_keys

 d> 更改  authorized_keys  文件的权限。这一步也可在分发后单独进行 

chmod 600 authorized_keys

 e> 分发 authorized_keys 文件到data1,data2 中 hadoop 用户的.ssh 文件中,并再次检查权限 

scp authorized_keys hadoop@data1:~/.ssh/authorized_keys
scp authorized_keys hadoop@data2:~/.ssh/authorized_keys

 之后就可以在小集群中使用 hadoop 用户实现免密码登录了。 

6、安装 jdk 

先在 master 中安装,之后分发,这里使用的是jdk-8u112-linux-x64.tar.gz

 1> 解压安装

 首先需要切换到 root 用户 

su root
cd /usr
mkdir java
tar -zxvf jdk-8u112-linux-x64.tar.gz ./java
ln -s jdk1.8.0_112/ jdk

 2> 分发

scp -r /usr/java root@data2:/usr/
scp -r /usr/java root@data2:/usr/

3> 设置环境变量,三台都要设置

1
vim /etc/profile
export JAVA_HOME=/usr/java/jdk
export JRE_HOME=/usr/java/jdk/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
source /etc/profile

CentOS7 下 Hadoop 分布式系统的安装部署

 7、安装 hadoop

先在 master 下安装,再分发

安装的版本为 2.6.5 解压安装到/usr/Apache/ 目录下,并建立软连接

Hadoop 所有配置文件的目录位于 /usr/Apache/hadoop-2.6.5/etc/hadoop 下,由于建立了一个软连接,所以 /usr/Apache/hadoop/etc/hadoop 是一样的

在 hadoop 软件目录的 dfs 文件夹中创建三个子文件夹 name、data、tmp,下面属性的设置会用到,注意其所有者和所属组。

CentOS7 下 Hadoop 分布式系统的安装部署

以下是配置文件的设置:

1> hdfs.site.xml 

<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/usr/Apache/hadoop/dfs/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/usr/Apache/hadoop/dfs/data</value>
</property>
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>master:50090</value>
</property>
<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>

2> mapred-site.xml

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
</property>

3> yarn-site.xml

设置如下: 

<property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.address</name>  
    <value>master:8032</value>  
</property>  
<property>  
    <name>yarn.resourcemanager.scheduler.address</name>  
    <value>master:8030</value>  
</property>  
<property>  
    <name>yarn.resourcemanager.resource-tracker.address</name> 
    <value>master:8031</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.admin.address</name> 
    <value>master:8033</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.webapp.address</name> 
    <value>master:8088</value> 
</property> 

 4> slaves 配置文件

master
data1
data2

注:本例将 master 也作为了一个数据节点

5> hadoop-env.sh 和 yarn-env.sh

这是两个相当重要的环境变量配置文件,由于目前仅安装 Hadoop,所以仅设置 jdk 即可,其他默认。

export JAVA_HOME=/usr/java/jdk

6> 将 Apache 文件夹分发到 data1,data2 对应的目录下

# 分发
scp -r ./Apache root@data1:/usr/
scp -r ./Apache root@data2:/usr/

# 这里使用了 root 用户,记得分发后要改所有者与所属组
chown -R hadoop:hadoop Apache/

注意 jdk 是不需要改所有者与所属组的,因为通用 

7> 三台机器分别配置 hadoop 用户的.bashrc 文件,设置环境变量

su hadoop
vim ~/.bashrc
export $HADOOP_HOME=/usr/Apache/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export CLASSPATH=.:$HADOOP_HOME/lib:$CLASSPATH
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source ~/.bashrc

8、开启历史服务器

./mr-jobhistory-daemon.sh start historyserver
./yarn-daemon.sh start historyserver

9、运行结果

相关进程

 CentOS7 下 Hadoop 分布式系统的安装部署

  CentOS7 下 Hadoop 分布式系统的安装部署

  CentOS7 下 Hadoop 分布式系统的安装部署

All Applications

http://192.168.1.215:8088

JobHistory 

http://192.168.1.215:19888

Master

http://192.168.1.215:50070

 CentOS7 下 Hadoop 分布式系统的安装部署

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-11/137547.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5932字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7977904
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级

让微信公众号成为 AI 智能体:从内容沉淀到智能问答的一次升级 大家好,我是星哥,之前写了一篇文章 自己手撸一...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

颠覆 AI 开发效率!开源工具一站式管控 30+大模型ApiKey,秘钥付费+负载均衡全搞定

  颠覆 AI 开发效率!开源工具一站式管控 30+ 大模型 ApiKey,秘钥付费 + 负载均衡全...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
150元打造低成本NAS小钢炮,捡一块3865U工控板

150元打造低成本NAS小钢炮,捡一块3865U工控板

150 元打造低成本 NAS 小钢炮,捡一块 3865U 工控板 一块二手的熊猫 B3 工控板 3865U,搭...