fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
🎯小试牛刀:
将xsync脚本分发到其他虚拟机上
xsync /root/bin/
将java、hadoop环境变量分发到其他虚拟机上
xsync /etc/profile.d/my_env.sh
非root用户
sudo ./bin/xsync /etc/profile.d/my_env.sh
### 2. ssh 免密登录
🎯免密登录原理

🎯对每一台虚拟机:从根目录进入.shh目录下,生成公钥和私钥:`ssh-keygen -t rsa`,接着将公钥拷贝给所有虚拟机(包括自己)`ssh-copy-id hadoop102`
### 3.集群配置
>
> NameNode 和 SecondaryNameNode 不要安装在同一台服务器,很消耗内存,ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同一台机器上
>
>
>
🎯集群配置部署

🎯配置文件说明:Hadoop 配置文件分两类,**默认配置文件**和**自定义配置文件**,只有用户想修改某一默认配置值时,才需要修改自定义配置文件,更改相应属性值
🎯默认配置文件
| 默认配置文件 | 文件存放在 Hadoop 的 jar 包中的位置 |
| --- | --- |
| core-default.xml | hadoop-common-3.1.3.jar/core-default.xml |
| hdfs-default.xml | hadoop-hdfs-3.1.3.jar/hdfs-default.xml |
| yarn-default.xml | hadoop-yarn-common-3.1.3.jar/yarn-default.xml |
| mapred-default.xml | hadoop-mapreduce-client-core-3.1.3.jar/mapred-default.xml |
🎯自定义配置文件(常用):`core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml`、`workers` 五个配置文件存放在`/opt/module/etc/hadoop`这个路径上,用户可以根据项目需求重新进行修改配置
🎯核心配置文件:`vim core-site.xml`,相当于内部通讯,在`<configuration>`和`</configuration>`之间插入
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:8020</value>
</property>
<!-- 指定hadoop数据的存储目录,根据自身情况做出更改 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop/data</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户为root -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
🎯HDFS配置文件:外部通讯的接口,`vim hdfs-site.xml`,在`<configuration>`和`</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>
🎯YARN配置文件:`vim yarn-site.xml`,在`<configuration>`和`</configuration>`之间插入以下内容
<!-- 指定MR走shuffle -->
<property>
<name>