一 HDFS

修改配置文件core-site.xml,加入以下内容

<configuration>
   <property>
	 <name>fs.defaultFS</name>
	 <value>hdfs://centos01:9000</value>
   </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/modules/hadoop-2.8.2/tmp</value>
     </property>
</configuration>

修改配置文件hdfs-site.xml

<configuration>
   <property>
	  <name>dfs.replication</name>
	  <value>2</value>
	</property>
    <property><!--不检查用户权限-->
	  <name>dfs.permissions.enabled</name>
	  <value>false</value>
	</property>
	<property>
	  <name>dfs.namenode.name.dir</name>
	  <value>file:/opt/modules/hadoop-2.8.2/tmp/dfs/name</value>
	</property>
	<property>
	  <name>dfs.datanode.data.dir</name>
	  <value>file:/opt/modules/hadoop-2.8.2/tmp/dfs/data</value>
	</property>
</configuration>

修改slaves文件,配置DataNode节点。slaves文件原本无任何内容,需要将所有DataNode节点的主机名都添加进去,每个主机名占一整行

centos01
centos02
centos03

二 yarn文件的修改

(1)重命名mapred-site.xml.template文件为mapred-site.xml,修改mapred-site.xml文件,添加以下内容,指定以yarn集群方式运行。

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>  
    <property>  
       <name>mapreduce.framework.name</name>  
       <value>yarn</value> 
    </property> 
</configuration>

(2)修改yarn-site.xml文件,添加以下内容:

<configuration>  
    <property>  
       <name>yarn.nodemanager.aux-services</name>  
       <value>mapreduce_shuffle</value>  
    </property>     
</configuration>

参数解析:
yarn.nodemanager.aux-services :NodeManager上运行的附属服务。需配置成mapreduce_shuffle才可运行MapReduce程序。

如果要是想快速排查

grep -R "centos7-"

将之前配置的cenos7-1 全部找出来
再用sed方法把这些内容都替换掉

三 修改rsync分发脚本

 which rsync-scripts

 vim /usr/local/bin/rsync-scripts
#!/bin/bash

# 检查是否提供了参数
if [ $# -ne 1 ]; then
    echo "Usage: $0 <directory_path>"
    exit 1
fi

p1="$1"

# 获取绝对路径
pdir=$(cd -P "$(dirname "$p1")" && pwd)

# 目录存在性校验
if [ -z "$pdir" ]; then
    echo "Error: Directory '$(dirname "$p1")' not found."
    exit 1
fi

file_name=$(basename "$p1")

user=$(whoami)

# 使用数组存储主机名
hosts=("centos01" "centos02" "centos03")

# 循环执行 rsync
for host in "${hosts[@]}"; do
    echo "------------------- $host --------------"
    rsync -rvl "$p1" "$user@$host:$pdir"
    if [ $? -ne 0 ]; then
        echo "Error: rsync failed on $host."
    fi
done

echo "Synchronization completed."

修改完后运行显示分发成功

[root@centos02 hadoop]# rsync-scripts /opt/servers/hadoop-2.9.2/etc/hadoop/core-site.xml
------------------- centos01 --------------
sending incremental file list
core-site.xml

sent 384 bytes  received 47 bytes  862.00 bytes/sec
total size is 983  speedup is 2.28
------------------- centos02 --------------
sending incremental file list

sent 50 bytes  received 12 bytes  124.00 bytes/sec
total size is 983  speedup is 15.85
------------------- centos03 --------------
sending incremental file list
core-site.xml

sent 384 bytes  received 47 bytes  287.33 bytes/sec
total size is 983  speedup is 2.28
Synchronization completed.

四 查看centos01

[root@centos01 hadoop]# jps
4544 ResourceManager
3794 NodeManager
4360 SecondaryNameNode
3322 NameNode
4938 DataNode
4974 Jps

运行起来后会有一些节点运行一段时间后挂掉

只剩下下面这些了

[root@centos01 hadoop]# jps
4544 ResourceManager
4360 SecondaryNameNode
3322 NameNode
5146 Jps
您在 /var/spool/mail/root 中有新邮件
[root@centos01 hadoop]# 
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐