IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 完全分布式Hadoop集群搭建 -> 正文阅读

[大数据]完全分布式Hadoop集群搭建

环境说明

操作系统:CentOS 8 x86_64
Hadoop版本:2.10.1
节点数:3
服务器规划:

node1node2node3
199.188.166.111199.188.166.112199.188.166.113
NameNode(NN)Secondary NameNode
ResourceManager(RM)
DataNode(DN)DataNode(DN)DataNode(DN)
NodeManager(NM)NodeManager(NM)NodeManager(NM)

虚拟机安装

使用VMware安装,傻瓜式的,这里就不再赘述了
注:本次Hadoop集群搭建是使用VMware虚拟机进行的,首先创建一个虚拟机,因为只是用来搭建hadoop环境,创建虚机时就用hadoop用户,实际也是用hadoop用户来进行搭建(不建议使用root用户,虽然方便,但和不贴合实际项目)。

基础环境准备

对安装好的虚拟机进行基础环境的配置,主要是JDK的安装和防火墙的关闭

JDK安装配置

JDK版本:1.8.0_181
安装路径:/app/java/jdk1.8.0_181 (从官网下载tar.gz包直接解压即可为方便管理,所有app均安装在了/app目录下)
配置环境变量:为了方便,直接配置了全局,对所有用户生效

vi /etc/profile
# 添加以下内容
export JAVA_HOME=/app/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
# 生效环境变量
source /etc/profile

配置完成后,查看是否已经生效,如图:
在这里插入图片描述

关闭防火墙

为防止本机无法访问集群资源,需要关闭防火墙,命令为:systemctl stop firewalld.service
关闭后可查看防火墙状态是否已经正确关闭
在这里插入图片描述

虚拟机克隆

在创建好的虚拟机右键,管理—>克隆,根据提示,再创建两台虚拟机,根据自己的习惯重新命下名
在这里插入图片描述

虚拟机配置

修改主机名

为更贴近实际,我们修改下主机名,命令如下,将三台机器分别进行命名:

# 第一台虚机
hostnamectl set-hostname node1
# 第二台虚机
hostnamectl set-hostname node2
# 第三台虚机
hostnamectl set-hostname node3

配置地址映射

为方便后续管理及服务器之间的通信,需要进行IP地址映射配置,三台服务器同样操作

vi /etc/hosts
# 增加如下内容
199.188.166.111 node1
199.188.166.112 node2
199.188.166.113 node3

集群免密登录

因为三台服务器组成了一个集群,如果不配置免密访问,那么在集群启动时会N多次提示要输入密码,操作如下(三台服务器均如此操作):
生成密钥:

ssh-keygen -t rsa

在这里插入图片描述

复制密钥到其他服务器:

ssh-copy-id -i ~/.ssh/id_rsa.pub node1

在这里插入图片描述

Hadoop安装与配置

先在node1节点进行安装配置,然后直接分发到其他服务器即可

Hadoop安装

Hadoop的安装其实就是解压并修改配置文件的过程

  1. 解压安装包:tar -zxvf hadoop-2.10.1.tar.gz
  2. 将解压后的hadoop目录下的bin加入到用户PATH环境变量中,主要是为了后续操作方便:export PATH=/app/hadoop-2.10.1/bin:$PATH

Hadoop配置

Hadoop需要修改的配置文件均在/app/hadoop-2.10.1/etc/hadoop目录下,根据集群规划进行相应修改操作,各文件的配置项有很多,此示例仅配置了常用的几项

  1. 修改hadoop_env.sh:配置Hadoop运行所需的环境变量,此集群主要是指定JAVA_HOME
# The java implementation to use.
export JAVA_HOME=/app/java/jdk1.8.0_181
  1. 修改core-site.xml:Hadoop核心全局配置文件,可在其他配置文件中引用
<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://node1:9000</value>
        </property>

        <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>

        <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/app/hadoop-2.10.1/tmp</value>
        </property>
</configuration>
  1. 修改hdfs-site.xml:HDFS配置文件,继承core-site.xml配置文件
<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/app/hadoop-2.10.1/dfs/name</value>
        </property>

        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/app/hadoop-2.10.1/dfs/data</value>
        </property>

        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.http.address</name>
                <value>node1:50070</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>node2:50071</value>
        </property>
</configuration>
  1. 修改mapred-site.xml:MapReduce配置文件,继承core-site.xml配置文件
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
</configuration>
  1. 修改yarn-site.xml:Yarn配置文件,继承core-site.xml配置文件
<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
    </property>
</configuration>
  1. 修改slaves,在slaves文件里所列出的所有结点上启动一个tasktracker
node1
node2
node3
  1. 修改masters,masters设置的是运行secondary namenode的结点,并且可以在masters里面设置多个结点来运行secondary namenode
node2

集群文件分发

通过命令,将配置好的hadoop分发到其他服务器

# 分发到服务器node2
scp -r hadoop-2.10.1 node2:/app
# 分发到服务器node3
scp -r hadoop-2.10.1 node3:/app

服务启动与验证

Hadoop服务启动

登录主节点node1,按照如下命令启动:

cd /app/hadoop-2.10.1/sbin
./start-hdfs.sh
./start-yarn.sh

Hadoop服务验证

可通过jps命令查看服务是否存在
主节点服务:
在这里插入图片描述

从节点服务:
在这里插入图片描述

登录web查看是否正常:
http://199.188.166.111:50070/
在这里插入图片描述

http://199.188.166.111:8088/
在这里插入图片描述

收官

至此,集群搭建完成!

注:关于配置的其他说明,请参考其他文章~

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-05-07 11:15:14  更:2022-05-07 11:16:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:44:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码