Hadoop基础 2-mapreduce&yarn

本文深入解析Hadoop的主从架构,包括NameNode、DataNode及SecondaryNameNode的角色与配置,详细介绍Hadoop集群的搭建步骤,核心配置文件解读,如core-site.xml、hdfs-site.xml、mapred-site.xml及yarn-site.xml的设置,以及如何运行MapReduce任务。

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

Hadoop基础 2

  • hadoop整体架构(主从架构)
    • NameNode 名称节点 老大
    • DataNode 数据节点
    • Secondary NameNode 名称节点 老二

Hadoop最好使用hostname进行节点配置

对于虚拟机,配置规则: 内网 ip hostname

对于云主机,配置规则: 内网ip hostname

但是云主机需要添加公网访问权限,设置安全组

CloudManager,需要把NameNode Default Group的通配符匹配勾选了

安装hostname配置,主要是为了当ip发生变化的时候,只需要改动hosts文件就行了,组件不需要重新配置

  • Hadoop 相关配置

    • NameNode(nn)
    # core-site.xml
    cd /hadoop/etc/hadoop/
    vi core-site.xml
    	 <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop001:9000</value>
        </property>
    
  • DataNode(dn)

    # slave文件
    vi /hadoop/etc/hadoop/slaves
    	hadoop001
    
  • SecondaryNameNode

    vi hdfs-site.xml
    	<property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>hadoop001:50090</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.https-address</name>
            <value>hadoop001:50090</value>
        </property>
    
  • 运行

    # 开放端口
    firewall-cmd --zone=public --add-port=50090/tcp --permanent
    systemctl restart firewalld.service
    
    # 如果不行,需要配置一下环境变量
    start-dfs.sh
    
    #查看运行情况
    jps
    
    # 可以试试访问50090端口
    
  • 关于jps

    • 位置 $JAVA_HOME/bin/jps

    • 查看进程

    • 存储位置 /tmp/hsperfdata_$username,存储了进程pid

      # 查看位置
      which jps
      
      # 查看进程 进程号 进程名称简写
      jps
      # 详细
      jps -l
      # 查看指定的hostid
      jps -m localhost
      # jps在杀死进程之后,可能会存在存留一会
      
  • 关于linux /tmp

    linux 30天周期,会删除/tmp下非规则之外的文件和文件夹,生产商要把重要的的配置路径存放到另外的目录下

  • map reduce 配置

cp /hadoop/etc/hadoop/mapred-site.xml.template /hadoop/etc/hadoop/mapred-site.xml
# 配置map reduce采用yarn资源调度
vi /hadoop/etc/hadoop/mapred-site.xml
	<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
# 配置资源调度中心
vi yarn-site.xml
	<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
	</property>
# 启动yarn
start-yarn.sh
# 查看yarn启动情况,看到ResourceManager和NodeManager说明启动成功了
jps
#查看ResourceManager监听端口
netstat -nlp|grep 10543

# 开放端口
firewall-cmd --zone=public --add-port=8088/tcp --permanent
systemctl restart firewalld.service
# 访问8088

ResourceManager 资源管理者(管理者)

NodeManager 节点管理者(真正干活的)

  • 运行mapreduce任务word count
# 先给一个input
echo 'It is important to ensure that each resource for a MapReduce job has a unique file name. This prevents symlink clobbering when YARN containers running MapReduce tasks are localized during container launch. A user can specify their own resource name by using the fragment portion of a URI.' > /hadoop/etc/hadoop/input
# 创建hdfsinput文件夹
hadoop fs -mkdir -p /example/wordcount/input

# 将输入传到hdfs上
hdfs dfs -put /hadoop/etc/hadoop/input /example/wordcount/input

# 运行
hadoop jar /hadoop/share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /example/wordcount/input /example/wordcount/output
# 运行过程可以在8088端口查看,如果history服务server开启的话,可以看到history


#查看结果
hadoop dfs -cat /example/wordcount/output/part-r-00000

官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值