2-Hadoop集群配置-安装-启动

1、 流程说明

在单机测试wordcount没问题后,开始配置集群模式

说明: hadoop有几个功能

​ ① hdfs存

​ NameNode

​ SecondNameNode

​ DataNode

​ ②yarn资源调度

​ ResourceManager

​ NodeManager

​ ③mapreduce计算

​ 有Job任务的时候才会有

每台机器都有 hdfs的datanode, 都有 yarn的nodemanager;

对于 NameNode/SecondeNameNode分别放在第一台和第三台机器上

对于ResourceManger放在第二台机器上

流程为:

  1. 修改配置文件 5个(hdfs/yarn/mapreduce/workders/core),修改后分发
  2. 格式化namenode
  3. 启动hdfs/yarn

2、修改配置文件

hadoop/etc/hadoop/ 这个路径下的5个文件

  1. core
  2. hdfs
  3. yarn
  4. mapreduce
  5. workers

1. core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
<!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://node001: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>xing</value>
    </property>
</configuration>

2. hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>

	<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>node001:9870</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node003:9868</value>
    </property>
</configuration>

3. yarn-site.xml

<?xml version="1.0"?>

<configuration>

 	<!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

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

4. mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

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

5. workers

  • 这个文件里不能包含任何多余的行或者空格
node001
node002
node003

6. 分发

xsync hadoop/etc/hadoop/*

3、 格式化NameNode

# 再需要设置NameNode的机器上执行
hdfs namenode -format

# 若出错,请看日志 hadoop/logs/

4、 启动

# 1. 先启动hdfs , 再启动yarn;  关闭时先关闭yarn,再关闭hdfs
start-dfs.sh # 任何一台机器都可以
start-yarn.sh # 只能ResourceManager那台机器启动

# 2. jps测试
jps

5、jpsall脚本

#!/bin/bash
for host in node001 node002 node003
do
	echo "===========${host} jps============"
	ssh $host "jps"
done

6、如果重复格式化nn解决

# 1. reboot所有机器

# 2.  删除集群所有 data,logs,/tmp/*

#!/bin/bash
for host in node001 node002 node003
do
	ssh $host "rm -rf /opt/module/hadoop-3.1.3/data"
	ssh $host "rm -rf /opt/module/hadoop-3.1.3/logs"
	ssh $host "sudo rm -rf /tmp/*"
	echo "++++++++++++${host}已删除++++++++++++"
done

posted on 2023-04-27 16:16  iscurry  阅读(47)  评论(0)    收藏  举报