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

CentOS 7.3下Hadoop2.8分布式集群安装与测试

440次阅读
没有评论

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

1.Hadoop2.x 概述

hadoop2NameNode 可以有多个(目前只支持 2 个)。每一个都有相同的职能。一个是 active 状态的,一个是 standby 状态的。当集群运行时,只有 active 状态的 NameNode 是正常工作的,standby状态的 NameNode 是处于待命状态的,时刻同步 active 状态 NameNode 的数据。一旦 active 状态的 NameNode 不能工作,standby状态的 NameNode 就可以转变为 active 状态的,就可以继续工作了。

2NameNode 的数据其实是实时共享的。新 HDFS 采用了一种共享机制,Quorum Journal NodeJournalNode)集群或者 Network File SystemNFS)进行共享。NFS 是操作系统层面的,JournalNodehadoop 层面的,我们这里使用 JournalNode 集群进行数据共享(这也是主流的做法)。JournalNode的架构图如下:

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试   

两个 NameNode 为了数据同步,会通过一组称作 JournalNodes 的独立进程进行相互通信。当 active 状态的 NameNode 的命名空间有任何修改时,会告知大部分的 JournalNodes 进程。standby状态的 NameNode 有能力读取 JNs 中的变更信息,并且一直监控 edit log 的变化,把变化应用于自己的命名空间。standby可以确保在集群出错时,命名空间状态已经完全同步了。

对于 HA 集群而言,确保同一时刻只有一个 NameNode 处于 active 状态是至关重要的。否则,两个 NameNode 的数据状态就会产生分歧,可能丢失数据,或者产生错误的结果。为了保证这点,这就需要利用使用 ZooKeeper 了。首先 HDFS 集群中的两个 NameNode 都在 ZooKeeper 中注册,当 active 状态的 NameNode 出故障时,ZooKeeper能检测到这种情况,它就会自动把 standby 状态的 NameNode 切换为 active 状态。

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

Hadoop 安装分为三种方式,分别为单机、伪分布式、完全分布式,安装过程不难,在此主要详细叙述完全分布式的安装配置过程,毕竟生产环境都使用的完全分布式,前两者作为学习和研究使用。按照下述步骤一步一步配置一定可以正确的安装 Hadoop 分布式集群环境。

2、搭建

2.1 网络环境

No.

Host Name

IP Address

Node Type

User Name

1

Maser

192.168.1.106

Name Node

hadoop/root

2

Slave1

192.168.1.107

Data Node

hadoop/root

3

Slave2

192.168.1.108

Data Node

hadoop/root

   

2.2、软硬件环境

CentOS 7.3

Java-1.8.0-openjdk

Hadoop 2.8.1

   

2.3、环境搭建

All nodes are disabled SELinux and firewalld

All nodes can ping with each other

All nodes have same hadoop directory structure and a same user account

Create a hadoop user, home directory is /home/hadoop, add into root group.

hadoop directory is /usr/local/hadoop, directory owner is hadoop

Master node and slave node can SSH with no password publick key authentication

All nodes have same /etc/hosts, add master node and slave node record line

   

SSH采用了公钥加密。过程如下: 

(1)远程主机收到用户的登录请求,把自己的公钥发给用户。 

(2)用户使用这个公钥,将登录密码加密后,发送回来。 

(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

   

3、安装配置Java

3.1、安装 Java

安装 JDK 以及配置环境变量,需要以 “root” 的身份进行

# yum search jdk

# yum -y install java-1.8.0-openjdk*

   

3.2、配置 java 环境

新建配置文件etc/profile/java.sh

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

export JAVA_HOME=/usr/lib/jvm/java

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${JRE_HOME}/lib

export HADOOP_HOME=/usr/local/hadoop

export PATH=.:$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试  CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试 CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试  HADOOPHOME/bin: {HADOOP_HOME}/sbin

   

3.3、验证

# java -version

# javac -version

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

4、安装配置 hadoop

4.1 安装

# cd /usr/local/src

# wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.8.1/hadoop-2.8.1.tar.gz

# tar -vxzf hadoop-2.8.1

# mv hadoop-2.8.1 ../hadoop

# chown -R hadoop:hadoop hadoop

   

4.2 配置 hadoop 环境

/etc/profile.d/java

   

4.3.2 创建 hadoop 子目录

# cd /usr/local/hadoop

# mkdir tmp hdfs

# cd hdfs

# mkdir name tmp data

   

4.3 hadoop 配置文件

进入到 $HADOOP_HOME/etc/hadoop 目录修改配置文件,配置项可参考文档http://hadoop.apache.org/docs/r2.8.0/

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

4.3.1 hadoop-env.sh

验证

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

4.3.2 core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

<final>true</final>

<!–(备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)–>

<description>A base for other temporary directories.</description>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://master:9000</value>

<!– hdfs://Master.Hadoop:22–>

<final>true</final>

</property>

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

</configuration>

   

4.3.3 hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.name.dir</name>

<value>/usr/local/hadoop/hdfs/name</value>

</property>

<property>

<name>dfs.data.dir</name>

<value>/usr/local/hadoop/hdfs/data</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>master.hadoop:9001</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

   

4.3.4 mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

   

4.3.5 yarn-site.xml

<configuration>

<!– Site specific YARN configuration properties –>

<property>

<name>yarn.resourcemanager.address</name>

<value>Master.Hadoop:18040</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>Master.Hadoop:18030</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>Master.Hadoop:18088</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>Master.Hadoop:18025</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>Master.Hadoop:18141</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>

   

4.3.6 /usr/local/hadoop/etc/hadoop/masters 文件

/usr/local/hadoop/etc/hadoop/slaves

   

4.4 Slave node 上 java/hadoop 安装与配置

4.4.1 java/openjdk 安装同 master node

在 master node 上

scp /etc/profile.d/java.sh slave1:/etc/profile.d

scp /etc/profile.d/java.sh slave2:/etc/profile.d

4.4.2 Hadoop安装

在 master node 上

scp -r /usr/local/hadoop slave1:/usr/local

scp -r /usr/local/hadoop slave1:/usr/local

4.4.3 改变权限

chown -R hadoop:hadoop /usr/lib/jvm/java-1.8.0-openjdk-*

chown -R hadoop:hadoop /usr/local/hadoop

   

5、测试、验证

5.1

$ hadoop namenode -format

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

$ start-all .sh

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

$ ps -ef |grep hadoop

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

$ jps

master (master)

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

slave1 (Secondary master)

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

slave2

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

5.2 通过网页查看集群 

在本地访问HDFS WebUI: http://8088:50070

YARN WebUI: http://master:8088

   

5.3 hadoop 集群系统提交第一个 mapreduce 任务(wordcount)

5.3.1 cd /home/hadoop

$ cat >>test.txt<<EOF

Hello World

Hello World

Hello World

Hello World

   

5.3.2 进入本地 hadoop 目录(/usr/local/hadoop

$ hdfs dfs -mkdir -p /data/input在虚拟分布式文件系统上创建一个测试目录/data/input

$ hdfs dfs -put test.txt  /data/input  将当前目录下的 README.txt  文件复制到虚拟分布式文件系统中

$ hdfs dfs-ls /data/input    查看文件系统中是否存在我们所复制的文件

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

   

5.3.3  运行如下命令向 hadoop 提交单词统计任务

进入 jar 文件目录,执行下面的指令。

$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar \

wordcount \

/data/input /data/output/result

   

查看 result,结果在result 下面的 part-r-00000

CentOS 7.3 下 Hadoop2.8 分布式集群安装与测试

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

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-09/146864.htm

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

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7964560
文章搜索
热门文章
星哥带你玩飞牛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-提高用户访问的响应速度和成功率
随机文章
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...
手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板

手把手教你,购买云服务器并且安装宝塔面板 前言 大家好,我是星哥。星哥发现很多新手刚接触服务器时,都会被“选购...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...

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

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

300元就能买到的”小钢炮”?惠普7L四盘位小主机解析

  300 元就能买到的 ” 小钢炮 ”?惠普 7L 四盘位小主机解析 最近...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...