从零开始Hadoop集群环境搭建

news/2024/10/5 14:08:53 标签: hadoop, 大数据, 分布式

目录

  • 1. Centos7.5硬件配置
    • 1.1 创建虚拟机
    • 1.2 虚拟机系统设置
  • 2. IP地址和主机名称配置
  • 3. 软件配置
    • 3.1 安装 epel-release
    • 3.2 卸载虚拟机自带的JDK
    • 3.3 克隆虚拟机
    • 3.4 修改克隆虚拟机的IP
    • 3.5 JDK安装
    • 3.6 Hadoop安装
  • 4. Hadoop目录结构

1. Centos7.5硬件配置

1.1 创建虚拟机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.2 虚拟机系统设置

开启虚拟化(Win10一般都是开启的)
在这里插入图片描述
下载Centos7.5镜像
链接:xxxxxxx
在这里插入图片描述
在这里插入图片描述
然后开启此虚拟机开始安装。
(安装需要一些时间,ctrl+alt呼出鼠标)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述e
设置密码,简单点就好
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置一个普通账号
在这里插入图片描述
至此安装完毕!!!

2. IP地址和主机名称配置

有三个地方需要配置IP地址:VMware、Win10服务器、hadoop100服务器

  1. 配置VMware IP,设置顺序
    在这里插入图片描述
    选择VMnet8,设置的网段避开1就行
    在这里插入图片描述
    在这里插入图片描述
    (DHCP设置时注意区间)
  2. 配置Win10 IP
    在这里插入图片描述
    在这里插入图片描述
    注意:设置后会影响浏览器访问速度!
    如果Windows中没有出现上面的VMnet8,可在VMware中点还原默认配置试试:
    在这里插入图片描述
  3. 配置hadoop100 IP和主机名称
    进入虚拟机——打开终端
    su root
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    在这里插入图片描述
    修改主机名称为hadoop100:
    vim /etc/hostname
    
    修改主机名称映射:
    vim /etc/hosts
    
    在这里插入图片描述
    修改完后reboot重启
    重新进入虚拟机,打开终端检查下修改是否成功:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3. 软件配置

下面操作都在Xshell中执行。
配置IP地址映射(可选项)
进入电脑 C:\Windows\System32\drivers\etc路径下,打开hosts文件添加如下内容:

192.168.10.100 hadoop100
192.168.10.101 hadoop101
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
192.168.10.105 hadoop105
192.168.10.106 hadoop106
192.168.10.107 hadoop107
192.168.10.108 hadoop108

3.1 安装 epel-release

注:Extra Packages for Enterprise Limux是为“红帽系”的操作系统提供额外的软件包适用于 RHEL、CentOS和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方repository 中是找不到的)
注意在root账号下操作

su root
yum install -y epel-release

——自己执行安装命令的时候出现了如下问题:

在这里插入图片描述
排查了一下发现是镜像原因,解决方案:使用阿里云或其他国内镜像源
设置YUM仓库源为阿里云镜像源:

sudo nano /etc/yum.repos.d/CentOS-Base.repo

将内容替换为以下内容:

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

保存文件并退出。


关闭防火墙,关闭防火墙开机自启

systemctl stop firewalld
systemctl disable firewalld.service

创建用户并设置密码

useradd xxx
passwd 123456

配置创建的用户具有root权限,方便后期加sudo执行root权限的命令

vim /etc/sudoers

在这里插入图片描述
在 /opt 目录下创建文件夹,并修改所属主和所属组

[root@hadoop100 ~] mkdir /opt/module
[root@hadoop100 ~] mkdir /opt/software
[root@hadoop100 ~] chown xxx:xxx /opt/module
[root@hadoop100 ~] chown xxx:xxx /opt/software

3.2 卸载虚拟机自带的JDK

(注意:如果你的虚拟机是最小化安装则不需要执行这一步)

[root@hadoop100 ~] rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
  • rpm -qa:查询安装的所有rpm软件包
  • grep -i:忽略大小写
  • xargs -n1:表示每次只传递一个参数
  • rpm -e --nodeps:强制卸载软件
    重启虚拟机
[root@hadoop100 ~] reboot

3.3 克隆虚拟机

先关闭虚拟机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同理克隆得到 hadoop103、hadoop104

3.4 修改克隆虚拟机的IP

分别root账号进入hadoop102、hadoop103、hadoop104,打开终端

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

分别修改IPADDR=192.168.10.102、IPADDR=192.168.10.103、IPADDR=192.168.10.104

vim /etc/hostname

分别修改名称为 hadoop102、hadoop103、hadoop104

reboot

3.5 JDK安装

进入到之前创建的software目录,通过

[root@hadoop102 opt] cd software/

通过Xftp或其他工具将JDK和Hadoop安装包一起上传至该目录,
执行下面命令安装

[root@hadoop102 software] tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

配置JDK环境变量

[root@hadoop102 software] cd /opt/module/jdk1.8.0_212
[root@hadoop102 jdk1.8.0_212] cd /etc/profile.d
[root@hadoop102 jdk1.8.0_212] ll

在这里插入图片描述

[root@hadoop102 profile.d] sudo vim my_env.sh

在这里插入图片描述
重新加载环境变量配置:

[root@hadoop102 profile.d] source /etc/profile

测试:

[root@hadoop102 profile.d] java -version

3.6 Hadoop安装

[root@hadoop102 software] tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

配置Hadoop环境变量

[root@hadoop102 hadoop-3.1.3] sudo vim /etc/profile.d/my_env.sh

在这里插入图片描述

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

重新加载环境变量配置:

[root@hadoop102 hadoop-3.1.3] source /etc/profile

测试:

[root@hadoop102 hadoop-3.1.3] hadoop

4. Hadoop目录结构

(1)bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例

后续经常使用的目录如下:
在这里插入图片描述
在这里插入图片描述


至此大功告成!!!!!!!!!!

http://www.niftyadmin.cn/n/5690989.html

相关文章

Hadoop krb5.conf 配置详解

krb5.conf文件是Kerberos认证系统中的一个关键配置文件,它包含了Kerberos的配置信息,如KDC(Key Distribution Centers)和Kerberos相关域的管理员服务器位置、当前域和Kerberos应用的默认设置、以及主机名与Kerberos域的映射等。以…

仿RabbitMQ实现消息队列服务端(二)

文章目录 ⽹络通信协议设计信道管理模块连接管理模块服务器模块实现 ⽹络通信协议设计 其中⽣产者和消费者都是客⼾端,它们都需要通过⽹络和BrokerServer进⾏通信。具体通信的过程我们使⽤Muduo库来实现,使⽤TCP作为通信的底层协议,同时在这个…

Linux 进程状态、僵尸进程与孤儿进程

目录 0.前言 1. 进程状态 1.1 定义 1.2 常见进程 2.僵尸进程 2.1 定义 2.2 示例 2.3 僵尸进程的危害与防止方法 3. 孤儿进程 3.1 介绍 3.2 示例 4.小结 (图像由AI生成) 0.前言 在上一篇文章中,我们介绍了进程的基本概念、进程控制块&#…

小米 MIX FOLD工程固件 更换字库修复分区 资源预览与刷写说明

小米 MIX FOLD机型代号 :cetus 该手机搭载骁龙888旗舰处理器 。对于一些因为字库问题损坏导致的故障,更换字库后要先刷写对应的工程底层修复固件。绑定cpu后在写入miui量产固件。 通过博文了解 1💝💝💝-----此机型工程固件的资源刷写注意事项 2💝💝💝-----此…

通过 Caddy2 部署 WebDAV 服务器

今天我们在阿贝云的免费服务器上进行一次有趣的部署测试。阿贝云提供的这款免费云服务器,虽然配置为1核CPU、1G内存、10G硬盘、5M带宽,但其稳定性和易用性让人惊喜,真是不错的免费服务器!无论是小项目还是实验环境,阿贝…

前端Vue项目的自动打包、上传与部署

文章目录 前言思路与流程脚本实现1. 打包前端项目2. 上传前端项目4. 传递密码5. 代码优化完整脚本结语前言 在实际项目开发中,并不是所有项目都会配置 CI/CD 流程,特别是在中小型团队或者公司内部测试环境中,很多时候我们仍然需要手动打包、上传和部署项目。这个过程虽然简…

(Django)初步使用

前言 Django 是一个功能强大、架构良好、安全可靠的 Python Web 框架,适用于各种规模的项目开发。它的高效开发、数据库支持、安全性、良好的架构设计以及活跃的社区和丰富的文档,使得它成为众多开发者的首选框架。 目录 安装 应用场景 良好的架构设计…

职场祛魅:判断2B企业和外包公司?

长假期间有初入职场的小伙伴跟猫哥聊天,说起来外包公司,并认为:外包公司也为企业提供服务,2B从名字上判断就是为企业服务的。 一、怎么判断一个企业是2B而不是外包? 以下是猫哥从业N年的一点粗浅认识: 要…