hadoop学习笔记二集群环境搭建(代码片段)

我是坏人哦 我是坏人哦     2022-12-19     507

关键词:

零、准备工作

        准备三台Linux服务器。本文是在自己的台式机上安装了虚拟机工具(vmware和virtualbox都行),装3台CentOS7虚拟机。

        集群规划:

hadoop001

192.168.164.10

hadoop002

192.168.164.20

hadoop003

192.168.164.30

HDFS集群NameNodeSecondaryNameNode
DataNodeDataNodeDataNode
Yarn集群NodeManagerNodeManagerResourceManager

一、 配置网络

1. 修改网络配置

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

加入以下几项:

IPADDR=192.168.164.10(自己设置的IP)

NETMASK=255.255.255.0

GATEWAY=192.168.164.2

DNS1=192.168.164.2

DNS2=114.114.114.114

重启网络服务

service network restart

 测试ping一下百度看通不通

ping www.baidu.com

2.  安装ifconfig

yum search ifconfig  #查找对应的net-tools包
yum install net-tools.x86_64 -y

安装后查看一下IP地址 

3. 关闭防火墙

systemctl stop firewalld
iptables -F

 4. 修改selinux配置为disabled

vi /etc/selinux/config

5. 修改主机名

hostnamectl set-hostname hadoop001

 6. 配置hosts

vi /etc/hosts

加入以下内容 

192.168.164.10 hadoop001
192.168.164.20 hadoop002
192.168.164.30 hadoop003

7. 配置免密登录

ssh-keygen -t rsa

ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.164.10
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.164.20
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.164.30

8. 装rsync,用于分发脚本

yum install -y rsync

9. 重复1-8

        在另外两台服务器重复步骤1-8(对应的IP和主机名记得修改)

10. 配置集群时间同步

yum -y install ntp  #安装ntp
systemctl enable ntpd  #设置开机启动
systemctl start ntpd.service #启动ntp
systemctl is-enabled ntpd  #检查是否启动成功

配置主从服务器(本文选择hadoop003,即192.168.164.30作为server)

#时间主服务器(hadoop003)
vi /etc/ntp.conf
#加上
restrict 192.168.164.0 mask 255.255.255.0 nomodify notrap
#加上
server 127.127.1.0
fudge 127.127.1.0 stratum 10

#从服务器(hadoop001和hadoop002)
vi /etc/ntp.conf
#加上
server 192.168.164.30

二、三台机器安装jdk

Jdk下载地址:https://www.oracle.com/java/technologies/javase-downloads.html

下载完之后上传到服务器上,路径:/usr/local/apps/。解压

tar -zxvf jdk-8u291-linux-x64.tar.gz

 设置环境变量

vi /etc/profile

添加以下配置

export JAVA_HOME=/usr/local/apps/jdk1.8.0_291  

export JRE_HOME=$JAVA_HOME/jre  

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib  

export PATH=$JAVA_HOME/bin:$PATH

执行source指令使配置生效

source /etc/profile

检查是否安装成功

java -version

这样就表示安装成功了

三、三台机器安装Hadoop

Hadoop下载地址:https://archive.apache.org/dist/hadoop/common

下载后上传到其中一台服务器,路径/usr/local/apps/。解压

tar -zxvf hadoop-2.9.2.tar.gz

 配置环境变量

vi /etc/profile

添加以下配置

export HADOOP_HOME=/usr/local/apps/hadoop-2.9.2   

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

执行source指令使之生效

source /etc/profile

检查是否安装成功

hadoop version

这样就表示安装成功了

进入安装好的hadoop目录里面

cd hadoop-2.9.2/etc/hadoop/

四、集群配置

在hadoop001进行以下配置。所有的可配置项可以参考官网下的Configuration

HDFS集群

1. hadoop-env.sh:配置JDK路径

# JDK安装路径
export  JAVA_HOME=/usr/local/apps/jdk1.8.0_291

2. core-site.xml:指定NameNode节点以及数据存储目录

<configuration>
    <property>
        <!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop001:8070</value>
    </property>
    <property>
        <!--指定 hadoop 存储临时文件的目录-->
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/apps/hadoop-2.9.2/tmp</value>
    </property>
</configuration>

 3. hdfs-site.xml:指定SecondaryNameNode节点

<configuration>
    <property>
        <!--指定SecondaryNameNode节点配置-->
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop003:50090</value>
    </property>

    <property>
        <!--指定 dfs 的副本系数为 3-->
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

 4. slave:指定DataNode从节点

#先把localhost删掉
hadoop001
hadoop002
hadoop003

MpReduce集群

1. mapred-env.sh:配置JDK路径

# JDK安装路径
export  JAVA_HOME=/usr/local/apps/jdk1.8.0_291

2. mapred-site.xml:指定MapReduce计算框架运行Yarn资源调度框架 

<configuration>
    <property>
        <!--指定 mapreduce 作业运行在 yarn 上-->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>

    <property>
        <!--历史服务器端地址-->
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop001:10020</value>
    </property>
    
    <property>
        <!--历史服务器web端地址-->
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop001:19888</value>
    </property>
</configuration>

Yarn集群

1. yarn-env.sh:配置JDK路径

# JDK安装路径
export  JAVA_HOME=/usr/local/apps/jdk1.8.0_291

2. yarn-site.xml:指定ResourceManager所在计算机节点

<configuration>
    <property>
        <!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。-->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <!--resourcemanager 的主机名-->
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop003</value>
</property>
    <property>
        <!--开启日志聚集功能-->
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <!--日志保存时间设置7天-->
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>

3. slave:指定NodeManager节点(这步无需操作,前面其实已经配置过了)

#先把localhost删掉
hadoop001
hadoop002
hadoop003

4. 回到hadoop安装目录的上一层,修改用户组

chown -R root:root hadoop-2.9.2/

修改前:

修改后:

分发脚本

前面的配置都是在hadoop001操作的,需要用rsync将上面所有的配置脚本分发给另外两台机器。

rsync -rvl /usr/local/apps/ root@192.168.164.20:/usr/local/apps/
rsync -rvl /usr/local/apps/ root@192.168.164.30:/usr/local/apps/

 五、启动Hadoop集群

 0. 如果是第一次启动Hadoop集群,需要在NameNode节点格式化NameNode,非第一次不需要执行格式化!!

hadoop namenode -format

启动方式1、一台台启动

1. 在Hadoop001上启动NameNode

hadoop-daemon.sh start namenode

 2. 在Hadoop001/Hadoop002/Hadoop003上启动DataNode

hadoop-daemon.sh start datanode

3. 在hadoop003上启动ResourceManager

yarn-daemon.sh start resourcemanager

4. 在hadoop001/hadoop002上启动NodeManager

yarn-daemon.sh start nodemanager

启动方式2、群起

1. 在hadoop001上启动dfs

start-dfs.sh

2. 在hadoop003上启动yarn

start-yarn.sh

验证

启动成功后访问NameNode节点的50070端口

访问Yarn集群ResourceManager的8088端口

六、 测试 

测试hdfs

在本地root目录下创建一个test.txt文件,随便输入点什么内容。

在hadoop上创建一个目录

hdfs dfs -mkdir -p /test/input

将test.txt上传到hadoop,在图形界面查看上传情况

hdfs dfs -put /root/test.txt /test/input

 将本地root下的test.txt删除

rm -rf test.txt

从hdfs上下载test.txt,测试是否可以下载成功

hdfs dfs -get /test/input/test.txt

测试MapReduce

创建目录,上传文件

 hdfs dfs -mkdir -p /wcinput
 hdfs dfs -put /root/wc.txt /wcinput

使用hadoop提供的一个示例jar进行wordcount

hadoop jar /usr/local/apps/hadoop-2.9.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /wcinput /wcoutput

打印结果

hdfs dfs -cat /wcoutput/part-r-00000

测试日志收集

在浏览器输入192.168.164.10:19888,查看日志收集是否正常

完毕! 

大数据学习笔记~hadoop基础篇(代码片段)

前言记录我在学习大数据技术中的学习笔记目录前言一、Hadoop介绍二、Hadoop发行版介绍三、Hadoop核心架构发展历史四、Hadoop三大核心组件介绍五、Hadoop集群安装部署a、伪分布式集群安装部署1.下载hadoop安装包2.设置静态ip 3、修... 查看详情

学习笔记hadoop——mapreduce开发入门(代码片段)

文章目录一、MapReduce二、MapReduce开发环境搭建2.1、Maven环境2.2、手动导入Jar包三、MapReduce单词计数源码分析3.1、打开WordCount.java3.2、源码分析3.2.1、MapReduce单词计数源码:Map任务3.2.2、MapReduce单词计数源码:Reduce任务3.2.3、MapReduce单词... 查看详情

spark基础学习笔记07:搭建sparkha集群(代码片段)

文章目录零、本讲学习目标一、SparkHA集群概述二、SparkHA集群架构三、集群角色分配表四、SparkHA集群搭建步骤(一)安装配置ZooKeeper1、在虚拟机master上安装配置ZooKeeper2、在虚拟机slave1上安装配置ZooKeeper3、在虚拟机slave2... 查看详情

学习笔记hadoop——hadoop集群的安装与部署(代码片段)

文章目录一、Hadoop集群部署模式二、配置固定IP2.1、虚拟机DHCP2.2、步骤三、配置ssh无密码登录3.1、SSH3.2、MS架构3.3、配置主节点无密码登录四、配置Hadoop集群4.1、上传并解压Hadoop安装包4.2、修改配置文件:hadoop-env.sh4.3、修改... 查看详情

使用docker搭建本地hadoop集群(代码片段)

终于开始学习hadoop了,虽然是学校开课了才开始跟着学校的课程学,至少也是开始了。首先要做的就是搭建好一个hadoop的环境,需要三台主机,配置一个master两个slave的架构。老师让我们用vbox来做,但是个人觉得虚拟机太慢了,... 查看详情

大数据讲课笔记3.2hadoop部署模式(代码片段)

...零、学习目标一、导入新课二、新课讲解(一)Hadoop部署模式1、独立模式2、伪分布式模式3、完全分布式模式(二)Hadoop集群规划1、集群拓扑2、角色分配(三)JDK安装与配置1、下载JDK压缩包2、上传到maste... 查看详情

大数据讲课笔记3.2hadoop部署模式(代码片段)

...零、学习目标一、导入新课二、新课讲解(一)Hadoop部署模式1、独立模式2、伪分布式模式3、完全分布式模式(二)Hadoop集群规划1、集群拓扑2、角色分配(三)JDK安装与配置1、下载JDK压缩包2、上传到maste... 查看详情

华为云hadoop与spark集群环境搭建(代码片段)

华为云Hadoop与Spark集群环境搭建流程Hadoop2.7.1环境搭建1、购买华为云服务器2、修改服务器相关配置3、配置ssh免密登录4、JDK安装5、Hadoop集群搭建Spark3.2.0集群环境搭建1、Spark安装2、Spark文件配置3、启动Spark集群4、关闭Spark集群所... 查看详情

spark学习笔记-spark集群搭建

安装spark包11、将spark-1.3.0-bin-hadoop2.4.tgz使用WinSCP上传到/usr/local目录下。22、解压缩spark包:tarzxvfspark-1.3.0-bin-hadoop2.4.tgz。33、更改spark目录名:mvspark-1.3.0-bin-hadoop2.4spark44、设置spark环境变量5vi.bashrc6exportSPARK_H 查看详情

hadoop集群搭建之环境准备(代码片段)

本文使用虚拟机进行集群的搭建文章目录搭建前准备虚拟机创建服务器安装虚拟机克隆搭建前准备需要下载MobaXterm(SSH工具)、UbuntuServer镜像、VMwareWorkstation,如下图所示下载链接如下:#MobaXterm21.4https://download.mobatek.net/214202... 查看详情

基于docker快速搭建hadoop集群和flink运行环境(代码片段)

前言搭建集群环境升级配置Hadoop配置Flink打包镜像启动集群前言本文主要讲,基于Docker在本地快速搭建一个Hadoop2.7.2集群和Flink1.11.2运行环境,用于日常Flink任务运行测试。前任栽树,后人乘凉,我们直接用DockerHadoo... 查看详情

学习笔记hadoop——hadoop集群的安装与部署——配置hadoop集群(代码片段)

四、配置Hadoop集群Hadoop集群总体规划Hadoop集群安装采用下面步骤:在Master节点:上传并解压Hadoop安装包。在Master节点:配置Hadoop所需configuration配置文件。在Master节点:拷贝配置好的Hadoop安装包到其他节点。在所有... 查看详情

大数据基石-hadoop3.x学习教程-hadoop产品了解与快速上手(代码片段)

大数据基石-HadoopHadoop3.x版本全系列教程===楼兰===文章目录一、关于Hadoop1、关于Hadoop产品2、Hadoop课程内容3、Hadoop的主要组件二、Hadoop环境搭建以及快速上手1、Linux环境搭建2、Hadoop集群搭建3、Hadoop快速上手三、... 查看详情

hadoop集群搭建(步骤图文超详细版)(代码片段)

...续来配置免密码登录!==**验证免密码登录五、Hadoop配置六、集群启动并测试集群一、前置条件需要安装下载方法 查看详情

大数据运维hadoop完全分布式环境搭建(代码片段)

...xff09;二、集群规划2.1编写同步脚本xsync2.2安装JAVA环境JDK2.3hadoop安装2.3.1配置hadoop2.4启动hadoop集群一、准备工作1.1安装VMware并设置网络下载vmvare软件&# 查看详情

学习笔记hadoop——hadoop基础操作(代码片段)

文章目录一、Hadoop安全模式1.1、HDFS启动日志分析1.2、Safemode进入方式二、Hadoop集群基本信息三、HDFS常用Shell操作3.1、HDFS文件系统3.2、常用Shell命令-appendToFile3.3、常用Shell命令-cat3.4、常用Shell命令-copyFromLocal|put3.5、常用Shell命令-cp3... 查看详情

搭建hadoop集群(代码片段)

前提:从母机克隆三台一.克隆机更改ip//[root@Hadoop桌面]#vim/etc/udev/rules.d/70-persistent-net.rules//[root@Hadoop桌面]#vim/etc/sysconfig/network-scripts/ifcfg-eth0二.检查是否更改成功//ipaddr/ifconfig//重启网络servicenetworkrestart//重启reboot三.更改主机... 查看详情

基于docker快速搭建hadoop集群和flink运行环境(代码片段)

前言搭建集群环境升级配置Hadoop配置Flink打包镜像启动集群前言本文主要讲,基于Docker在本地快速搭建一个Hadoop2.7.2集群和Flink1.11.2运行环境,用于日常Flink任务运行测试。前任栽树,后人乘凉,我们直接用DockerHadoo... 查看详情