Hadoop框架:单服务下伪分布式集群搭建
本文源码: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框架:单服务下伪分布式集群搭建相关推荐
- HADOOP 伪分布式集群搭建
一 linux 环境的搭建 由于笔者这里使用的是vmware 虚拟机 采用centos7 linux 操作系统进行搭建,所以一下示例均以centos7进行示例 1. 搭建vmware 虚拟机 (1) ...
- zookeeper伪分布式集群搭建
zookeeper集群搭建注意点: 配置数据文件myid1/2/3对应server.1/2/3 通过zkCli.sh -server [ip]:[port]检测集群是否配置成功. 第一步:首先我们将我 ...
- Hadoop单机/伪分布式集群搭建(新手向)
此文已由作者朱笑笑授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 本文主要参照官网的安装步骤实现了Hadoop伪分布式集群的搭建,希望能够为初识Hadoop的小伙伴带来借鉴意 ...
- 【大数据】Hadoop—— 三大核心组件理论入门 | 完全分布式集群搭建 | 入门项目实战
文章目录 前言 大数据概述 时代背景 4V特点 大数据思维 核心技术 储存 计算 相关技术 云计算 物联网 Hadoop简介 简介 版本之分 项目生态结构 安装和部署 HDFS 简介 集群结构 实现目 ...
- 【ManggoDB】安装配置(伪分布式集群搭建)Replia Set
文章目录 ManggoDB 参考资料 安装配置 配置 MongoDB 复制集(Replica Set)搭建 搭建伪节点 集群测试 注意 配置Debezium的connect 连接器 创建数据库 配置文 ...
- HFDS伪分布式集群搭建
HFDS伪分布式,顾名思义就是不是真正的分布式,它是搭建在一台其上的HDFS,以下是搭建HFDS伪分布式的操作和一些相关问题 设置免密登录 先生成公钥和密钥 [root@localhost .ssh] ...
- HDFS伪分布式集群搭建
一.操作系统环境配置 1. 安装jdk rpm文件默认安装目录是 /usr 复制jdk路径配置环境变量 配置环境变量的目录 环境配置代码 刷新配置信息 使用jps检测是否配置成功(使用之前一定要先执行 ...
- 伪分布式集群搭建(hadoop)
1.安装VMware Tools 创建文件,实现挂载 创建文件夹software装软件的安装包.module装解压后的安装包 将VMwareTools的安装包移动到software文件中进行解压 解压 ...
- Hadoop-HDFS的伪分布式和完全分布式集群搭建
转自: https://blog.csdn.net/mhw666/article/details/91610598 CentOS 7 下使用yum安装MySQL5.7.20,并设置开启启动: ht ...
最新文章
- 出去之后,好好做人!华为两年,苦乐参半!
- 求求你别在用IF ELSE校验参数了
- 10.Azure应用程序网关(上)
- 程序员辞职卖卷饼:4天挣1个月工资!摆摊真那么赚钱?
- 计算机应用基础任务化教程知识点,计算机应用基础任务化教程
- GDCM:gdcm::ImageChangePlanarConfiguration的测试程序
- 用Enterprise Library开发应用程序 --- Enterprise Library - January 2006 翻译 第二部分
- 第四十五期:万亿级日访问量下,Redis在微博的9年优化历程
- earthdata数据的.nc4如何使用
- centos7.5 源码安装mysql5.7.25
- devops失败的原因_如果没有这7个部门的支持,您的DevOps尝试将失败。
- netty 图解_Netty工作原理架构图
- doc.project java_GitHub - kanghaimeng/idoc: Generate doc for java maven project.(java 项目自动生成文档)...
- atmega128 bootloader程序在IAR-AVR下 linker文件的配置及原因
- 多元线性回归分析spss结果解读_多重线性回归的结果解读和报告(SPSS实例教程)...
- 2020年android系统版本多少,2020年的Android系统会是什么样?
- 基于LabVIEW的计时器
- 设定rosmaster的IP随电脑IP变化,自动设置ROS_MASTER_URI
- 如何批量修改文件名?批量修改照片文件名和添加前缀
- RK3588平台开发系列讲解(RTC篇)RTC的使用
热门文章
- 计组之指令系统:1、指令系统概述(定义、分类、格式、扩展操作码指令格式)
- LeetCode:892. 三维形体的表面积
- 1-9:学习shell之权限
- .lastevent、!analyze(dump分析、异常错误码查询)
- 蓝桥杯-算法提高-凶手 断案
- C++ 里利用 std::ios::sync_with_stdio(false) 解决TLE问题
- 从Spring Boot信息泄露到AWS控制台劫持(攻破aws亚马逊服务器)
- Qt:Windows编程—Qt实现本地服务管理
- Qt:Qt实现飞秋拦截助手—介绍
- Linux系统编程——孤儿进程模拟及分析