Hadoop 2.4.0完全分布式安装和解决一些问题

参考https://blog.csdn.net/qq_43605654/article/details/90746563
参考https://blog.csdn.net/weixin_50198333/article/details/108768630

三台机器配置环境

前期准备:

  • JDK环境,修改主机名称,配置网络
  • 三个ssh相互之间免密码登陆的虚拟机node1,node2,node3.
  • 修改/etc/hosts文件

安装

三台虚拟机将hadoop2.4.0解压到/usr/local中。改名

mv hadoop2.4.0 hadoop

三台机器配置环境变量

三台虚拟机修改/etc/profile,这里写出hadoop和yarn的日志路径,hadoop脚本会读取到相应变量。

openjdk的默认安装路径/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64

环境变量:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_LOG_DIR=$HADOOP_HOME/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
export ZOOKEEPER_HOME=/usr/local/zookeeper
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$KAFKA_HOME/bin:$ZOOKEEPER_HOME/bin
source /etc/profile

三台机器创建目录

mkdir /usr/local/hadoop/tmp              用来存放临时文件

mkdir /usr/local/hadoop/logs             用来存放日志文件

mkdir /usr/local/hadoop/hdfs             用来存储集群数据

mkdir /usr/local/hadoop/name   			用来存储文件系统元数据

mkdir /usr/local/hadoop/data     		用来存储真正的数据

三台机器修改JAVA_HOME的值

进入hadoop解压后的目录下,找到两个.sh文件,修改JAVA_HOME的值,虽然有的时候可以读出来变量,但是还是写死,防止出错。

cd /usr/local/hadoop/etc/hadoop

vi hadoop-env.sh

在这里插入图片描述

vi yarn-env.sh

在这里插入图片描述

报no namenode to stop等问题

为了以防万一,三台机器安装就修改。

1.问题描述

长时间启动hadoop后,使用stop-all.sh停止时报 no namenode to stop,但jps显示namenode 确实存在

2.造成原因

hadoop默认配置是将namenode,datanode等相关进程的pid存放在/tmp目录下,但linux会定期清理/tmp目录,所以pid信息丢失,导致出现该问题

3.解决方法

修改/usr/local/hadoop/etc/hadoop/hadoop-env.sh文件中的HADOOP_PID_DIR

在这里插入图片描述

三台机器修改核心配置文件

vi /usr/local/hadoop/etc/hadoop/core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->

<!-- Put site-specific property overrides in this file. -->

<configuration>
 
<property>
 
    <name>fs.defaultFS</name>
 
    <value>hdfs://node1:9000</value>
 
    <description>HDFS的URI</description>
 
</property>
 
<property>
 
    <name>hadoop.tmp.dir</name>
 
    <value>/usr/local/hadoop/tmp</value>
 
    <description>节点上本地的hadoop临时文件夹</description>
 
</property>
</configuration>

在这里插入图片描述
输入 cp mapred-site.xml.template mapred-site.xml 将mapred-site.xml.template文件复制到当前目录,并重命名为mapred-site.xml

vi /usr/local/hadoop/etc/hadoop/mapred-site.xml
<property>
 
    <name>mapreduce.framework.name</name>
 
    <value>yarn</value>
 
    <description>指定mapreduce使用yarn框架</description>
 
</property>

在这里插入图片描述

vi yarn-site.xml

在配置标签中添加

<property>
 
        <name>yarn.resourcemanager.hostname</name>
 
        <value>master</value>
 
<description>指定resourcemanager所在的hostname</description>
 
</property>
 
<property>
 
        <name>yarn.nodemanager.aux-services</name>
 
        <value>mapreduce_shuffle</value>
 
        <description>NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行 MapReduce程序</description>
 
</property>

在这里插入图片描述

vi slaves

删除localhost,改为datanode的主机名
在这里插入图片描述

格式化hdfs

在master机器上输入 hdfs namenode -format 格式化namenode。

第一次使用需格式化一次,之后就不用再格式化,如果修改了一些配置文件,则需要重新格式化。(由于配置了环境变量任意位置执行都可以)

hdfs namenode -format

启动hadoop

start-all.sh

在这里插入图片描述

使用jps查看每个节点的进程

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

用web端查看节点信息

在浏览器打开master:8088(hadoop管理)或master:50070(hdfs管理)
在这里插入图片描述

关闭集群

stop-all.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值