栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Hadoop全分布式搭建(centos8+jdk8)记录

Hadoop全分布式搭建(centos8+jdk8)记录

Hadoop全分布式搭建

之前搭建了伪分布的hadoop,也是在google、百度上找了很久了资源。很费时费力 遇到的问题又很多。现在 记录一下自己的搭建过程,同时也提供给有hadoop搭建需求的小伙伴些许的帮助。


环境
centos8
jdk1.8
win10 64位系统
VMware workstation15
3台虚拟机 1台master 另外两台slaver01、slaver02

目录
  • Hadoop全分布式搭建
  • 一、Hadoop和jdk下载
  • 二、Linux系统网络配置
        • 1. 主机名和ip映射配置,
        • 2. 网络参数配置
  • 三、SSH服务配置
        • 1.关闭防火墙
        • 2. SSH远程登录配置
        • 3. SSH免登录功能配置
  • 四、Hadoop集群搭建
        • 1. 配置环境变量并使之生效
        • 2. 修改hadoop-env.sh 文件(配置Hadoop运行所需要的环境变量)
        • 3. 修改配置文件core-site.xml(Hadoop核心布局配置文件)
        • 4. 修改配置文件hdfs-site.xml(HDFS配置文件,继承core-site.xml文件)
        • 5. 修改配置文件mapred-site.xml(MapReduce配置文件,继承core-site.xml文件)
        • 6. 修改配置文件yarn-site.xml(YARN配置文件,继承core-site.xml文件)
        • 7. 新建master文件(/opt/hadoop/etc/hadoop/)目录下
        • 8. 新建workers文件(/opt/hadoop/etc/hadoop/)目录下
        • 9. 新建tmp、name、data文件夹(/opt/hadoop/)目录下 因为配置文件中用到了这些文件夹
        • 10. 将master机配置好的文件复制到slaver01、slaver02 上去
  • 五、启动集群
        • 1. 第一次启动需格式化,之后不需要了
        • 2. 启动Hadoop进程
        • 3. 查看进程
  • 六、查看web界面
        • 1.在浏览器中访问http://master:50070查看HDFS的web界面
        • 2.在浏览器中访问http://master:8088查看YARN的web界面
  • 七、总结


一、Hadoop和jdk下载

在清华镜像源网站获得hadoop和jdk的网址链接,然后在centos8中直接使用wget 链接 下载tar.gz的压缩包. 可在centos8终端直接使用下载:

hadoop使用wget下载

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

jdk使用wget下载

wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u312b07.tar.gz

下载的链接
Hadoop-3.3.1 577M

openJDK8 98M

openjdk和jdk的区别可查看这篇文章
openjdk和jdk区别

下载速度挺快的


  1. 我放在hadoop用户的根目录下,没有hadoop用户的建议创建一个hadoop用户。下载完成后显示如下:

  2. 切换到root 用户解压到当前目录
    使用 tar -zxvf filename解压tar.gz文件

  3. 将其移动到centos8的总根目录下的/opt/ 下

mv hadoop-3.3.1 /opt/ 
mv jdk8u282-b08 /opt/

一样的哈 之前装了jdk17 后来发现jdk17启动时会报错 出问题 于是改为了jdk8

  1. cd /opt/切换目录 ls 查看
二、Linux系统网络配置 1. 主机名和ip映射配置,

使用vim /etc/hosts

(注意每台虚拟机的hostname 都要修改为对应的主机名 )
在每台虚拟机上分别执行hostnamectl set-hostname 主机名
设置对应的主机名

配置IP映射 需要明确目前虚拟机的IP地址和主机名



虚拟机的IP地址需设置在这个范围内

2. 网络参数配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33

我的网卡是eth33 有些人的可能是eth0 根据个人情况更改这个名称即可.
IPADDR:虚拟机IP地址
GATEWAY:虚拟网关 一般是将ip地址最后一位数变为2
NETMASK:表示虚拟机子网掩码 配置为255.255.255.0
DNS1:表示域名解析器 此处用google提供的免费DNS服务器8.8.8.8(也可以设置为PC端计算机对应的DNS)

  1. 重启虚拟机,使当前配置生效reboot
三、SSH服务配置 1.关闭防火墙

关闭:systemctl stop firewalld.service暂时关闭
禁用:systemctl disable firewalld.service 永久关闭
查看:systemctl status firewalld.service

2. SSH远程登录配置

(1)在centos系统中查看当前机器是否安装了SSH服务使用rpm-qa | grep ssh

使用ps -e | grep sshd 查看SSH服务是否开启。Centos虚拟机已经默认安装并开启了SSH服务,不需要再进行额外的安装。如果未安装可使用 yum install openssh-server

(2) 登录到Xshell7 连接到虚拟机



其他几台从节点虚拟机类似

3. SSH免登录功能配置

SSH免登录是通过配置公钥和私钥来实现的
切换到root用户
(1)生成公钥和私钥:ssh-keygen -t rsa 然后分别敲三个回车 就会生成两个文件id_rsa(私钥),id_rsa.pub(公钥)

分别删除虚拟机master slaver01 slaver02的~/.ssh目录

master: rm -rf .ssh
slaver01: rm -rf .ssh
slaver02: rm -rf .ssh

在master虚拟机上新建公私密钥对

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

(2)复制本地用户的公钥到远程主机指定hadoop用户的认证库中

ssh-copy-id root@master
ssh-copy-id root@slaver01
ssh-copy-id root@salver02

(3)验证SSH免登录是否配置成功

ssh slaver01

四、Hadoop集群搭建 1. 配置环境变量并使之生效

切换到root 用户 su 回顾一下我的opt下有些什么

给文件重命名

mv hadoop-3.3.1 hadoop
mv jdk8u282-b08 jdk

打开环境变量配置文件vim /etc/profile
添加java和hadoop环境变量

使用source /etc/profile使配置生效

查看jdk和是否安装正确 使用java -version 和 hadoop version

2. 修改hadoop-env.sh 文件(配置Hadoop运行所需要的环境变量)

在opt目录下 使用vim hadoop/etc/hadoop/hadoop-env.sh在末尾加入以下export

下面的配置都在opt/hadoop/etc/hadoop目录下进行

3. 修改配置文件core-site.xml(Hadoop核心布局配置文件)
vim core-site.xml

4. 修改配置文件hdfs-site.xml(HDFS配置文件,继承core-site.xml文件)
vim hdfs-site.xml

5. 修改配置文件mapred-site.xml(MapReduce配置文件,继承core-site.xml文件)
vim mapred-site.xml

6. 修改配置文件yarn-site.xml(YARN配置文件,继承core-site.xml文件)
vim yarn-site.xml

7. 新建master文件(/opt/hadoop/etc/hadoop/)目录下
vim master

8. 新建workers文件(/opt/hadoop/etc/hadoop/)目录下
vim workers

9. 新建tmp、name、data文件夹(/opt/hadoop/)目录下 因为配置文件中用到了这些文件夹
cd /opt/hadoop/
mkdir tmp name data

10. 将master机配置好的文件复制到slaver01、slaver02 上去
#传输环境变量配置文件
scp /etc/profile slaver01:/etc/
scp /etc/profile slaver02:/etc/
#传输
scp -r /opt slaver01:/
scp -r /opt slaver02:/

使用

ssh slaver01
java -version
hadoop version

ssh slaver02
java -version
hadoop version

验证两台虚拟机已经配置好

这一步需要花些时间 复制传输完成后 需要切换到每台虚拟机 执行source /etc//profile 使配置文件生效
然后使用java -version 和hadoop version验证是否成功

五、启动集群

三台虚拟都要做下面的流程

1. 第一次启动需格式化,之后不需要了
hdfs namenode -format

2. 启动Hadoop进程

在/opt/hadoop目录下使用

./sbin/start-dfs.sh
./sbin/start-yarn.sh
#或者 
./sbin/start-all.sh

master的jps

slaver01的jps

slaver02的jps

3. 查看进程

使用jps

六、查看web界面 1.在浏览器中访问http://master:50070查看HDFS的web界面

master可改为master的ip地址

2.在浏览器中访问http://master:8088查看YARN的web界面


♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ 七、总结

Hadoop的全分布式安装到这里就结束了。当然在这个过程中遇到了一些稀奇古怪的问题。虽然很不爽 但也只能耐着性子一个一个却解决了。大概的搭建流程就是这样了。可能大家在搭建过程中会碰到不同的问题,光看一篇博客 可能解决不了。以下几篇是我参考的博客。❤❤

参考博客
Hadoop-3.2.1 centos8下分布式集群部署

Hadoop全分布教程(非常详细)

解决jps没有显示那么多进程

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583232.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号