Hadoop yarn安装

目录

一、环境准备

1、准备三台服务器

2、给三台主机分别配置主机名

3、给三台服务器配置域名,三台配置一样的

4、关闭防火墙

5、创建用户和用户组,三台配置一样的

6、创建安装目录

7、设置免密登录,三台机器都要执行下面的步骤

8、三台机器安装jdk

二、hadoop安装

1、环境配置

2、配置hadoop配置文件

3、配置环境变量

4、创建存储路径

[三、集群启动 只需在hadoop01上操作](#三、集群启动 只需在hadoop01上操作)

1、初始化集群

[​编辑 2、启动集群](#编辑 2、启动集群)

[​编辑 3、查看](#编辑 3、查看)

[​编辑 4、关闭集群](#编辑 4、关闭集群)

四、安装问题

1、启动的时候,namenode启动失败

[​编辑 2、解决方法](#编辑 2、解决方法)


一、环境准备

1、准备三台服务器

115.120.227.194

123.60.154.232

36.111.173.249

2、给三台主机分别配置主机名

bash 复制代码
#第一台机器
hostnamectl set-hostname hadoop01

#第二台机器
hostnamectl set-hostname hadoop02

#第三台机器
hostnamectl set-hostname hadoop03

3、给三台服务器配置域名,三台配置一样的

bash 复制代码
#打开配置文件
vim /etc/hosts

#文件中添加以下内容
115.120.227.194  hadoop01
123.60.154.232   hadoop02
36.111.173.249   hadoop03

#保存文件
:wq!

4、关闭防火墙

sudo systemctl stop firewalld

5、创建用户和用户组,三台配置一样的

bash 复制代码
#创建hadoop用户组
groupadd hadoop
#创建hadoop用户,并归属于hadoop用户组
useradd -m -g hadoop hadoop
#设置hadoop用户密码
passwd hadoop

6、创建安装目录

bash 复制代码
mkdir csn/data
cd csn
chown -R hadoop:hadoop data
#后续所有操作均使用hadoop用户
su - hadoop

7、设置免密登录,三台机器都要执行下面的步骤

bash 复制代码
cd /home/hadoop/.ssh
ssh-keygen -t rsa 
#输入3次回车
#拷贝当前机器ssh公钥信息至另外两台虚拟机
ssh-copy-id hadoop01 #hadoop01需要拷贝至自己机器,不然hdfs-start.sh报错
ssh-copy-id hadoop02
ssh-copy-id hadoop03

8、三台机器安装jdk

bash 复制代码
# 上传jdk安装包并解压
tar -zxvf jdk-8u161-linux-x64.tar.gz

#配置环境变量
vi ~/.bashrc
#添加以下内容
export JAVA_HOME=/csn/data/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
#生效
source ~/.bashrc

二、hadoop安装

1、环境配置

bash 复制代码
#1、上传安装包并解压 hadoop-3.3.5.tar.gz
tar -zxvf hadoop-3.3.5.tar.gz


#2、配置集群地址
cd /csn/data/hadoop-3.3.5/etc/hadoop
vi workers
#添加以下内容
hadoop01
hadoop02
hadoop03
#保存文件


#3 vi hadoop-env.sh
export JAVA_HOME=/csn/data/jdk1.8.0_161
export HADOOP_HOME=/csn/data/hadoop-3.3.5
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs

2、配置hadoop配置文件

XML 复制代码
#文件 core-site.xml
<configuration>
  <property>
    <name>fs.defaultFS</name>
      <value>hdfs://hadoop01:8020</value>
   </property>
   <property>
       <name>io.file.buffer.size</name>
       <value>131072</value>
   </property>
   <!-- 配置HDFS网页登录使用的静态用户为"你想要进行删除操作的用户名" -->
   <property>
       <name>hadoop.http.staticuser.user</name>
       <value>hadoop</value>
   </property>
</configuration>

#hdfs-site.xml文件
<configuration>
    <property>
	      <name>dfs.datanode.data.dir.perm</name>
	      <value>700</value>
    </property>
    <property>
          <name>dfs.namenode.name.dir</name>
          <value>/csn/data/nn</value>
    </property>
    <property>
          <name>dfs.namenode.hosts</name>
          <value>hadoop01,hadoop02,hadoop03</value>
    </property>
    <property>
          <name>dfs.blocksize</name>
          <value>268435456</value>
    </property>
    <property>
          <name>dfs.namenode.handler.count</name>
          <value>100</value>
    </property>
    <property>
          <name>dfs.datanode.data.dir</name>
          <value>/csn/data/dn</value>
    </property>
</configuration>

#yarn-site.xml文件
<configuration>  
  <property>
    <name>yarn.log.server.url</name>
    <value>http://hadoop01:19888/jobhistory/logs</value>
    <description>历史服务器路径</description>
  </property>
  
  <property>
    <name>yarn.web-proxy.address</name>
    <value>hadoop01:8089</value>
    <description>代理服务器主机和端口</description>
  </property>
  
  <property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
    <description>开始日志聚合</description>
  </property>
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/tmp/logs</value>
    <description>程序日志HDFS的存储路径</description>
  </property>
  
  <!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop01</value>
    <description>ResoucesManager的所在节点</description>
  </property>
  
  <property>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
    <description>选择公平调度器</description>
  </property>
  
  <!-- 是否将对容器实施物理内存限制 -->
  <property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
  </property>
   
  <!-- 是否将对容器实施虚拟内存限制 -->
  <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>
  
  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/csn/data/nm-local</value>
    <description>NodeManager中间数据本地存储路径</description>
  </property>
  
  <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/csn/data/nm-log</value>
    <description>NodeManager数据日志本地存储路径</description>
  </property>
  
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>为Mapreduce程序开启Shuffle服务</description>
  </property>
  
  <!-- 设置yarn历史日志保存时间 7天 -->
  <property>
    <name>yarn.nodemanager.log.retain-seconds</name>
    <value>302400</value>
    <description>Default time (in seconds) to retain log files on the NodeManager Only applicable if log-aggregation is disabled.</description>
  </property>
</configuration>

#mapred-site.xml 文件
<configuration>
  <!-- 设置MR程序默认运行模式,yarn集群模式,local本地模式 -->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
   
  <!-- MR程序历史服务地址 -->
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop01:10020</value>
  </property>
   
  <!-- MR程序历史服务web端地址 -->
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop01:19888</value>
  </property>
   
  <!-- yarn环境变量 -->
  <property>
    <name>yarn.app.mapreduce.am.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  </property>
   
  <!-- map环境变量 -->
  <property>
    <name>mapreduce.map.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  </property>
   
  <!-- reduce环境变量 -->
  <property>
    <name>mapreduce.reduce.env</name>
    <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
  </property>
</configuration>

3、配置环境变量

bash 复制代码
vi ~/.bashrc

export HADOOP_HOME=/csn/data/hadoop-3.3.5
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH

source ~/.bashrc

4、创建存储路径

#创建NameNode文件目录(只需在hadoop01上创建)

mkdir -p /csn/data/nn

#创建DataNode文件目录(3台均需创建)

mkdir -p /csn/data/dn

三、集群启动 只需在hadoop01上操作

1、初始化集群

hadoop namenode -format

2、启动集群

#启动hdfs集群

start-dfs.sh

#启动yarn集群

start-yarn.sh

3、查看

4、关闭集群

#一键关闭hdfs集群

stop-dfs.sh

#一键关闭yarn集群

stop-yarn.sh

四、安装问题

1、启动的时候,namenode启动失败

2、解决方法

将hadoop01中的hosts配置,hadoop01的ip修改为内网地址。之前是公网地址

相关推荐
Data跳动9 分钟前
Spark内存都消耗在哪里了?
大数据·分布式·spark
woshiabc1111 小时前
windows安装Elasticsearch及增删改查操作
大数据·elasticsearch·搜索引擎
lucky_syq2 小时前
Saprk和Flink的区别
大数据·flink
lucky_syq2 小时前
流式处理,为什么Flink比Spark Streaming好?
大数据·flink·spark
袋鼠云数栈2 小时前
深入浅出Flink CEP丨如何通过Flink SQL作业动态更新Flink CEP作业
大数据
Java程序之猿2 小时前
微服务分布式(一、项目初始化)
分布式·微服务·架构
清平乐的技术专栏2 小时前
Hive SQL 查询所有函数
hive·hadoop·sql
来一杯龙舌兰2 小时前
【RabbitMQ】RabbitMQ保证消息不丢失的N种策略的思想总结
分布式·rabbitmq·ruby·持久化·ack·消息确认
小白学大数据3 小时前
如何使用Selenium处理JavaScript动态加载的内容?
大数据·javascript·爬虫·selenium·测试工具
15年网络推广青哥3 小时前
国际抖音TikTok矩阵运营的关键要素有哪些?
大数据·人工智能·矩阵