搭建Hadoop环境之完全分布式

前期的准备

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

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

主机名hadoop01hadoop02hadoop03
NameNodeResourceManagerSecondaryNameNode
DataNodeDataNodeDataNode
NodeManagerNodeManagerNodeManager
HistoryServer

配置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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值