Hadoop yarn安装

发布于:2024-12-20 ⋅ 阅读:(8) ⋅ 点赞:(0)

目录

一、环境准备

1、准备三台服务器

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

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

4、关闭防火墙

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

 6、创建安装目录

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

8、三台机器安装jdk

二、hadoop安装

1、环境配置

2、配置hadoop配置文件

3、配置环境变量

4、创建存储路径

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

1、初始化集群 

​编辑 2、启动集群

​编辑 3、查看

​编辑 4、关闭集群

四、安装问题

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

​编辑 2、解决方法


一、环境准备

1、准备三台服务器

115.120.227.194

123.60.154.232

36.111.173.249

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

#第一台机器
hostnamectl set-hostname hadoop01

#第二台机器
hostnamectl set-hostname hadoop02

#第三台机器
hostnamectl set-hostname hadoop03

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

#打开配置文件
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、创建用户和用户组,三台配置一样的

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

 6、创建安装目录

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

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

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

# 上传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、环境配置

#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配置文件

#文件 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、配置环境变量

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修改为内网地址。之前是公网地址


网站公告

今日签到

点亮在社区的每一天
去签到