Hadoop 集群配置

参考尚硅谷hadoop教程

1、部署划分

NameNode:管理文件系统的Namespace,想当于目录,记录了各个数据节点的位置信息

DataNode:文件系统的工作节点,这个后台程序负责把HDFS数据块读写到本地的文件系统。当需要通过客户端读/
写某个 数据时,先由NameNode告诉客户端去哪个DataNode进行具体的读/写操作,然后,客户端直接与这个
DataNode服务器上的后台程序进行通 信,并且对相关的数据块进行读/写操作。

Secondary NameNode:每个集群都有一个Secondary  NameNode,并且部署在一个单独的服务器上。Secondary  
NameNode不同于NameNode,它不接受或者记录任何实时的数据变化,但是,它会与NameNode进行通信,以便定期
地保存HDFS元数据的 快照。由于NameNode是单点的,通过Secondary  NameNode的快照功能,可以将NameNode
的宕机时间和数据损失降低到最小。同时,如果NameNode发生问题,Secondary  NameNode可以及时地作为备用
NameNode使用。

ResouceManager:ResourceManage 即资源管理,在YARN中,ResourceManager负责集群中所有资源的统一管理
和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程
序(实际上是ApplicationManager)。

RM包括Scheduler(定时调度器)和ApplicationManager(应用管理器)。Schedular负责向应用程序分配资
源,它不做监控以及应用程序的状态跟踪,并且不保证会重启应用程序本身或者硬件出错而执行失败的应用程序。
ApplicationManager负责接受新的任务,协调并提供在ApplicationMaster容器失败时的重启功能。

2、配置文件

2.1、默认配置

默认配置文件

2.2、自定义配置

更改core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个文件,路径在$HADOOP_HOME/etc/hadoop/下

2.3、配置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-x.x.x/data</value>
    </property>

    <!-- 配置HDFS网页登录使用的静态用户为wxx -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>wxx</value>
    </property>

 2.4、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>

2.5、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>
        <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>

2.6、mapred-site.xml配置

	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

3、配置works

vim /opt/module/hadoop-x.x.x/etc/hadoop/workers
hadoop102
hadoop103
hadoop104

不能加任何空格和换行
然后通过xsync将文件copy到服务器

4、格式化

第一次启动集群,需要在namenode服务器进行格式化

hdfs namenode -format

如果配置错误,先停止服务,再删除掉data目录,然后重新格式化

sbin/stop-all.sh

rm -rf data logs

启动hdfs服务
sbin/start-dfs.sh

如果启动错误,查看logs日志,多半是ssh配置有问题或core-site.xml配置有问题

在配置resourcemanager的服务器启动yarn服务

sbin/start-yarn.sh

5、上传文件到DFS

# 在dfs上创建input文件夹
hadoop fs -mkdir /input

# 将文件上传的上述创建的文件
hadoop fs -put $HADOOP_HOME/wxinput/abc.txt /input

#可以在地址查看:http://hadoop102:9870/

#测试yarn,可以在地址查看:http://hadoop103:8088/cluster
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.2.jar wordcount /input /wxoutput

6、错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster [2

# 修改mapred-site.xml,添加下面两行
<property>
    <name>mapreduce.admin.user.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值