hadoop 大数据集群环境配置 配置hadoop配置文件 hadoop(七)

  1. 虚拟机的三台机器分别以hdfs 存储, mapreduce计算,yarn调度三个方面进行集群配置

hadoop 版本3.3.4

官网:Hadoop -- Apache Hadoop 3.3.6

jdk 1.8

三台机器尾号为:22, 23, 24。(没有用hadoop102, 103,104,我改为了hadoop22,hadoop23,hadoop24)

  1. 配置22机器core-site.xml

cd $HADOOP_HOME/etc/hadoop

vi core-site.xml

bash 复制代码
<configuration>
    <!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop22:8020</value>
    </property>

    <!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.3.4/data</value>
    </property>

    <!-- 配置HDFS网页登录使用的静态用户为atguigu -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>atguigu</value>
    </property>
</configuration>
  1. 配置22机器得hdfs-site.xml

    <configuration> <property> <name>dfs.namenode.http-address</name> <value>hadoop22:9870</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop24:9868</value> </property> </configuration>
  2. 配置22机器的yarn-site.xml

bash 复制代码
 <!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop23</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>

5.配置22机器的mapred-site.xml

bash 复制代码
<configuration>
	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
  1. 配置22机器workers文件:
bash 复制代码
hadoop22
hadoop23
hadoop24

注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

7.脚本发送到23,24机器:

xsync /opt/module/hadoop-3.3.4/etc/hadoop

  1. 分别去23,24机器检查下是否发送成功。上述修改的文件是否是修改过的数据:
  1. 如果集群是第一次启动 ,需要在hadoop102节点格式化NameNode(注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。

生成机器id:

bash 复制代码
hdfs namenode -format
  1. 启动hdfs
bash 复制代码
# 例如我的路径/opt/module/hadoop-3.3.4/etc/hadoop
# 在hadoop文件下,前面你自己的路径/etc/hadoop/
# 输入命令
sbin/start-dfs.sh
  1. 在配置了ResourceManager的节点( hadoop23 ****)****启动YARN
bash 复制代码
sbin/start-yarn.sh
  1. 如果启动失败,我是三台机器都删除了data,logs数据。重新从9步,重新生成机器id数据

比对配置文件是否错误,再次重新启动。即可解决~!

相关推荐
哲讯智能科技4 小时前
智慧能源新篇章:SAP如何赋能光伏行业数字化转型
大数据·人工智能
java1234_小锋6 小时前
Kafka中的消息是如何存储的?
分布式·kafka
老友@6 小时前
Kafka 深度解析:高性能设计、部署模式、容灾机制与 KRaft 新模式
分布式·kafka·kraft·高性能·容灾机制
余子桃6 小时前
Kafka的安装与使用(windows下python使用等)
分布式·kafka
宅小海6 小时前
14 配置Hadoop集群-配置历史和日志服务
linux·服务器·hadoop
嘟嘟嘟嘟嘟嘟嘟.6 小时前
MapReduce的工作原理
大数据·mapreduce
java1234_小锋6 小时前
Kafka中的消息如何分配给不同的消费者?
分布式·kafka
小样vvv6 小时前
【Kafka】深入探讨 Kafka 如何保证一致性
分布式·kafka
汤姆yu7 小时前
基于python大数据的商品数据可视化分析系统
大数据·python·信息可视化·商品数据
好记忆不如烂笔头abc8 小时前
oracle-blob导出,在ob导入失败
大数据·数据库·python