Hadoop-启动集群

本文档详细介绍了Hadoop集群的启动步骤和配置注意事项,包括NameNode和SecondaryNameNode的部署策略,ResourceManager的内存考虑,以及启动、测试、故障解决的流程。还涉及了配置历史服务器和日志聚集功能,提供了单节点服务的启停方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动集群

配置相关注意事项:

  1. NameNode和SecondaryNameNode不要放在同一个物理机上,比较消耗内存
  2. ResourceManager是消耗内存,不要和NameNode、SecondaryNameNode放在同一个物理机上

如果三台机器,可参考以下配置:

hadoop1hadoop2hadoop3
HDFSNameNode
DataNode
DataNodeSecondaryNameNode
DataNode
YarnNodeManagerResourceManager
NodeManager
NodeManager


hadoop 配置文件分为:默认配置文件、自定义配置文件:

默认配置文件
core-default.xml 、hdfs-default.xml、yarn-default.xml、mapred-default.xml,在在hadoop安装路径/share/hadoop下的/common/hadoop-common-3.1.4.jar、/hdfs/hadoop-hdfs-3.1.4.jar、/yarn/hadoop-yarn-common-3.1.4.jar、/mapreduce/hadoop-mapreduce-client-core-3.1.4.jar

自定义配置文件
core-site.xml 、hdfs-site.xml、yarn-site.xml、mapred-site.xml,在hadoop安装路径/etc/hadoop下



1. 自定义配置集群

  1. core-site.xml
<!--指定NameNode的地址-->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:8020</value>
</property>

<!--指定hadoop的存储目录,如不存在自动创建-->
<property>
  <name>hadoop.tmp.dir</name>
  <value>/opt/module/hadoop-3.1.4/data</value> 
</property>

<!--配置HDFS网页登录为静态用户,可操作网页-->
<property>
  <name>hadoop.http.staticuser.user</name>
  <value>julian</value> 
</property>


  1. hdfs-site.xml
<!--nn web 访问地址-->
<property>
  <name>dfs.namenode.http-address</name>
  <value>hadoop1:9870</value>
</property>


<!--2nn web访问地址-->
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop3:9868</value>
</property>


  1. yarn-site.xml
<!--指定mr走shuffle-->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>


<!--指定resource manager的机器地址-->
 <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop2</value>
  </property>

<!--继承环境变量,3.2版本之后不需要配这条-->
  <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>
  1. mapred-site.xml
<!--配置mapreduce运行在yarn上-->
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

之后记住,/etc/workers里添加主机名称:hadoop1、hadoop2…,注意workers里面不允许有空格和换行


2. 启动集群

  1. 第一次使用需要对NameNode做初始化:hdfs namenode -format, 之后会在当前机器的hadoop目录下创建data 和 logs目录
  2. 启动HDFS,命令:sbin/start-dfs.sh,可通过jps查看每台机器相关进程,可通过之前配置web页面查看hadoop1:9870
  3. 启动yarn,注意需要在对应resource manager机器上启动,命令:sbin/start-yarn.sh,可通过web页面查看信息:hadoop2:8088/

3. 测试

  1. 在hadoop1上通过hdfs命令创建目录:hadoop fs -mkdir /input ,可通过web页面查看结果
  2. 上传文件:hadoop fs -put xx/word.txt /input
  3. 测试mapreduce:hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar wordcount /input /output3,注意这里的/input 和/output3都是hdfs下的,且输出目录不能是已存在的

4. 故障解决

若不小心删除了相关的namenode等数据,可以通过重新初始化解决

  1. 停掉yarn和hdfs的进程
  2. 清除每个机器上的data和logs目录,因为每次初始化后的datanode和namenode都是对应的
  3. 重新初始化hdfs namenode -format

配置记录历史的服务器

在mapred-site.xml配置文件中加入以下配置

  1. mapred-site.xml
<!--配置yarn历史服务器地址-->
<property>
  <name>mapreduce.jobhistory.address</name>
  <value>hadoop2:10020</value>
</property>

<!--配置yarn历史服务器web查看地址-->
<property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>hadoop2:19888</value>
</property>
  1. 之后手动启动历史服务器:mapred --daemon start historyserver

  2. 访问yarn配置的暴露给web的8088页面:hadoop2:8088,能看到yarn任务的相关信息,点击右侧的历史按钮,跳转到历史服务器19888端口,可看到一次任务map reduce的详细信息

配置日志聚集功能

  1. yarn-site.xml里配置相关功能

<!--开启日志聚集功能-->
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
  </property>

<!--配置日志服务器聚集地方-->
  <property>
    <name>yarn.log.server.url</name>
    <value>http://hadoop2:19888/jobhistory/logs</value>
  </property>

<!--配置日志保持维持7天-->
  <property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
  </property> 

  1. 重启历史服务器和yarn:

停掉历史服务器:mapred --daemon stop historyserver
重启yarn:stop-yarn.sh start-yarn.sh
启动历史服务器:mapred --daemon start historyserver

  1. 再次执行wordcount任务:hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.4.jar wordcount /input /output4
    可以通过yarn的web页面history->log查看日志信息


单节点启动/停用单个服务

  1. HDFS:hdfs --daemon start/stop namenode/datanode/secondarynamenode
  2. Yarn:yarn --daemon start/stop resourcemanager nodemanager
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值