Hadoop安装和配置集群

Hadoop集群

安装前准备

安装虚拟机

  1. 配置网络

  2. 关闭防火墙

    systemctl stop firewalld
    systemctl disable firewalld.service
    
  3. 创建用户

    [root@hadoop102 hadoop]# useradd hadoop
    [root@hadoop102 hadoop]# passwd hadoop
    
  4. 配置hadoop 用户具有 root 权限,方便后期加 sudo 执行 root 权限的命令

    [root@hadoop102 hadoop]#  vi /etc/sudoers
    

    ​ 修改/etc/sudoers 文件,在%wheel 这行下面添加一行,如下所示:

    ​ ## Allow root to run any commands anywhere

    ​ root ALL=(ALL) ALL

    ​ ## Allows people in group wheel to run all commands

    ​ %wheel ALL=(ALL) ALL

    ​ hadoop ALL=(ALL) NOPASSWD:ALL

  5. 在/opt 目录下创建文件夹,并修改所属主和所属组

    ​ (1)在/opt 目录下创建 module、software 文件夹

    			[root@hadoop102 ~]# mkdir /opt/module
    			[root@hadoop102 ~]# mkdir /opt/software
    

    ​ (2)修改 module、software 文件夹的所有者和所属组均为 hadoop 用户

    			[root@hadoop102 ~]# chown hadoop:hadoop /opt/module 
    			[root@hadoop102 ~]# chown hadoop:hadoop /opt/software
    

    ​ (3)查看 module、software 文件夹的所有者和所属组

    			[root@hadoop102 ~]# cd /opt/
    			[root@hadoop102 opt]# ll
    
  6. 重启虚拟机

    [root@hadoop102 ~]# reboot
    

克隆虚拟机

​ 1)利用模板机hadoop102,克隆2台虚拟机: hadoop103 hadoop104

​ 2)修改克隆机静态IP

		[root@hadoop103 ~]# vi /etc/sysconfig/network-scripts/ifcfg-en0s3

​ 3)修改主机名称

		[root@hadoop103 ~]# vi /etc/hostname

		hadoop103 

​ 4)配置 Linux 克隆机主机名称映射 hosts 文件,打开/etc/hosts

		[root@hadoop103 ~]# vi /etc/hosts

​ 添加如下内容

​ 192.168.56.102 hadoop102

​ 192.168.56.103 hadoop103

​ 192.168.56.104 hadoop104

​ 5) reboot重启虚拟机

安装JDK

SecureCRT 上传使用

  • 安装lrzsz
	yum -y install lrzsz
  • 上传完成之后解压
	[hadoop@hadoop102 software]# ls
	jdk-8u212-linux-x64.tar.gz
	[hadoop@hadoop102 software]# tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
  • 配置 JDK 环境变量

    (1)新建/etc/profile.d/my_env.sh 文件

    [hadoop@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
    

    添加如下内容

    #JAVA_HOME

    export JAVA_HOME=/opt/module/jdk1.8.0_212

    export PATH= P A T H : PATH: PATH:JAVA_HOME/bin

    (2)保存后退出

    (3)source 一下/etc/profile 文件,让新的环境变量 PATH 生效

    [hadoop@hadoop102 ~]$ source /etc/profile
    
  • 测试 JDK 是否安装成功

    [hadoop@hadoop102 module]$ java -version
    java version "1.8.0_212"
    Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
    Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
    

安装HADOOP

  1. 文件传输工具将 hadoop-3.1.3.tar.gz 导入到 opt 目录下面的 software 文件夹下面

  2. 进入到 Hadoop 安装包路径下

    [hadoop@hadoop102 ~]$ cd /opt/software/
    
  3. 解压安装文件到/opt/module 下面

    [hadoop@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
    
  4. 查看是否解压成功

    [hadoop@hadoop102 software]$ ls /opt/module/hadoop-3.1.3
    
  5. 将 Hadoop 添加到环境变量

    (1)获取 Hadoop 安装路径

    [hadoop@hadoop102 hadoop-3.1.3]$ pwd
    /opt/module/hadoop-3.1.3
    

    (2)打开/etc/profile.d/my_env.sh 文件

    [hadoop@hadoop102 hadoop-3.1.3]$ sudo vi /etc/profile.d/my_env.sh
    

    ​ ➢ 在 my_env.sh 文件末尾添加如下内容:(shift+g)

    ​ #HADOOP_HOME

    ​ export HADOOP_HOME=/opt/module/hadoop-3.1.3

    ​ export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin

    ​ export PATH= P A T H : PATH: PATH:HADOOP_HOME/sbin

    ​ ➢ 保存并退出: :wq

    (3)让修改后的文件生效

    [hadoop@hadoop102 hadoop-3.1.3]$ source /etc/profile
    
  6. 测试是否安装成功

    [hadoop@hadoop102 hadoop-3.1.3]$ hadoop version 
    
    Hadoop 3.1.3
    
  7. 重启(如果 Hadoop 命令不能用再重启虚拟机)

    [hadoop@hadoop102 hadoop-3.1.3]$ sudo reboot
    

Hadoop目录结构

[hadoop@hadoop102 hadoop-3.1.3]$ ll
总用量 176
drwxr-xr-x. 2 hadoop hadoop    183 912 2019 bin
drwxr-xr-x. 3 hadoop hadoop     20 912 2019 etc
drwxr-xr-x. 2 hadoop hadoop    106 912 2019 include
drwxr-xr-x. 3 hadoop hadoop     20 912 2019 lib
drwxr-xr-x. 4 hadoop hadoop    288 912 2019 libexec
-rw-rw-r--. 1 hadoop hadoop 147145 94 2019 LICENSE.txt
-rw-rw-r--. 1 hadoop hadoop  21867 94 2019 NOTICE.txt
-rw-rw-r--. 1 hadoop hadoop   1366 94 2019 README.txt
drwxr-xr-x. 3 hadoop hadoop   4096 912 2019 sbin
drwxr-xr-x. 4 hadoop hadoop     31 912 2019 share

重要目录

(1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本

(2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件

(3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)

(4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本

(5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例

完全分布式运行模式

配置3台服务器免密登录

(1)生成公钥和私钥

[hadoop@hadoop102 .ssh]$ pwd

/home/hadoop/.ssh

[hadoop@hadoop102 .ssh]$ ssh-keygen -t rsa

​ 然后敲(三个回车),就会生成两个文件 id_rsa(私钥)、id_rsa.pub(公钥)

(2)将公钥拷贝到要免密登录的目标机器上

[hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop102

[hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop103

[hadoop@hadoop102 .ssh]$ ssh-copy-id hadoop104

注意:

还需要在 hadoop103 上采用 hadoop 账号配置一下无密登录到 hadoop102、hadoop103、

hadoop104 服务器上。

还需要在 hadoop104 上采用 hadoop 账号配置一下无密登录到 hadoop102、hadoop103、

hadoop104 服务器上。

还需要在 hadoop102 上采用 root 账号,配置一下无密登录到 hadoop102、hadoop103、

hadoop104; su

编写集群分发脚本 xsync 用于分发同步资源

(1)安装 rsync

	yum install -y  rsync

(2) 脚本如下

#!/bin/bash 

if [ $# -lt 1 ]
then
        echo Not Enough Arguement! 
        exit;
fi

for host in hadoop102 hadoop103 hadoop104
do
        echo ==================== $host ==================== 
        for file in $@
        do
                if [ -e $file ]
                        then 
                                pdir=$(cd -P $(dirname $file); pwd)

                                fname=$(basename $file)
                                ssh $host "mkdir -p $pdir"
                                rsync -av $pdir/$fname $host:$pdir
                        else
                                echo $file does not exists! 
                fi
        done

done

(3) 配置环境变量 ,以便全局调用

[hadoop@hadoop102 bin]$ vi /etc/profile.d/my_env.sh 
[hadoop@hadoop102 bin]$ source /etc/profile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IyNKVEcP-1629430164931)(/Users/liuhui/Library/Application Support/typora-user-images/image-20210819171243338.png)]

​ (4)修改脚本 xsync 具有执行权限

		[hadoop@hadoop102 bin]$ chmod +x xsync

​ (5)利用脚本同步hadoop 和 java 到hadoop103,hadoop104上去

[hadoop@hadoop102 ~]$ sudo ./bin/xsync  /opt/module/
     
#查看已经分发传送成功
[hadoop@hadoop104 root]$ ls /opt/module/
hadoop-3.1.3  jdk1.8.0_212

​ (6)利用脚本同步环境变量到 hadoop103,hadoop104上去

	[hadoop@hadoop102 ~]$ sudo ./bin/xsync  /etc/profile.d/my_env.sh 
	==================== hadoop102 ====================
    sending incremental file list

    sent 48 bytes  received 12 bytes  120.00 bytes/sec
    total size is 219  speedup is 3.65
    ==================== hadoop103 ====================
    sending incremental file list
    my_env.sh

    sent 314 bytes  received 35 bytes  232.67 bytes/sec
    total size is 219  speedup is 0.63
    ==================== hadoop104 ====================
    sending incremental file list
    my_env.sh

    sent 314 bytes  received 35 bytes  698.00 bytes/sec
    total size is 219  speedup is 0.63

​ 让环境变量生效

	[hadoop@hadoop104 ~]$ source /etc/profile
	[hadoop@hadoop103 ~]$ source /etc/profile

集群配置

集群部署规划

​ ➢ NameNode 和 SecondaryNameNode 不要安装在同一台服务器

​ ➢ ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在

同一台机器上。

Hadoop102Hadoop103Hadoop104
HDFSNameNode DataNodeDataNodeSecondaryNameNode DataNode
YARNNodeManagerResourceManager NodeManagerNodeManager

配置集群

核心配置文件

​ 配置 core-site.xml

[hadoop@hadoop102 ~]$ cd $HADOOP_HOME/etc/hadoop
[hadoop@hadoop102 hadoop]$ ls
capacity-scheduler.xml            kms-log4j.properties
configuration.xsl                 kms-site.xml
container-executor.cfg            log4j.properties
core-site.xml                     mapred-env.cmd
hadoop-env.cmd                    mapred-env.sh
hadoop-env.sh                     mapred-queues.xml.template
hadoop-metrics2.properties        mapred-site.xml
hadoop-policy.xml                 shellprofile.d
hadoop-user-functions.sh.example  ssl-client.xml.example
hdfs-site.xml                     ssl-server.xml.example
httpfs-env.sh                     user_ec_policies.xml.template
httpfs-log4j.properties           workers
httpfs-signature.secret           yarn-env.cmd
httpfs-site.xml                   yarn-env.sh
kms-acls.xml                      yarnservice-log4j.properties
kms-env.sh                        yarn-site.xml
[root@hadoop102 hadoop]# vi 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.1.3/data</value>
        </property>
        <!-- 配置 HDFS 网页登录使用的静态用户为 hadoop -->
        <property>
                <name>hadoop.http.staticuser.user</name>
                <value>hadoop</value>
        </property>
</configuration>

HDFS配置文件

配置 hdfs-site.xml

[hadoop@hadoop102 hadoop]$ vi hdfs-site.xml

<!--文件内容如下:-->

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<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 配置文件

配置 yarn-site.xml

[hadoop@hadoop102 hadoop]$ vi  yarn-site.xml 

文件内容如下:

<configuration>

<!-- Site specific YARN configuration properties -->
        <!-- 指定 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>
MapReduce 配置文件

配置 mapred-site.xml

[hadoop@hadoop102 hadoop]$ vi mapred-site.xml

文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

<!-- 指定 MapReduce 程序运行在 Yarn 上 -->

<configuration>

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

</configuration> 



在集群上分发配置好的 Hadoop 配置文件

[hadoop@hadoop102 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc/hadoop/
==================== hadoop102 ====================
sending incremental file list

sent 889 bytes  received 18 bytes  604.67 bytes/sec
total size is 107,603  speedup is 118.64
==================== hadoop103 ====================
sending incremental file list
hadoop/
hadoop/core-site.xml
hadoop/hdfs-site.xml
hadoop/mapred-site.xml
hadoop/yarn-site.xml

sent 3,337 bytes  received 139 bytes  6,952.00 bytes/sec
total size is 107,603  speedup is 30.96
==================== hadoop104 ====================
sending incremental file list
hadoop/
hadoop/core-site.xml
hadoop/hdfs-site.xml
hadoop/mapred-site.xml
hadoop/yarn-site.xml

sent 3,337 bytes  received 139 bytes  6,952.00 bytes/sec
total size is 107,603  speedup is 30.96

群起集群

配置workers

[hadoop@hadoop102 hadoop]$ vi /opt/module/hadoop-3.1.3/etc/hadoop/workers

​ 在该文件中增加如下内容:如果有其他内容就删除,比如localhost

	hadoop102

	hadoop103

	hadoop104

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

​ 同步所有节点配置文件

[hadoop@hadoop102 hadoop]$ xsync /opt/module/hadoop-3.1.3/etc

启动集群

​ (1)如果集群是第一次启动,需要在 hadoop102 节点格式化 NameNode(注意:格式

化 NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找

不到已往数据。如果集群在运行过程中报错,需要重新格式化 NameNode 的话,一定要先停

止 namenode 和 datanode 进程,并且要删除所有机器的 data 和 logs 目录,然后再进行格式

化。)

	[hadoop@hadoop102 hadoop-3.1.3]$ hdfs namenode -format

​ (2)启动 HDFS

	[hadoop@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh

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

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

​ (4)Web 端查看 HDFS 的 NameNode

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

​ (b)查看 HDFS 上存储的数据信息
在这里插入图片描述

​ (5)Web 端查看 YARN 的 ResourceManager

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

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

在这里插入图片描述

配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。

配置 mapred-site.xml

[hadoop@hadoop102 hadoop]$ vi mapred-site.xml 

在该文件里面增加如下配置。

<configuration>
        <!-- 指定 MapReduce 程序运行在 Yarn 上 -->
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <!-- 历史服务器端地址 -->
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop102:10020</value>
        </property>
        <!-- 历史服务器 web 端地址 -->
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>hadoop102:19888</value>
        </property>
</configuration>

分发配置

[hadoop@hadoop102 hadoop]$ xsync $HADOOP_HOME/etc/hadoop/mapred-site.xml

==================== hadoop102 ====================
sending incremental file list

sent 70 bytes  received 12 bytes  164.00 bytes/sec
total size is 1,182  speedup is 14.41
==================== hadoop103 ====================
sending incremental file list
mapred-site.xml

sent 603 bytes  received 47 bytes  1,300.00 bytes/sec
total size is 1,182  speedup is 1.82
==================== hadoop104 ====================
sending incremental file list
mapred-site.xml

sent 603 bytes  received 47 bytes  433.33 bytes/sec
total size is 1,182  speedup is 1.82
[hadoop@hadoop102 hadoop]$ 

hadop102 启动历史服务器

[hadoop@hadoop102 hadoop]$ mapred --daemon start historyserver
[hadoop@hadoop102 hadoop]$ jps
7104 NodeManager
7473 JobHistoryServer
6724 NameNode
7530 Jps
3179 DataNode

查看 JobHistory

http://hadoop102:19888/jobhistory

配置日志的聚集

应用运行完成以后,将程序运行日志信息上传到 HDFS 系统上。

可以方便的查看到程序运行详情,方便开发调试。

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

开启日志聚集功能具体步骤如下:

  1. 配置 yarn-site.xml

    [hadoop@hadoop102 hadoop]$ vi 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>
    

  2. 分发配置

    [hadoop@hadoop102 hadoop]$ xsync $HADOOP_HOME/etc/hadoop/yarn-site.xml 
    ==================== hadoop102 ====================
    sending incremental file list
    
    sent 66 bytes  received 12 bytes  52.00 bytes/sec
    total size is 1,642  speedup is 21.05
    ==================== hadoop103 ====================
    sending incremental file list
    yarn-site.xml
    
    sent 1,059 bytes  received 47 bytes  2,212.00 bytes/sec
    total size is 1,642  speedup is 1.48
    ==================== hadoop104 ====================
    sending incremental file list
    yarn-site.xml
    
    sent 1,059 bytes  received 47 bytes  2,212.00 bytes/sec
    total size is 1,642  speedup is 1.48
    [hadoop@hadoop102 hadoop]$ 
    
  3. 关闭 NodeManager 、ResourceManager 和 HistoryServer

    [hadoop@hadoop103 hadoop-3.1.3]$ sbin/stop-yarn.sh
    [hadoop@hadoop103 hadoop-3.1.3]$ mapred --daemon stop historyserver
    
  4. ****启动 NodeManager 、ResourceManage 和 HistoryServer

    [hadoop@hadoop103 ~]$ start-yarn.sh
    [hadoop@hadoop102 ~]$ mapred --daemon start historyserver
    
  5. 查看日志

    历史服务器地址
    http://hadoop102:19888/jobhistory

集群启动停止方式总结

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

(1)整体启动/停止 HDFS

start-dfs.sh/stop-dfs.sh

(2)整体启动/停止 YARN

start-yarn.sh/stop-yarn.sh

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

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

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

(2)启动/停止 YARN

yarn --daemon start/stop resourcemanager/nodemanager

编写 Hadoop 集群常用脚本

  • Hadoop 集群启停脚本(包含 HDFS,Yarn,Historyserver):myhadoop.sh
[hadoop@hadoop102 ~]$ cd /home/hadoop/bin
[hadoop@hadoop102 bin]$ vi 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.1.3/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
        echo " =================== 关闭 hadoop 集群 ==================="
        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
        echo "Input Args Error..."
;;
esac

保存后退出,然后赋予脚本执行权限

[hadoop@hadoop102 bin]$  chmod +x myhadoop.sh
[hadoop@hadoop102 bin]$ 
  • 查看三台服务器 Java 进程脚本:jpsall
[hadoop@hadoop102 bin]$ cd /home/hadoop/bin/
[hadoop@hadoop102 bin]$ vi jpsall

脚本内容如下

#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ===============
ssh $host jps
done

保存后退出,然后赋予脚本执行权限

[hadoop@hadoop102 bin]$ chmod +x jpsall

分发/home/hadoop/bin目录,保证自定义脚本在三台机器上都可以使用

[hadoop@hadoop102 ~]$ xsync /home/hadoop/bin/
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置Hadoop HDFS和YARN集群涉及到几个重要的配置文件: 1. hdfs-site.xml:这个文件于配置HDFS相关的参数,如数据大小、副本数量、NameNode和Node的存储路径等。示例配置```xml <configuration> <!-- 设置数据块大小为128MB --> <property> <name>dfs.blocksize</name> <value>134217728</value> </property> <!-- 设置副本数量为3 --> <property> <name>dfs.replication</name> <value>3</value> </property> <!-- 设置NameNode的存储路径 --> <property> <name>dfs.namenode.name.dir</name> <value>/path/to/namenode/directory</value> </property> <!--DataNode的存储路径 --> <property> <name>dfs.datanode.data.dir</name> <value>/path/to/datanode/directory</value> </property> </configuration> ``` 2. yarn-site.xml:这个文件用于配置YARN相关的参数,如ResourceManager和NodeManager的内存大小、日志路径等。示例配置: ```xml <configuration> <!-- 设置ResourceManager的内存大小为4GB --> <property> <name>yarn.resourcemanager.memory.mb</name> <value>4096</value> </property> <!-- 设置NodeManager的内存大小为2GB --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>2048</value> </property> <!-- 设置日志路径 --> <property> <name>yarn.nodemanager.log-dirs</name> <value>/path/to/nodemanager/logs</value> </property> <!-- 设置YARN应用程序历史服务器的地址 --> <property> <name>yarn.timeline-service.address</name> <value>hostname:port</value> </property> </configuration> ``` 3. core-site.xml:这个文件用于配置Hadoop的核心参数,如HDFS的默认文件系统、YARN的默认资源管理器地址等。示例配置: ```xml <configuration> <!-- 设置HDFS的默认文件系统为hdfs://namenode:port --> <property> <name>fs.defaultFS</name> <value>hdfs://namenode:8020</value> </property> <!-- 设置YARN的默认资源管理器地址为resourcemanager:port --> <property> <name>yarn.resourcemanager.address</name> <value>resourcemanager:8032</value> </property> </configuration> ``` 这只是配置文件的基本示例,实际配置会根据你的集群规模和需求而有所不同。在配置文件中,你需要根据你的环境和需求修改相应的参数值。此外,还需要确保集群中所有节点上的配置文件保持一致。 配置完成后,将修改后的配置文件分发到集群中所有节点上,并重启HDFS和YARN服务,使配置生效。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值