本文源码:GitHub·点这里 || GitEE·点这里

一、基础环境

1、环境版本

环境:centos7
hadoop版本:2.7.2
jdk版本:1.8

2、Hadoop目录结构

  • bin目录:存放对Hadoop的HDFS,YARN服务进行操作的脚本
  • etc目录:Hadoop的相关配置文件目录
  • lib目录:存放Hadoop的本地库,提供数据压缩解压缩能力
  • sbin目录:存放启动或停止Hadoop相关服务的脚本
  • share目录:存放Hadoop的依赖jar包、文档、和相关案例

3、配置加载

vim /etc/profile
# 添加环境
export JAVA_HOME=/opt/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/hadoop2.7
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin# 退出刷新配置
source /etc/profile

二、伪集群配置

以下配置文件所在路径:/opt/hadoop2.7/etc/hadoop,这里是Linux环境,脚本配置sh格式。

1、配置hadoop-env

root# vim hadoop-env.sh
# 修改前
export JAVA_HOME=
# 修改后
export JAVA_HOME=/opt/jdk1.8

2、配置core-site

文件结构概览

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
</configuration>

NameNode的地址

<property><name>fs.defaultFS</name><value>hdfs://127.0.0.1:9000</value>
</property>

数据存放目录:Hadoop运行时产生文件的存储目录。

<property><name>hadoop.tmp.dir</name><value>/opt/hadoop2.7/data/tmp</value>
</property>

3、配置hdfs-site

文件结构和上述一样,配置hdfs副本个数,这里伪环境,配置1个即可。

<property><name>dfs.replication</name><value>1</value>
</property>

4、配置yarn-env

export JAVA_HOME=/opt/jdk1.8

5、配置yarn-site

指定YARN的ResourceManager的地址

<property><name>yarn.resourcemanager.hostname</name><value>192.168.72.132</value>
</property>

指定map产生的中间结果传递给reduce采用的机制是shuffle

<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>

6、配置mapred-env

export JAVA_HOME=/opt/jdk1.8

7、配置mapred-site

将mapred-site.xml.template重新命名为mapred-site.xml。

指定MapReduce程序资源调在度集群上运行。如果不指定为yarn,那么MapReduce程序就只会在本地运行而非在整个集群中运行。

<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

三、环境启动测试

1、测试文件系统

Hdfs相关

格式化NameNode

第一次启动时执行该操作。

[hadoop2.7]# bin/hdfs namenode -format

格式化NameNode,会产生新的clusterID,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要停止相关进程,删除data数据和log日志,然后再格式化NameNode。clusterID在如下目录中的VERSION文件里,可自行查看对比。

/opt/hadoop2.7/data/tmp/dfs/name/current
/opt/hadoop2.7/data/tmp/dfs/data/current

启动NameNode

[hadoop2.7]# sbin/hadoop-daemon.sh start namenode

启动DataNode

[hadoop2.7]# sbin/hadoop-daemon.sh start datanode

jps查看状态

[root@localhost hadoop2.7]# jps
2450 Jps
2276 NameNode
2379 DataNode

Web界面查看

需要Linux关闭防火墙和相关安全增强控制(这里很重要)。

IP地址:50070

Yarn相关

启动ResourceManager

[hadoop2.7]# sbin/yarn-daemon.sh start resourcemanager

启动NodeManager

[hadoop2.7]# sbin/yarn-daemon.sh start nodemanager

Web界面查看

IP地址:8088/cluster

MapReduce相关

文件操作测试

创建一个测试文件目录

[root@localhost inputfile]# pwd
/opt/inputfile
[root@localhost inputfile]# echo "hello word hadoop" > word.txt

HDFS文件系统上创建文件夹

[hadoop2.7] bin/hdfs dfs -mkdir -p /opt/upfile/input

上传文件

[hadoop2.7]# bin/hdfs dfs -put /opt/inputfile/word.txt /opt/upfile/input

查看文件

[hadoop2.7]# bin/hdfs dfs -ls /opt/upfile/input

2、Web端查看文件

执行文件分析

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /opt/upfile/input /opt/upfile/output

查看分析结果

bin/hdfs dfs -cat /opt/upfile/output/*

结果:每个单词各自出现一次。

删除分析结果

bin/hdfs dfs -rm -r /opt/upfile/output

四、历史服务器

MapReduce的JobHistoryServer,这是一个独立的服务,可通过 web UI 展示历史作业日志。

1、修改mapred-site

<!-- 服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.72.132:10020</value>
</property><!-- 服务器web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>192.168.72.132:19888</value>
</property>

2、启动服务

[hadoop2.7]# sbin/mr-jobhistory-daemon.sh start historyserver

3、Web端查看

IP地址:19888

4、配置日志的聚集

日志聚集概念:应用服务运行完成以后,将运行日志信息上传到HDFS系统上。方便的查看到程序运行详情,方便开发调试。

开启日志聚集功能之后,需要重新启动NodeManager 、ResourceManager和HistoryManager。

关闭上述服务

[hadoop2.7]# sbin/yarn-daemon.sh stop resourcemanager
[hadoop2.7]# sbin/yarn-daemon.sh stop nodemanager
[hadoop2.7]# sbin/mr-jobhistory-daemon.sh stop historyserver

修改yarn-site

<!-- 日志聚集功开启 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property><!-- 日志保留时间7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

修改完之后再次启动上述服务器。再次执行文件分析任务。

查看Web端

五、源代码地址

GitHub·地址
https://github.com/cicadasmile/big-data-parent
GitEE·地址
https://gitee.com/cicadasmile/big-data-parent

Hadoop框架:单服务下伪分布式集群搭建相关推荐

  1. HADOOP 伪分布式集群搭建

    一 linux 环境的搭建 由于笔者这里使用的是vmware 虚拟机 采用centos7 linux 操作系统进行搭建,所以一下示例均以centos7进行示例 1.  搭建vmware 虚拟机 (1) ...

  2. zookeeper伪分布式集群搭建

    zookeeper集群搭建注意点: 配置数据文件myid1/2/3对应server.1/2/3 通过zkCli.sh -server [ip]:[port]检测集群是否配置成功. 第一步:首先我们将我 ...

  3. Hadoop单机/伪分布式集群搭建(新手向)

    此文已由作者朱笑笑授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 本文主要参照官网的安装步骤实现了Hadoop伪分布式集群的搭建,希望能够为初识Hadoop的小伙伴带来借鉴意 ...

  4. 【大数据】Hadoop—— 三大核心组件理论入门 | 完全分布式集群搭建 | 入门项目实战

    文章目录 前言 大数据概述 时代背景 4V特点 大数据思维 核心技术 储存 计算 相关技术 云计算 物联网 Hadoop简介 简介 版本之分 项目生态结构 安装和部署 HDFS 简介 集群结构 实现目 ...

  5. 【ManggoDB】安装配置(伪分布式集群搭建)Replia Set

    文章目录 ManggoDB 参考资料 安装配置 配置 MongoDB 复制集(Replica Set)搭建 搭建伪节点 集群测试 注意 配置Debezium的connect 连接器 创建数据库 配置文 ...

  6. HFDS伪分布式集群搭建

    HFDS伪分布式,顾名思义就是不是真正的分布式,它是搭建在一台其上的HDFS,以下是搭建HFDS伪分布式的操作和一些相关问题 设置免密登录 先生成公钥和密钥 [root@localhost .ssh] ...

  7. HDFS伪分布式集群搭建

    一.操作系统环境配置 1. 安装jdk rpm文件默认安装目录是 /usr 复制jdk路径配置环境变量 配置环境变量的目录 环境配置代码 刷新配置信息 使用jps检测是否配置成功(使用之前一定要先执行 ...

  8. 伪分布式集群搭建(hadoop)

    1.安装VMware Tools 创建文件,实现挂载 创建文件夹software装软件的安装包.module装解压后的安装包 将VMwareTools的安装包移动到software文件中进行解压 解压 ...

  9. Hadoop-HDFS的伪分布式和完全分布式集群搭建

    转自:  https://blog.csdn.net/mhw666/article/details/91610598 CentOS 7 下使用yum安装MySQL5.7.20,并设置开启启动:  ht ...

最新文章

  1. 出去之后,好好做人!华为两年,苦乐参半!
  2. 求求你别在用IF ELSE校验参数了
  3. 10.Azure应用程序网关(上)
  4. 程序员辞职卖卷饼:4天挣1个月工资!摆摊真那么赚钱?
  5. 计算机应用基础任务化教程知识点,计算机应用基础任务化教程
  6. GDCM:gdcm::ImageChangePlanarConfiguration的测试程序
  7. 用Enterprise Library开发应用程序 --- Enterprise Library - January 2006 翻译 第二部分
  8. 第四十五期:万亿级日访问量下,Redis在微博的9年优化历程
  9. earthdata数据的.nc4如何使用
  10. centos7.5 源码安装mysql5.7.25
  11. devops失败的原因_如果没有这7个部门的支持,您的DevOps尝试将失败。
  12. netty 图解_Netty工作原理架构图
  13. doc.project java_GitHub - kanghaimeng/idoc: Generate doc for java maven project.(java 项目自动生成文档)...
  14. atmega128 bootloader程序在IAR-AVR下 linker文件的配置及原因
  15. 多元线性回归分析spss结果解读_多重线性回归的结果解读和报告(SPSS实例教程)...
  16. 2020年android系统版本多少,2020年的Android系统会是什么样?
  17. 基于LabVIEW的计时器
  18. 设定rosmaster的IP随电脑IP变化,自动设置ROS_MASTER_URI
  19. 如何批量修改文件名?批量修改照片文件名和添加前缀
  20. RK3588平台开发系列讲解(RTC篇)RTC的使用

热门文章

  1. 计组之指令系统:1、指令系统概述(定义、分类、格式、扩展操作码指令格式)
  2. LeetCode:892. 三维形体的表面积
  3. 1-9:学习shell之权限
  4. .lastevent、!analyze(dump分析、异常错误码查询)
  5. 蓝桥杯-算法提高-凶手 断案
  6. C++ 里利用 std::ios::sync_with_stdio(false) 解决TLE问题
  7. 从Spring Boot信息泄露到AWS控制台劫持(攻破aws亚马逊服务器)
  8. Qt:Windows编程—Qt实现本地服务管理
  9. Qt:Qt实现飞秋拦截助手—介绍
  10. Linux系统编程——孤儿进程模拟及分析