CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!

一、概述

本文基于宿主机Win10笔记本(8G+256固态,连接无线wifi)+三台虚拟机进行搭建。以下为搭建的详细过程,接近于现场直播Live。

二、软件环境准备

使用到具体软件及版本如下:

虚拟机VMware

VMware-workstation-full-12.5.7-5813279.exe

下载地址 https://my.vmware.com/web/vmware/details?productId=524&rPId=20840&downloadGroup=WKST-1257-WIN CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第1张图片

Centos

CentOS-7-x86_64-Minimal-1810.iso(最小安装盘,只有必要的软件,自带的软件最少,只有918 MB)

下载地址 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第2张图片

JDK

jdk-8u181-linux-x64.tar.gz

下载地址 https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第3张图片

Hadoop

hadoop-2.9.2.tar.gz

下载地址 https://archive.apache.org/dist/hadoop/core/hadoop-2.9.2/

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第4张图片

其他使用到的工具

远程连接工具Xshell6

上传工具xftp6

三、虚拟机准备

创建新的虚拟机,用于克隆,作为基础虚拟机,直接看图说话(虚拟机准备好的可略过)

新建虚拟机

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第5张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第6张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第7张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第8张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第9张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第10张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第11张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第12张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第13张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第14张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第15张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第16张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第17张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第18张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第19张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第20张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第21张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第22张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第23张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第24张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第25张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第26张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第27张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第28张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第29张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第30张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第31张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第32张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第33张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第34张图片

网络设置

VMware和Windows网络设置

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第35张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第36张图片

设置IP 网关 DNS

vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改前

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="dafc2038-f4fc-4a6d-b704-30e3c32f52e9"
DEVICE="ens33"
ONBOOT="yes"

修改后

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="dafc2038-f4fc-4a6d-b704-30e3c32f52e9"
DEVICE="ens33"
ONBOOT="yes"
#实时生效
NM_CONTROLLED="yes"
#ip
IPADDR=192.168.119.130
#网关
GATEWAY=192.168.119.2
#子网掩码
NETMASK=255.255.255.0
#使用主的DNS
DNS1=114.114.114.119
#备用的DNS
DNS2=114.114.115.119

修改主机名

hostnamectl set-hostname centos-basic

查看主机名 hostname

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第37张图片

关闭防火墙

//临时关闭
systemctl stop firewalld
//禁止开机启动
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第38张图片

关闭SELinxu命令(永久)

将SELINUX=enforcing改为SELINUX=disabled ,设置后需要重启才能生效。

vi /etc/selinux/config

修改前:

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第39张图片

查看 /usr/sbin/sestatus/

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第40张图片

修改后:

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第41张图片

reboot重启后查看

创建用户并设置文件权限

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第42张图片

visudo操作时:vi编辑器一般模式下,
/root 定位到root所在行
yy 复制
p 粘贴
然后将root 改成admin即可

:x 保存退出,切换至admin用户 su - admin

创建文件夹并修改权限 CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第43张图片

关机快照克隆

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第44张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第45张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第46张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第47张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第48张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第49张图片

克隆完成后,打开新克隆的虚拟机进行如下操作:

修改静态Ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR=192.168.119.101

修改主机名

hostnamectl set-hostname hadoop101

添加主机名与ip映射关系

vi  /etc/hosts
 
192.168.119.101    hadoop101
192.168.119.102    hadoop102
192.168.119.103    hadoop103

重启生效

reboot

本地映射配置(宿主机)

C:\Windows\System32\drivers\etc\hosts

同hadoop101操作再克隆hadoop102、hadoop103。

四、安装JDK

登陆hadoop101 虚拟机 用xftp6将jdk和hadoop安装包上传至/opt/software文件夹下

解压jdk至/opt/module/文件夹下

tar -zxvf /opt/software/jdk-8u181-linux-x64.tar.gz -C /opt/module/

配置jdk环境变量

先获取jdk路径

[root@hadoop101 jdk1.8.0_181]# pwd
/opt/module/jdk1.8.0_181

打开/etc/profile文件,在profie文件末尾添加jdk路径

[root@hadoop101 jdk1.8.0_181]# vi /etc/profile
##JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin

保存后退出 :wq

让修改后的文件生效

[root@hadoop101 jdk1.8.0_181]# source /etc/profile

测试jdk安装成功

[root@hadoop101 jdk1.8.0_181]# java -version

五、安装hadoop

解压 tar -zxvf /opt/software/hadoop-2.9.2.tar.gz -C /opt/module/

配置hadoop中的hadoop-env.sh

  1. 获取jdk的安装路径:
[root@hadoop101 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_181
  1. 修改/opt/module/hadoop-2.9.2/etc/hadoop/hadoop-env.sh文件中JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.8.0_181

将hadoop添加到环境变量

  1. 获取hadoop安装路径:
[root@hadoop101 hadoop-2.9.2]# pwd
/opt/module/hadoop-2.9.2
  1. 打开/etc/profile文件,在profie文件末尾添加jdk路径:(shitf+g)【依次按G到最后一行,o光标下一行插入,vi 一般模式yy复制当前行,p粘贴】

root@ hadoop101 hadoop-2.9.2]# vi /etc/profile

##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
  1. 保存后退出:

:wq

  1. 让修改后的文件生效:

root@ hadoop101 hadoop-2.9.2]# source /etc/profile

  1. 验证环境变量

root@ hadoop101 hadoop-2.9.2]# hadoop version

六、完全分布式运行模式搭建

跨服务器数据拷贝scp

将hadoop101中/opt/module文件拷贝到hadoop102、hadoop103上。

scp -r /opt/module/  root@hadoop102:/opt
scp -r /opt/module/  root@hadoop103:/opt

进入module文件夹修改hadoop102和hadoop103 /opt/module 下的用户组权限

sudo chown admin:admin /opt/module/ -R

SSH免密钥设置

Hadoop101

[admin@hadoop101 ~]# ssh-keygen -t rsa
[admin@hadoop101 ~]# ssh-copy-id hadoop101
[admin@hadoop101 ~]# ssh-copy-id hadoop102
[admin@hadoop101 ~]# ssh-copy-id hadoop103

Hadoop102

[admin@hadoop102 ~]# ssh-keygen -t rsa
[admin@hadoop102 ~]# ssh-copy-id hadoop102
[admin@hadoop102 ~]# ssh-copy-id hadoop101
[admin@hadoop102 ~]# ssh-copy-id hadoop103

Hadoop103

[admin@hadoop103 ~]# ssh-keygen -t rsa
[admin@hadoop103 ~]# ssh-copy-id hadoop103
[admin@hadoop103 ~]# ssh-copy-id hadoop101
[admin@hadoop103 ~]# ssh-copy-id hadoop102

集群分发脚本xsync

在/usr/local/bin目录下创建xsync文件

[admin@hadoop101 bin]$ sudo touch xsync

文件内容如下:

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=102; host<104; host++)); do
        #echo $pdir/$fname $user@hadoop$host:$pdir
        echo --------------- hadoop$host ----------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

修改脚本 xsync 具有执行权限

[admin@hadoop101 bin]$ sudo chmod 777 xsync

xsync 调用脚本形式:xsync 文件名称

[admin@hadoop101 ~]$ xsync /usr/local/bin/xsync
fname=xsync
pdir=/usr/local/bin
--------------- hadoop102 ----------------
/usr/local/bin/xsync:行25: rsync: 未找到命令
--------------- hadoop103 ----------------
/usr/local/bin/xsync:行25: rsync: 未找到命令

发现未安装,将三台虚拟机分别安装

[admin@hadoop101 ~]$ sudo yum install rsync -y
[admin@hadoop102 ~]$ sudo yum install rsync -y
[admin@hadoop103 ~]$ sudo yum install rsync -y

安装完成后,执行该脚本

[root@hadoop101 ~]# xsync /usr/local/bin/xsync 
fname=xsync
pdir=/usr/local/bin
--------------- hadoop102 ----------------
root@hadoop102's password: 
sending incremental file list
xsync

sent 638 bytes  received 35 bytes  149.56 bytes/sec
total size is 549  speedup is 0.82
--------------- hadoop103 ----------------
root@hadoop103's password: 
sending incremental file list
xsync

sent 638 bytes  received 35 bytes  192.29 bytes/sec
total size is 549  speedup is 0.82

完成后hadoop102和hadoop103就同步过来了xsync脚本文件

配置集群

集群部署规划

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第50张图片

修改配置文件

[admin@hadoop101 ~]$ vi /opt/module/hadoop-2.9.2/etc/hadoop/core-site.xml
	
	
		fs.defaultFS
        hdfs://hadoop101:9000
	
	
	
		hadoop.tmp.dir
		/opt/module/hadoop-2.9.2/data/tmp
	

HDFS

vi /opt/module/hadoop-2.9.2/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_181

vi /opt/module/hadoop-2.9.2/etc/hadoop/ hdfs-site.xml

	
		
			dfs.replication
			3
		
		
		
			dfs.namenode.secondary.http-address
			hadoop103:50090
		
	

slaves

vi /opt/module/hadoop-2.9.2/etc/hadoop/slaves

hadoop101
hadoop102
hadoop103

yarn

vi /opt/module/hadoop-2.9.2/etc/hadoop/yarn-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_181

vi /opt/module/hadoop-2.9.2/etc/hadoop/yarn-site.xml



    
    
        yarn.nodemanager.aux-services
        mapreduce_shuffle
    
    
    
        yarn.resourcemanager.hostname
        hadoop102
    

mapreduce

vi /opt/module/hadoop-2.9.2/etc/hadoop/mapred-env.sh

export JAVA_HOME=/opt/module/jdk1.8.0_181

cp mapred-site.xml.template mapred-site.xml

vi /opt/module/hadoop-2.9.2/etc/hadoop/mapred-site.xml

	
		
		
			mapreduce.framework.name
			yarn
		
	

在集群上分发以上所有配置文件

xsync /opt/module/hadoop-2.9.2/etc/hadoop/

七、集群启动及测试

集群群起

  1. 如果集群是第一次启动,需要格式化namenode 【三台hadoop-2.9.2下将data和logs文件夹删除】
[admin@hadoop101 hadoop-2.9.2]$ bin/hdfs namenode -format
  1. 启动HDFS
[admin@hadoop101 hadoop-2.9.2]$ sbin/start-dfs.sh 
Starting namenodes on [hadoop101]
hadoop101: starting namenode, logging to /opt/module/hadoop-2.9.2/logs/hadoop-admin-namenode-hadoop101.out
hadoop102: starting datanode, logging to /opt/module/hadoop-2.9.2/logs/hadoop-admin-datanode-hadoop102.out
hadoop103: starting datanode, logging to /opt/module/hadoop-2.9.2/logs/hadoop-admin-datanode-hadoop103.out
hadoop101: starting datanode, logging to /opt/module/hadoop-2.9.2/logs/hadoop-admin-datanode-hadoop101.out
Starting secondary namenodes [hadoop103]
hadoop103: starting secondarynamenode, logging to /opt/module/hadoop-2.9.2/logs/hadoop-admin-secondarynamenode-hadoop103.out 

分别查看三台虚拟机进程

[admin@hadoop101 hadoop-2.9.2]$ jps
8146 NameNode
8483 Jps
8277 DataNode
[admin@hadoop102 hadoop-2.9.2]$ jps
7923 Jps
7807 DataNode
[admin@hadoop103 hadoop-2.9.2]$ jps
7411 DataNode
7512 SecondaryNameNode
7594 Jps
  1. 启动yarn (在ResouceManager所在的机器上启动yarn,即hadoop102上执行)
[admin@hadoop102 hadoop-2.9.2]$ sbin/start-yarn.sh 
starting yarn daemons
starting resourcemanager, logging to /opt/module/hadoop-2.9.2/logs/yarn-admin-resourcemanager-hadoop102.out
hadoop103: starting nodemanager, logging to /opt/module/hadoop-2.9.2/logs/yarn-admin-nodemanager-hadoop103.out
hadoop101: starting nodemanager, logging to /opt/module/hadoop-2.9.2/logs/yarn-admin-nodemanager-hadoop101.out
hadoop102: starting nodemanager, logging to /opt/module/hadoop-2.9.2/logs/yarn-admin-nodemanager-hadoop102.out

注意:Namenode和ResourceManger如果不是同一台机器,不能在NameNode上启动 yarn,应该在ResouceManager所在的机器上启动yarn。

查看三台进程,与集群部署规划对比无误

[admin@hadoop101 ~]$ jps
8146 NameNode
8579 NodeManager
8277 DataNode
8699 Jps
[admin@hadoop102 hadoop-2.9.2]$ jps
7970 ResourceManager
8083 NodeManager
8378 Jps
7807 DataNode
[admin@hadoop103 hadoop-2.9.2]$ jps
7411 DataNode
7636 NodeManager
7512 SecondaryNameNode
7755 Jps

打开浏览器访问 http://hadoop101:50070/

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第51张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第52张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第53张图片

集群基本测试

查看根目录下

[admin@hadoop101 hadoop-2.9.2]$ hadoop fs -ls -R /

递归创建文件夹

[admin@hadoop101 hadoop-2.9.2]$ bin/hdfs dfs -mkdir -p /user/admin/temp/conf

查看

[admin@hadoop101 hadoop-2.9.2]$ hadoop fs -ls -R /
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:31 /user
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:31 /user/admin
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:31 /user/admin/temp
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:31 /user/admin/temp/conf

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第54张图片

上传小文件,将hadoop满足*-site.xml的配置文件存放到刚创建的conf文件夹中

[admin@hadoop101 hadoop-2.9.2]$ bin/hdfs dfs -put etc/hadoop/*-site.xml /user/admin/temp/conf

查看

[admin@hadoop101 hadoop-2.9.2]$ hadoop fs -ls -R /
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:31 /user
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:31 /user/admin
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:31 /user/admin/temp
drwxr-xr-x   - admin supergroup          0 2019-02-21 19:35 /user/admin/temp/conf
-rw-r--r--   3 admin supergroup       1078 2019-02-21 19:35 /user/admin/temp/conf/core-site.xml
-rw-r--r--   3 admin supergroup       1029 2019-02-21 19:35 /user/admin/temp/conf/hdfs-site.xml
-rw-r--r--   3 admin supergroup        620 2019-02-21 19:35 /user/admin/temp/conf/httpfs-site.xml
-rw-r--r--   3 admin supergroup       5939 2019-02-21 19:35 /user/admin/temp/conf/kms-site.xml
-rw-r--r--   3 admin supergroup        879 2019-02-21 19:35 /user/admin/temp/conf/mapred-site.xml
-rw-r--r--   3 admin supergroup        996 2019-02-21 19:35 /user/admin/temp/conf/yarn-site.xml

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第55张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第56张图片

上传大文件

[admin@hadoop101 hadoop-2.9.2]$ bin/hadoop fs -put /opt/software/hadoop-2.9.2.tar.gz /user/admin/temp/conf

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第57张图片

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第58张图片

上传文件后查看文件存放在什么位置

文件存储路径

[admin@hadoop101 subdir0]$ pwd
/opt/module/hadoop-2.9.2/data/tmp/dfs/data/current/BP-63728329-192.168.119.101-1550747409316/current/finalized/subdir0/subdir0
[admin@hadoop101 subdir0]$ 
[admin@hadoop101 subdir0]$ ll
总用量 360716
-rw-rw-r-- 1 admin admin      1078 2月  21 19:35 blk_1073741825
-rw-rw-r-- 1 admin admin        19 2月  21 19:35 blk_1073741825_1001.meta
-rw-rw-r-- 1 admin admin      1029 2月  21 19:35 blk_1073741826
-rw-rw-r-- 1 admin admin        19 2月  21 19:35 blk_1073741826_1002.meta
-rw-rw-r-- 1 admin admin       620 2月  21 19:35 blk_1073741827
-rw-rw-r-- 1 admin admin        15 2月  21 19:35 blk_1073741827_1003.meta
-rw-rw-r-- 1 admin admin      5939 2月  21 19:35 blk_1073741828
-rw-rw-r-- 1 admin admin        55 2月  21 19:35 blk_1073741828_1004.meta
-rw-rw-r-- 1 admin admin       879 2月  21 19:35 blk_1073741829
-rw-rw-r-- 1 admin admin        15 2月  21 19:35 blk_1073741829_1005.meta
-rw-rw-r-- 1 admin admin       996 2月  21 19:35 blk_1073741830
-rw-rw-r-- 1 admin admin        15 2月  21 19:35 blk_1073741830_1006.meta
-rw-rw-r-- 1 admin admin 134217728 2月  21 19:47 blk_1073741831
-rw-rw-r-- 1 admin admin   1048583 2月  21 19:47 blk_1073741831_1007.meta
-rw-rw-r-- 1 admin admin 134217728 2月  21 19:47 blk_1073741832
-rw-rw-r-- 1 admin admin   1048583 2月  21 19:47 blk_1073741832_1008.meta
-rw-rw-r-- 1 admin admin  98011993 2月  21 19:47 blk_1073741833
-rw-rw-r-- 1 admin admin    765727 2月  21 19:47 blk_1073741833_1009.meta

八、Hadoop启动停止方式

  • 各个服务组件逐一启动

1)分别启动hdfs组件

hadoop-daemon.sh  start|stop  namenode|datanode|secondarynamenode

2)启动yarn

yarn-daemon.sh  start|stop  resourcemanager|nodemanager
  • 各个模块分开启动(配置ssh是前提)常用 1)整体启动/停止hdfs
start-dfs.sh
stop-dfs.sh

2)整体启动/停止yarn

start-yarn.sh
stop-yarn.sh
  • 全部启动(不建议使用)
start-all.sh
stop-all.sh

九、集群时间同步

时间同步的方式:找一台机器作为时间服务器,所有的机器与这台集群时间进行定时的同步。

时间服务器配置

  1. 检查ntp是否安装(因为CentOS选用的是Minimal版本,所以并没有安装)
[root@hadoop101 /]# rpm -qa|grep ntp
  1. 安装ntp
[root@hadoop101 /]# yum install ntp

再次检查发现安装成功

[root@hadoop101 /]# rpm -qa|grep ntp
ntpdate-4.2.6p5-28.el7.centos.x86_64
ntp-4.2.6p5-28.el7.centos.x86_64
  1. 修改ntp配置文件
[root@hadoop101 /]# vi /etc/ntp.conf

CentOS 7.6搭建Hadoop2.9.2完全分布式集群,狠详细!_第59张图片

:授权192.168.119.0-255.255.255.0网段上的所有机器可以从这台机器上查询和同步时间

:集群在局域网中,不是用其他互联网上的时间(注掉)

:当该节点网络连接丢失,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步

  1. 修改/etc/sysconfig/ntpd 文件
[root@hadoop101 /]# vi /etc/sysconfig/ntpd

增加内容如下(让硬件时间与系统时间一起同步)

SYNC_HWCLOCK=yes
  1. 重启ntpd
[root@hadoop101 /]# service ntpd start
  1. 设置ntpd开机启动
chkconfig ntpd on

其他机器配置(必须root用户)

  1. 安装ntp
[root@hadoop102 sbin]# yum install ntp
  1. 在其他机器配置10分钟与时间服务器同步一次
[root@hadoop102 admin]# crontab -e
*/10 * * * * /usr/sbin/ntpdate hadoop101
  1. 修改任意机器时间
date -s "2019-10-10"
  1. 十分钟后查看机器是否与时间服务器同步
date

十、结尾

搭建过程还算顺利,期间参考了许多优秀博主的博客,受益良多,以下是涉及到的博客及地址,在此一一致谢!

Linux之CentOS7.5安装及克隆 https://www.cnblogs.com/frankdeng/p/9027037.html

Hadoop(二)CentOS7.5搭建Hadoop2.7.6完全分布式集群 http://www.cnblogs.com/frankdeng/p/9047698.html

Vmware虚拟机网络配置(固定IP) https://www.jianshu.com/p/6fdbba039d79

centos修改主机名的正确方法 https://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_043_hostname.html

转载于:https://my.oschina.net/u/3489495/blog/3013280

你可能感兴趣的:(大数据,java,运维)