文档章节

CentOS7 下 Hadoop 单节点(伪分布式)部署

o
 osc_fmg49rzg
发布于 2019/03/20 22:43
字数 1031
阅读 9
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

Hadoop 下载 (2.9.2)

https://hadoop.apache.org/releases.html

 

准备工作

关闭防火墙 (也可放行)

# 停止防火墙
systemctl stop firewalld

# 关闭防火墙开机自启动
systemctl disable firewalld

 

修改 hosts 文件,让 hadoop 对应本机 IP 地址 (非 127.0.0.1)

vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

xxx.xxx.xxx.xxx    hadoop

 

安装 JDK

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

# 解压
tar -zxf /opt/jdk-8u202-linux-x64.tar.gz -C /opt/

# 配置环境变量
vim /etc/profile

# JAVA_HOME
export JAVA_HOME=/opt/jdk1.8.0_202/
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

# 刷新环境变量
source /etc/profile

# 验证
java -version

# java version "1.8.0_202"
# Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
# Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)

 

安装Hadoop

# 解压
tar -zxf /opt/hadoop-2.9.2-snappy-64.tar.gz -C /opt/

# 配置环境变量
vim /etc/profile

# HADOOP_HOME
export HADOOP_HOME=/opt/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

# 刷新环境变量
source /etc/profile

# 验证
hadoop version

# 自己编译的,显示可能不一样
# Hadoop 2.9.2
# Subversion Unknown -r Unknown
# Compiled by root on 2018-12-16T09:39Z
# Compiled with protoc 2.5.0
# From source with checksum 3a9939967262218aa556c684d107985
# This command was run using /opt/hadoop-2.9.2/share/hadoop/common/hadoop-common-2.9.2.jar

 

配置 Hadoop 伪分布式

一、配置 HDFS

hadoop-env.sh

vim /opt/hadoop-2.9.2/etc/hadoop/hadoop-env.sh

# 配置 JDK 路径
# The java implementation to use.
export JAVA_HOME=/opt/jdk1.8.0_202/

 

core-site.xml

<configuration>
    <!-- 指定HDFS中NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop:9000</value>
    </property>
    <!-- 指定Hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoopTmp</value>
    </property>
</configuration>

 

hdfs-site.xml

<configuration>
    <!-- 指定HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <!-- 默认为true,namenode 连接 datanode 时会进行 host 解析查询 -->
    <property>
        <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
        <value>true</value>
    </property>
</configuration>

 

启动 hdfs

# 第一次使用需要先格式化一次。之前若格式化过请先停止进程,然后删除文件再执行格式化操作
hdfs namenode -format

# 启动 namenode
hadoop-daemon.sh start namenode

# 启动 datanode
hadoop-daemon.sh start datanode

# 验证,查看 jvm 进程
jps

# 84609 Jps
# 84242 NameNode
# 84471 DataNode

浏览器访问 CentOS 的 IP 地址加端口号 (默认50070) 即可看到 web 端

 

二、配置 YARN

yarn-env.sh

vim /opt/hadoop-2.9.2/etc/hadoop/yarn-env.sh

# 配置 JDK 路径
# some Java parameters
export JAVA_HOME=/opt/jdk1.8.0_202/

 

yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
    <!-- Reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 指定YARN的ResourceManager的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop</value>
    </property>
</configuration>

 

启动 yarn,需保证 hdfs 已启动

# 启动 resourcemanager
yarn-daemon.sh start resourcemanager

# 启动 nodemanager
yarn-daemon.sh start nodemanager

# 查看 JVM 进程
jps

# 1604 DataNode
# 1877 ResourceManager
# 3223 Jps
# 1468 NameNode
# 2172 NodeManager

浏览器访问 CentOS 的 IP 地址加端口号 (默认8088) 即可看到 web 端

 

 

三、配置 MapReduce

mapred-env.sh

vim /opt/hadoop-2.9.2/etc/hadoop/mapred-env.sh

# 配置 JDK 路径
export JAVA_HOME=/opt/jdk1.8.0_202/

# when HADOOP_JOB_HISTORYSERVER_HEAPSIZE is not defined, set it.

 

mapred-site.xml

# 复制一份
cp /opt/hadoop-2.9.2/etc/hadoop/mapred-site.xml.template /opt/hadoop-2.9.2/etc/hadoop/mapred-site.xml

# 编辑
vim /opt/hadoop-2.9.2/etc/hadoop/mapred-site.xml
<configuration>
    <!-- 指定MR运行在YARN上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

 

运行一个 MapReduce 任务

# 计算圆周率
hadoop jar /opt/hadoop-2.9.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar pi 10 100

# Job Finished in 26.542 seconds
# Estimated value of Pi is 3.14800000000000000000

浏览器访问 CentOS 的 IP 地址加端口号 (默认8088) 可以查看记录

 

其他配置

 

四、配置 jobhistory,打开历史记录

mapred-site.xml

<configuration>
    <!-- 历史服务器端地址 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop:10020</value>
    </property>
    <!-- 历史服务器web端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop:19888</value>
    </property>
    <property>
        <name>yarn.log.server.url</name>
        <value>http://hadoop:19888/jobhistory/logs</value>
    </property>
</configuration>
# 启动 jobhistory
mr-jobhistory-daemon.sh start historyserver

# JVM 进程
jps

# 7376 NodeManager
# 6903 DataNode
# 18345 Jps
# 6797 NameNode
# 7086 ResourceManager
# 18254 JobHistoryServer

浏览器访问 CentOS 的 IP 地址加端口号 (默认19888) 即可看到 web 端

 

五、配置 log-aggregation,打开日志聚集,在 web 端可以查看运行详情

yarn-site.xml

<configuration>
    <!-- 开启日志聚集功能 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 设置日志保留时间(7天) -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>
# 需要重启一遍服务

hadoop-daemon.sh stop namenode
hadoop-daemon.sh stop datanode
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh stop nodemanager
mr-jobhistory-daemon.sh stop historyserver

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
mr-jobhistory-daemon.sh start historyserver

# 再运行一个任务,就可以看到详情
hadoop jar /opt/hadoop-2.9.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar pi 10 100

查看刚刚运行的任务详情,未开启日志聚集之前运行的任务无法查看详情

 


http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
大数据 -- Hadoop集群环境搭建

首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统。它其实是将一个大文件分成若干块保存在不同服务器的多个节点中。通过联网让用户感觉像是在本地一样...

osc_y9wmeuxa
2019/08/11
4
0
Hadoop(2015/8/19最新发行版2.7.1): 搭建一个单节点集群。官方文档翻译

根据官方文档边操作边翻译,如有谬误欢迎拍砖指正!大家一起学习。也欢迎推荐更多有用学习文档给我,谢谢! Hadoop: 搭建一个单节点集群。 Hadoop: 搭建一个单节点集群。 目的 先决条件 操作...

duty
2015/08/19
780
0
hadoop大数据分析平台的伪分布式部署及shell脚本自动化部署

文章目录 一、手工部署 二、自动化伪分布式部署hadoop 三、报错解决 环境:只有一台vmware虚拟机,ip为172.16.193.200. 一、手工部署 1、关闭防火墙、SELinux systemctl stop firewalldsed -...

angel_Beat
07/02
0
0
Hadoop单机版和伪分布式部署

说明:本文的hadoop安装环境为Ubuntu环境。 运行Hadoop集群的准备工作 1. 安装JDK,配置Java环境 2. SSH免登录(这一步可以忽略,但是启动hadoop的时候,需要手动为每个节点服务输入密码) 先确...

Mr_YangFei
2016/03/24
91
0
Python3调用Hadoop的API

前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理、分析不了TB级别数据的大数据,于是再看看Hadoop。 另附上人心不足蛇吞象 对故事一的感悟: 人的欲望是无...

osc_r8q2esik
2019/02/27
4
0

没有更多内容

加载失败,请刷新页面

加载更多

java架构师成长路线-高并发网络编程的分类

鲁班学院java架构师成长路线 随着互联网时代的到来,高并发网络编程这一新鲜名词早已跃然于纸上,为了满足大众眼光的需求,我为大家找了些关于高并发网络编程方面的资料,本文便来介绍高并发...

osc_o494ayqf
23分钟前
5
0
python dict乱码如何解决

定义字典并直接输出,结果输出结果中文是乱码展示 d={'name':'lily','age':18,'sex':'女','no':1121}print d 输出结果: {'age': 18, 'no': 1121, 'name': 'lily', 'sex': '\xe5\xa5\xb3'}...

osc_9mjo6c4e
24分钟前
14
0
硬肝50天,18w字的实战编程资料《重学Java设计模式》终于 出炉了

沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 作者从5月20日那天投身实战型设计模式打磨,通过模拟互联网业务开发实际需求作为学习场景,讲解设计模式。 全书共计22个真实业务场景...

osc_zls6dx9i
26分钟前
20
0
怎么才能让Spring AOP有最大的作用--乐字节java

Spring AOP 日志处理带来的问题 我们有一个Pay(接口) 然后两个实现类DollarPay和RmbPay,都需要重写pay()方法, 这时我们需要对pay方法进行性能监控,日志的添加等等怎么做? 最容易想到的方法...

osc_sb30h1xb
27分钟前
14
0
Python 实现将numpy中的nan和inf,nan替换成对应的均值

nan:not a number inf:infinity;正无穷 numpy中的nan和inf都是float类型 t!=t 返回bool类型的数组(矩阵) np.count_nonzero() 返回的是数组中的非0元素个数;true的个数。 np.isnan() 返回b...

osc_sfl7wfr9
29分钟前
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部