集群配置
集群部署规划
NameNode和SecondaryNameNode不要安装在同一台服务器
ResourceManager也很消耗内存,不要和NameNode;SecondaryNameNode配置在同一台机器sh
自定义配置文件
core-site.xml;hdfs-site.xml;yarn-site.xml;mapred-site.xml这四个文件存放在/etc/hadoop/路径上
配置核心文件
1 配置core-site.xml
<!-- 指定 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 网页登录使用的静态用户为 atguigu -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>atguigu</value>
</property>
HDFS 配置文件
2 配置 hdfs-site.xml
<!-- 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 配置文件
3 配置yarn-site.xml
<!-- 指定 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>
MapReduce 配置文件
4 配置 mapred-site.xml
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
当前四部仅仅在hadoop102上面完成了配置;然后需要我们使用xsync脚本将hadoop分发到hadoop103和hadoop104
<atguigu@hadoop102 etc>$ xsync hadoop/
群起集群
配置workers;几台主机配置几个worker
<atguigu@hadoop102 hadoop>$ vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
打开workers文件插入内容
如下:
hadoop102
hadoop103
hadoop104
注意:添加内容中不能有空格,也不允许有空行
给hadoop103,hadoop104分发配置文件
<atguigu@hadoop102 hadoop>$ xsync /opt/module/hadoop-3.1.3/etc
第一次启动集群需要格式化NameNode,初始化完毕后,会在hadoop_home目录下产生data、logs文件夹
<atguigu@hadoop102 hadoop>$ hdfs namenode -format
启动HDFS
[atguigu@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
在配置了 ResourceManager 的节点(hadoop103)启动 YARN
[atguigu@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh