hadoop完全分布式集群搭建

本文详细介绍了在Linux环境下,如何搭建一个三节点的Hadoop完全分布式集群,包括前期准备、JDK和Hadoop的安装配置、集群分发、环境变量设置、SSH无密登录配置、启动和停止脚本的编写与测试,以及通过Web端访问HDFS和YARN信息。
摘要由CSDN通过智能技术生成

序:相关软件

一、前期准备

二、jdk,hadoop安装、配置

2.1、jdk、hadoop安装

2.2、配置jdk、hadoop环境变量

三、编写集群分发脚本,完成其他服务器的jdk、hadoop安装与配置

四、集群配置规划

五、完全分布式属性配置

5.1、core-site.xml

5.2、hdfs-site.xml

5.3、yarn-site.xml

5.4、mapred-site.xml

5.5、workers

5.6、集群配置同步

六、ssh无密登录配置

七、集群启动和停止脚本编写及测试

7.1、官方启动脚本

7.2、自定义启动脚本

7.3、自定义进程查询脚本

7.4、测试。

八、web端访问

8.1、hdfs信息查询:hadoop102:9780

8.2、yarn信息查询:hadoop103:8088

8.3、历史服务器查询:hadoop102:19888


序:相关软件

  • VMware:VMware-15.5.1
  • Linux:CentOS-7.5-x86_64-DVD-1804.iso
  • JDK:jdk-8u212-linux-x64.tar.gz
  • Hadoop:hadoop-3.1.3.tar.gz
  • xshell
  • xftp

一、前期准备

  • 准备三台服务器
  • 服务器静态ip创建
  • 服务器关闭防火墙
  • 服务器创建新用户user,给user root权限
  • 在/opt/目录下创建两个目录:module,software,并将module、software目录转给user
  • 配置好xshell远程访问

二、jdk,hadoop安装、配置

操作思想:以hadoop102为主操作服务器,完成软件安装及配置再分发到集群其他服务器

2.1、jdk、hadoop安装

文件从本地传输到服务器:使用软件xshell,xftp。软件存放位置:/opt/software/。完成后在服务器上查看。

[atguigu@hadoop102 software]$ pwd
/opt/software
[atguigu@hadoop102 software]$ ll
总用量 520608
-rw-rw-r--. 1 user user 338075860 5月  15 21:45 hadoop-3.1.3.tar.gz
-rw-rw-r--. 1 user user 195013152 5月  15 21:45 jdk-8u212-linux-x64.tar.gz

jdk、hadoop软件解压(解压后就可使用,无需安装),解压位置:/opt/module/。完成后服务器查看。

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
[user@hadoop102 module]$ pwd
/opt/module
[user@hadoop102 module]$ ll
总用量 8
drwxr-xr-x. 11 user user 4096 5月  15 23:52 hadoop-3.1.3
drwxr-xr-x.  7 user user 4096 4月   2 2019 jdk1.8.0_212

2.2、配置jdk、hadoop环境变量

在/etc/profile.d/目录下,创建环境变量配置文件,文件名为:my_env.sh,文件内容如下:

#JAVA_HOME
JAVA_HOME=/opt/module/jdk1.8.0_212
#HADOOP_HOME
HADOOP_HOME=/opt/module/hadoop-3.1.3
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH JAVA_HOME HADOOP_HOME

配置/opt/module/hadoop 3.1.3/etc/hadoop/hadoop-env.sh

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
# export JAVA_HOME=
# 增加以下内容
export JAVA_HOME=/opt/module/jdk1.8.0_212

三、编写集群分发脚本,完成其他服务器的jdk、hadoop安装与配置

shell脚本编写,脚本存放位置为:/home/user/bin/。此路径在系统path中,故可以在任意位置执行脚本。脚本名xsync,脚本完成后,需给当前用户增加操作权限。

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
  echo ====================  $host  ====================
  #3. 遍历所有目录,挨个发送
  for file in $@
  do
    #4 判断文件是否存在
    if [ -e $file ]
    then
      #5. 获取父目录
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 获取当前文件的名称
      fname=$(basename $file)
      ssh $host "mkdir -p $pdir"
      rsync -av $pdir/$fname $host:$pdir
    else
      echo $file does not exists!
    fi
  done
done

jdk、hadoop及属性文件集群同步

xsync /opt/module/*
xsync /etc/profile.d/my_env.sh

在集群其他服务器上重新加载下系统配置,将jdk、hadoop环境变量加载,并测试是否成功。

source /etc/profile

[user@hadoop103 module]$ java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mod

[user@hadoop102 module]$ hadoop version
Hadoop 3.1.3
Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r ba631c436b806728f8ec2f54ab1e289526c90579
Compiled by ztang on 2019-09-12T02:47Z
Compiled with protoc 2.5.0
From source with checksum ec785077c385118ac91aadde5ec9799
This command was run using /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-common-3.1.3.jar

至此,hadoop103、hadoop104的jdk、hadoop安装与环境变量配置完成。

四、集群配置规划

由于只有三台服务器,在完全分布式运行环境中,namenode,resoucemanager,secondarynamenode的资源占比较大,故在配置时,将三者分别布置在不同的服务器上。datanode和nodemanager在三个服务器上都进行配置

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值