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伪分布式集群搭建与安装(ubuntu系统)
1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链 ...
- kafka系列一:单节点伪分布式集群搭建
Kafka集群搭建分为单节点的伪分布式集群和多节点的分布式集群两种,首先来看一下单节点伪分布式集群安装.单节点伪分布式集群是指集群由一台ZooKeeper服务器和一台Kafka broker服务器组成 ...
- zookeeper伪分布式集群搭建
zookeeper集群搭建注意点: 配置数据文件myid1/2/3对应server.1/2/3 通过zkCli.sh -server [ip]:[port]检测集群是否 ...
- Hadoop学习笔记(一):ubuntu虚拟机下的hadoop伪分布式集群搭建
hadoop百度百科:https://baike.baidu.com/item/Hadoop/3526507?fr=aladdin hadoop官网:http://hadoop.apache.org/ ...
- Hadoop单机/伪分布式集群搭建(新手向)
此文已由作者朱笑笑授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 本文主要参照官网的安装步骤实现了Hadoop伪分布式集群的搭建,希望能够为初识Hadoop的小伙伴带来借鉴意 ...
- 基于Hadoop伪分布式集群搭建Spark
一.前置安装 1)JDK 2)Hadoop伪分布式集群 二.Scala安装 1)解压Scala安装包 2)环境变量 SCALA_HOME = C:\ProgramData\scala-2.10.6 P ...
- Hadoop上路-01_Hadoop2.3.0的分布式集群搭建
一.配置虚拟机软件 下载地址:https://www.virtualbox.org/wiki/downloads 1.虚拟机软件设定 1)进入全集设定 2)常规设定 2.Linux安装配置 1)名称类 ...
- ZooKeeper的伪分布式集群搭建
ZooKeeper集群的一些基本概念 zookeeper集群搭建: zk集群,主从节点,心跳机制(选举模式) 配置数据文件 myid 1/2/3 对应 server.1/2/3 通过 zkCli.sh ...
- Hadoop伪分布式集群搭建
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 1.下载Hadoop压缩包 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop- ...
随机推荐
- Java字符串中有多少个字符多少个char、字节
Java 中Char是两个字节,Char在Java中也被称为代码单元(Code Unit) . Java中的字符与代码点(Code Unit)一 一对应,而可能对应一个或者两个 代码单元 字符串的le ...
- JavaFX桌面应用-视频转码工具(支持爱奇艺qsv转mp4)
最近由于需要将在爱奇艺下载的视频(qsv)转化了mp4,用JavaFX开发一个视频转码工具,算是JavaFX开发的第一个应用吧. 支持qsv转码mp4,理论上支持各种格式,仅测试了flv,qsv格式. ...
- Educational Codeforces Round 93 (Rated for Div. 2)题解
A. Bad Triangle 题目:https://codeforces.com/contest/1398/problem/A 题解:一道计算几何题,只要观察数组的第1,2,n个,判断他们能否构成三 ...
- Linux中su和su -区别,别再傻傻分不清
写在前面 如果你不清楚su和su -切换用户的区别,你一定会遇到在使用su切换用户执行命令出现报错"command not found"感到惊讶.分明之前这个指令执行的好好的,为什 ...
- Android 使用Zxing报错:Channel is unrecoverably broken and will be disposed!
使用Zxing的扫描二维码库,修改成从相册识别二维码图片,根据网上的demo修改,继而在我使用的fragment报错Channel is unrecoverably broken and will b ...
- React 17 要来了,非常特别的一版
写在前面 React 最近发布了v17.0.0-rc.0,距上一个大版本v16.0(发布于 2017/9/27)已经过去近 3 年了 与新特性云集的 React 16及先前的大版本相比,React 1 ...
- PythonCrashCourse 第三章习题
PythonCrashCourse 第三章习题 3.1 将一些朋友的姓名存储在一个列表中,并将其命名为names.依次访问该列表中的每个元素,从而将每个朋友的姓名都打印出来 names = ['lih ...
- 分布式数据库中间件 MyCat | 分库分表实践
MyCat 简介 MyCat 是一个功能强大的分布式数据库中间件,是一个实现了 MySQL 协议的 Server,前端人员可以把它看做是一个数据库代理中间件,用 MySQL 客户端工具和命令行访问:而 ...
- 如何获取东方财富文华新浪财经实时行情数据API接口
BIGI行情期货外汇股指A股期权实时行情数据文华新浪财经API接口新浪财经并非实时行情数据源,所以获取的行情数据源也并非实时的.以下介绍的方法和新浪财经获取行情数据源的方法是一致的.需要实时行情数据源 ...
- CPU有个禁区,内核权限也无法进入!
神秘项目 我是CPU一号车间的阿Q,是的,我又来了. 最近一段时间,我几次下班约隔壁二号车间虎子,他都推脱没有时间,不过也没看见他在忙个啥. 前几天,我又去找他,还是没看到他人,却意外地在他桌上发现了 ...