Hadoop集群配置及运行

这篇具有很好参考价值的文章主要介绍了Hadoop集群配置及运行。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文章基于尚硅谷Hadoop 3.x视频进行总结,仅作为学习交流使用        视频链接如下:30_尚硅谷_Hadoop_入门_集群配置_哔哩哔哩_bilibili

集群配置整体思路

1.切换到/opt/module/hadoop-3.3.4/etc/hadoop,配置core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml,分发hadoop文件夹

集群启动整体思路

1.第一次启动时需要配置workers配置文件,以及进行hdfs的初始化( hdfs namenode -format )

2.启动集群,需要分别在hadoop102上启动hdfs,以及在hadoop103上启动yarn。

第一部分.集群配置

1.切换到配置文件目录

[atguigu@hadoop102 hadoop]$ pwd
/opt/module/hadoop-3.3.4/etc/hadoop

2.配置核心配置文件 

配置core-site.xml

[atguigu@hadoop102 hadoop]$ vim core-site.xml 

<configuration>
    <!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:8020</value>
    </property>

    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.3.4/data</value>
    </property>
</configuration>

配置hdfs-site.xml

[atguigu@hadoop102 hadoop]$ vim hdfs-site.xml 

<configuration>
        <!-- nn web端访问地址-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop102:9870</value>
    </property>
        <!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop104:9868</value>
    </property>
</configuration> 

配置yarn-site.xml

[atguigu@hadoop102 hadoop]$ vim yarn-site.xml  

<configuration>
    <!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</value>
    </property>

    <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>            <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

配置mapred-site.xml

[atguigu@hadoop102 hadoop]$ vim mapred-site.xml  

<configuration>
        <!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration> 

3.分发配置文件 

[atguigu@hadoop102 hadoop]$ cd ..
[atguigu@hadoop102 etc]$ xsync hadoop/

第二部分.群起集群并测试

1.配置workers

切换到配置文件目录

[atguigu@hadoop102 hadoop]$ pwd
/opt/module/hadoop-3.3.4/etc/hadoop

配置 workers

[atguigu@hadoop102 hadoop]$ vim workers  

hadoop102
hadoop103
hadoop104 

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。 

分发workers文件

[atguigu@hadoop102 hadoop]$ xsync workers 

2.启动集群 

返回hadoop根目录

[atguigu@hadoop102 hadoop-3.3.4]$ pwd
/opt/module/hadoop-3.3.4

格式化NameNode

 [atguigu@hadoop102 hadoop-3.3.4]$ hdfs namenode -format

启动HDFS

[atguigu@hadoop102 hadoop-3.3.4]$ sbin/start-dfs.sh
Starting namenodes on [hadoop102]
Starting datanodes
hadoop104: WARNING: /opt/module/hadoop-3.3.4/logs does not exist. Creating.
hadoop103: WARNING: /opt/module/hadoop-3.3.4/logs does not exist. Creating.
Starting secondary namenodes [hadoop104]

#查看已经开启的服务

[atguigu@hadoop102 hadoop-3.3.4]$ jps
3990 DataNode
3832 NameNode
4219 Jps 

#Web端查看HDFS的NameNode

(a)浏览器中输入:http://hadoop102:9870

(b)查看HDFS上存储的数据信息

Hadoop集群配置及运行

在配置了ResourceManager的节点(hadoop103启动YARN

[atguigu@hadoop103 hadoop-3.3.4]$ sbin/start-yarn.sh

 #Web端查看YARN的ResourceManager

(a)浏览器中输入:http://hadoop103:8088

(b)查看YARN上运行的Job信息

Hadoop集群配置及运行

3. 集群基本测试

在集群上创建文件夹

[atguigu@hadoop102 hadoop-3.3.4]$ hadoop fs -mkdir /wcinput

上传小文件

[atguigu@hadoop102 hadoop-3.3.4]$ hadoop fs -put wcinput/word.txt /wcinput 

上传大文件

[atguigu@hadoop102 hadoop-3.3.4]$ hadoop fs -put /opt/software/jdk-8u341-linux-x64.tar.gz / 

执行wordcount程序

[atguigu@hadoop102 hadoop-3.3.4]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /wcinput /wcoutput

4.集群崩溃处理办法

 停掉已经开启的服务

[atguigu@hadoop102 hadoop-3.3.4]$ sbin/stop-dfs.sh
[atguigu@hadoop103 hadoop-3.3.4]$ sbin/stop-yarn.sh 

删除每个虚拟机 hadoop-3.3.4文件夹下的data目录和logs目录

5.配置历史服务器

配置mapred-site.xml

[atguigu@hadoop102 hadoop]$ vim mapred-site.xml 

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>

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

分发 mapred-site.xml

[atguigu@hadoop102 hadoop]$ xsync mapred-site.xml 

 启动历史服务器

[atguigu@hadoop102 hadoop-3.3.4]$ bin/mapred --daemon start historyserver

6.配置日志的聚集

 配置yarn-site.xml 

[atguigu@hadoop102 hadoop]$ vim yarn-site.xml 

<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
    <name>yarn.log.server.url</name>
    <value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property> 

分发配置文件

[atguigu@hadoop102 hadoop]$ xsync yarn-site.xml  

启动日志聚集

注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryServer

关闭历史服务器

[atguigu@hadoop102 hadoop]$ mapred --daemon stop historyserver

关闭单个服务

关闭yarn服务

[atguigu@hadoop103 hadoop-3.3.4]$ sbin/stop-yarn.sh  

重新开启yarn和历史服务器

删除HDFS上已经存在的输出文件 

[atguigu@hadoop102 hadoop-3.3.4]$ hadoop fs -rm -r /ss

执行WordCount程序 

 [atguigu@hadoop102 hadoop-3.3.4]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jar wordcount /wcinput /output2

#7.集群启动/停止方式总结 

各个模块分开启动/停止(配置ssh是前提)常用

(1)整体启动/停止HDFS

start-dfs.sh/stop-dfs.sh

(2)整体启动/停止YARN

start-yarn.sh/stop-yarn.sh

2各个服务组件逐一启动/停止

(1)分别启动/停止HDFS组件

hdfs --daemon start/stop namenode/datanode/secondarynamenode

(2)启动/停止YARN

yarn --daemon start/stop  resourcemanager/nodemanager

8. Hadoop集群启停脚本(包含HDFS,Yarn,Historyserver):myhadoop.sh

切换到家目录下的bin目录,并创建myhadoop.sh文件

[atguigu@hadoop102 bin]$ pwd
/home/atguigu/bin
[atguigu@hadoop102 bin]$ vim myhadoop.sh 

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="

        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.3.4/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.3.4/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.3.4/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.3.4/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.3.4/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.3.4/sbin/stop-dfs.sh"
;;
*)
    echo "Input Args Error..."
;;
esac

赋予脚本执行权限

[atguigu@hadoop102 bin]$ chmod 777 myhadoop.sh  

测试结果

[atguigu@hadoop102 hadoop-3.3.4]$ myhadoop.sh start
 =================== 启动 hadoop集群 ===================
 --------------- 启动 hdfs ---------------
Starting namenodes on [hadoop102]
Starting datanodes
Starting secondary namenodes [hadoop104]
 --------------- 启动 yarn ---------------
Starting resourcemanager
Starting nodemanagers
 --------------- 启动 historyserver ---------------
[atguigu@hadoop102 hadoop-3.3.4]$ jps
2465 DataNode
2970 JobHistoryServer
2796 NodeManager
2333 NameNode
3071 Jps 

9.查看三台服务器Java进程脚本:jpsall 

切换到家目录下的bin目录,并创建jpsall文件

[atguigu@hadoop102 bin]$ pwd
/home/atguigu/bin
[atguigu@hadoop102 bin]$ vim jpsall

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
        echo =============== $host ===============
        ssh $host jps
done

赋予脚本执行文件

 [atguigu@hadoop102 bin]$ chmod 777 jpsall 

分发脚本

[atguigu@hadoop102 ~]$ xsync bin/

*面试题 10. 常用端口号

Hadoop集群配置及运行

11.配置时间服务器

切换到root用户

[atguigu@hadoop102 ~]$ su root
密码: 

查看ntp服务是否开启与自启动

[root@hadoop102 atguigu]# systemctl status ntpd 

[root@hadoop102 atguigu]# systemctl is-enabled ntpd

配置hadoop102的ntp.conf配置文件

[root@hadoop102 atguigu]# vim /etc/ntp.conf

(a)修改1(授权192.168.10.0-192.168.10.255网段上的所有机器可以从这台机器上查询和同步时间)

#restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

(b)修改2(集群在局域网中,不使用其他互联网上的时间)

server 0.centos.pool.ntp.org iburst

server 1.centos.pool.ntp.org iburst

server 2.centos.pool.ntp.org iburst

server 3.centos.pool.ntp.org iburst

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

(c)添加3当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步

server 127.127.1.0

fudge 127.127.1.0 stratum 10

 修改hadoop102的/etc/sysconfig/ntpd 文件 

[root@hadoop102 atguigu]# vim /etc/sysconfig/ntpd

添加:

SYNC_HWCLOCK=yes  

开启/关闭ntp服务,开启/关闭自启

[root@hadoop102 atguigu]# systemctl start ntpd

[root@hadoop102 atguigu]# systemctl stop ntpd

 文章来源地址https://www.toymoban.com/news/detail-419826.html

[root@hadoop102 atguigu]# systemctl enable ntpd
[root@hadoop102 atguigu]# systemctl disable ntpd

关闭hadoop103和hadoop104上的ntp服务和自启动

[atguigu@hadoop103 ~]$ sudo systemctl stop ntpd
[atguigu@hadoop103 ~]$ sudo systemctl disable ntpd 

在其他机器配置1分钟与时间服务器同步一次

[atguigu@hadoop103 ~]$ sudo crontab -e

编写定时任务如下:

*/1 * * * * /usr/sbin/ntpdate hadoop102

 

到了这里,关于Hadoop集群配置及运行的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据云计算——Docker环境下部署Hadoop集群及运行集群案列

    本文着重介绍了在Docker环境下部署Hadoop集群以及实际案例中的集群运行。首先,文章详细解释了Hadoop的基本概念和其在大数据处理中的重要性,以及为何选择在Docker环境下部署Hadoop集群。接着,阐述了在Docker中配置和启动Hadoop集群所需的步骤和技术要点。 在展示部署过程中,

    2024年02月04日
    浏览(33)
  • 大数据与云计算——部署Hadoop集群并运行MapReduce集群案例(超级详细!)

    Linux搭建Hadoop集群(CentOS7+hadoop3.2.0+JDK1.8+Mapreduce完全分布式集群) 本文所用到的版本号: CentOS7 Hadoop3.2.0 JDK1.8 基本概念及重要性 很多小伙伴部署集群用hadoop用mapreduce,却不知道到底部署了什么,有什么用。在部署集群之前先给大家讲一下Hadoop和MapReduce的基本概念,以及它们在大

    2024年02月04日
    浏览(37)
  • Hadoop集群搭建记录 | 云计算[CentOS7] | 伪分布式集群 Master运行WordCount

    本系列文章索引以及一些默认好的条件在 传送门 首先需要明确eclipse安装目录,然后将hadoop-eclipse-plugin_版本号.jar插件放在安装目录的dropins下 关于插件,可以通过博主上传到csdn的免费资源获取,链接 具体版本可以自己选择: 在eclipse界面中依次选择:Window→show view→other→

    2023年04月09日
    浏览(56)
  • Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。

    文章较长,附目录,此次安装是在VM虚拟环境下进行。文章第一节主要是介绍Hadoop与Hadoop生态圈并了解Hadoop三种集群的区别,第二节和大家一起下载,配置Linux三种集群以及大数据相关所需的jdk,zookeeper,只需安装配置的朋友可以直接跳到文章第二节。同时,希望我的文章能帮

    2024年03月19日
    浏览(37)
  • 集群配置,hadoop配置过程,细节满满

    做一个hadoop的配置流程的全记录,把遇到的问题和细节全都记录了下来。 目录 1.安装前准备 jdk,hadoop安装包: 2.开始安装jdk,hadoop 导入安装包 修改jdk,hadoop文件用户所属 配置jdk,hadoop 环境变量,添加对应环境变量 测试安装是否成功  3.hadoop 集群配置文件 core-site.xml hdfs-

    2024年02月05日
    浏览(26)
  • 23、hadoop集群中yarn运行mapreduce的内存、CPU分配调度计算与优化

    1、hadoop3.1.4简单介绍及部署、简单验证 2、HDFS操作 - shell客户端 3、HDFS的使用(读写、上传、下载、遍历、查找文件、整个目录拷贝、只拷贝文件、列出文件夹下文件、删除文件及目录、获取文件及文件夹属性等)-java 4、HDFS-java操作类HDFSUtil及junit测试(HDFS的常见操作以及H

    2024年02月07日
    浏览(35)
  • hadoop高可用集群配置

    Apache Hadoop 3.3.4 – HDFS High Availability Using the Quorum Journal Manager 1.1、环境准备 修改IP 修改主机名及主机名和IP地址的映射 关闭防火墙 ssh免密登录 安装JDK,配置环境变量等 1.2、集群规划 linux121 linux122 linux123 NameNode NameNode JournalNode JournalNode JournalNode DataNode DataNode DataNode ZK ZK ZK Re

    2023年04月23日
    浏览(24)
  • Hadoop集群的配置

    一.、创建虚拟机 (10条消息) CentOS 7 虚拟机的搭建_仄言2997的博客-CSDN博客     1. 创建虚拟机     2. 安装 CentOS  二、虚拟机网络设置 (10条消息) 虚拟机网络配置_仄言2997的博客-CSDN博客 三、 安装JDK (10条消息) 虚拟机安装jdk,运行java文件_仄言2997的博客-CSDN博客 四、 安装 Had

    2023年04月10日
    浏览(22)
  • Hadoop集群环境配置搭建

    Hadoop最早诞生于Cutting于1998年左右开发的一个全文文本搜索引擎 Lucene,这个搜索引擎在2001年成为Apache基金会的一个子项目,也是 ElasticSearch等重要搜索引擎的底层基础。 项目官方:https://hadoop.apache.org/ 首先准备三台Linux服务器,预装CentOS7。三台服务器之间需要网络互通。本地

    2024年02月03日
    浏览(25)
  • 4 hadoop集群配置案例

    3)配置集群 (1)核心配置文件,core-site.xml 文件内容如下: (2)HDFS配置文件,hdfs-site.xml 文件内容如下: (3)YARN配置文件,yarn-site.xml 文件内容如下: (4)MapReduce配置文件,mapred-site.xml 文件内容如下: 2. 在集群上分发配置好的Hadoop配置文件 3. 去103和104上查看文件分发情况

    2024年02月11日
    浏览(20)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包