搭建Hadoop环境之完全分布式

xiaoxiao2025-09-01  8

前期的准备

必须存在三台虚拟机,每天虚拟机配置必须完全一致。防火墙必须关闭,最好永久性的关闭。设置独立用户 hadoop。为每台服务器设置主机名。设置ip与主机名称的映射 hosts。三台主机设置ssh免密登录。进入到hadoop用户并将Hadoop文件进行解压配置Java和Hadoop的环境变量

对服务器中的服务进行规划

主机名hadoop01hadoop02hadoop03NameNodeResourceManagerSecondaryNameNodeDataNodeDataNodeDataNodeNodeManagerNodeManagerNodeManagerHistoryServer

配置JAVA_HOME

配置hadoop-env.sh的JAVA_HOME 配置yarn-env.sh的JAVA_HOME 配置mapred-env.sh的JAVA_HOME

配置core-site.xml 文件

<configuration> <property> <name>fs.defaultFS</name> <!--这里配置的是NameNode的IP地址和端口号--> <value>hdfs://hadoop01:8020</value> <!--hadoop01是NameNode的IP地址的映射,8020是端口号,注意端口号是 唯一的,否则会发生冲突--> </property> <property> <name>hadoop.tmp.dir</name> <!--这个文件夹会创建一个临时文件,并且存储fsimage--> <value>/var/hadoop/data</value> <!--这个路径不需要创建,在格式化namenode的时候会自动创建--> </property> </configuration>

配置hdfs-site.xml、

<configuration> <property> <name>dfs.replication</name> <!--这里配置的是副本数量--> <value>3</value> <!--3表示有3个副本--> </property> <property> <name>dfs.namenode.secondary.http-address</name> <!--配置secondarynamenode节点--> <value>hadoop03:50090</value> <!--hadoop03是secondarynamenode节点的IP地址的映射--> </property> <property> <name>dfs.permissions.enabled</name> <!--是否在HDFS中开启权限检查--> <value>false</value> </property> </configuration>

配置yarn-site.xml

<configuration> <property> <name>yarn.nodemanager.aux-services</name> <!--配置为:mapreduce.shuffle,在Yarn上开启MR的必须项--> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.log-aggregation-enable</name> <!--是否启用日志聚合功能,日志聚合开启后保存到HDFS上--> <!-- 如果不启用聚合,会把日志存储在节点本地--> <value>true</value> </property> <property> <name>yarn.nodemanager.log.retain-seconds</name> <!--配置多久后聚合后的日志文件被删除, 配置成 -1 或者一个负值就不会删除聚合日志--> <value>10800</value> <!--默认值为10800,单位为秒--> </property> <property> <description>The hostname of the RM.</description> <name>yarn.resourcemanager.hostname</name> <!--RM的hostname--> <value>hadoop02</value> </property> </configuration>

配置mapred-site.xml

<configuration> <property> <name>mapreduce.framework.name</name> <!--使用yarn运行mapreduce程序--> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <!--MapReduce JobHistory Server Web UI地址--> <value>hadoop01:19888</value> </property> </configuration>

配置slaves

编辑slaves文件,在里面加入所有DataNode节点的主机名或者是IP地址。

以上的配置完成之后,需要把hadoop的配置文件分发到各个节点之上可以使用 scp 命令完成 scp -r 要发送的文件路径 目的主机名:目的路径

分发之前,别的节点上必须存在相同的目录

注意: 每一个节点上必须已经安装好JDK环境,并且配置好环境变量

安装完成之后,就可以通过 格式化命令 格式化namenode。

格式化NameNode:hadoop namenode -format 启动HDFS:start-dfs.sh或start-all.sh 关闭HDFS:stop-dfs.sh或stop-all.sh 启动YARN:start-yarn.sh 关闭YARN:stop-yarn.sh 启动历史服务器:mr-jobhistory-daemon.sh start historyserver 关闭历史服务器:mr-jobhistory-daemon.sh stop historyserver 开启resourcemanager:yarn-daemon.sh start resourcemanager 关闭resourcemanager:yarn-daemon.sh stop resourcemanager

转载请注明原文地址: https://www.6miu.com/read-5035563.html

最新回复(0)