Hadoop依赖环境配置与安装部署

目录

    • 什么是Hadoop?
    • 一、Hadoop依赖环境配置
      • [1.1 设置静态IP地址](#1.1 设置静态IP地址)
      • [1.2 重启网络](#1.2 重启网络)
      • [1.3 再克隆两台服务器](#1.3 再克隆两台服务器)
      • [1.4 修改主机名](#1.4 修改主机名)
      • [1.5 安装JDK](#1.5 安装JDK)
      • [1.6 配置环境变量](#1.6 配置环境变量)
      • [1.7 关闭防火墙](#1.7 关闭防火墙)
      • [1.8 服务器之间互传资料](#1.8 服务器之间互传资料)
      • [1.9 做一个host印射](#1.9 做一个host印射)
      • [1.10 免密传输](#1.10 免密传输)
    • 二、Hadoop安装部署
      • [2.1 解压hadoop的tar包](#2.1 解压hadoop的tar包)
      • [2.2 切换到配置文件目录](#2.2 切换到配置文件目录)
      • [2.3 修改配置文件](#2.3 修改配置文件)
      • [2.4 分发到其他节点](#2.4 分发到其他节点)
      • [2.5 初始化Hadoop集群](#2.5 初始化Hadoop集群)
      • [2.6 强制使用root启动hadoop集群](#2.6 强制使用root启动hadoop集群)
      • [2.7 启动集群](#2.7 启动集群)
      • [2.8 输入命令jps,完成Hadoop的搭建](#2.8 输入命令jps,完成Hadoop的搭建)

什么是Hadoop?

Hadoop是一个分布式系统基础架构, 是一个存储系统+计算框架的软件框架。主要解决海量数据存储与计算的问题,是大数据技术中的基石。Hadoop以一种可靠、高效、可伸缩的方式进行数据处理,用户可以在不了解分布式底层细节的情况下,开发分布式程序,用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。

一、Hadoop依赖环境配置

1.1 设置静态IP地址

之所以设置静态IP是因为当我们连上不同的网络时,ip总是会发生变化,因为dhcp服务会为我们分配一个空闲的ip地址,所以静态ip解决的问题就是为了把ip地址固定下来

  • 首先查看网关,打开VMware,编辑>>虚拟网络编辑器。
  • 打开NAT设置。
  • 截图保存该页面,方便后面设置。
  • 修改IP的配置文件
java 复制代码
cd /etc/sysconfig/network-scripts/       //进入到如下目录
vim ifcfg-ens33                 //编辑该文件

进入以后修改为如下内容:

go 复制代码
修改内容如下:
BOOTPROTO=static 
ONBOOT=yes
IPADDR=192.168.xx.110      //xx查看自己之前的截图内容
GATEWAY=192.168.xx.2
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8

1.2 重启网络

重启网络的命令:service network restart

1.3 再克隆两台服务器

  • 步骤如下图

  • 再克隆一台

1.4 修改主机名

克隆完虚拟机后,在MobaXterm中分布修改三台虚拟机的名称。分别输入如下命令:

go 复制代码
hostnamectl set-hostname 'hadoop01'
hostnamectl set-hostname 'hadoop02'
hostnamectl set-hostname 'hadoop03'

1.5 安装JDK

输入命令:rpm tar.gz rpm -ivh XXX.rpm

1.6 配置环境变量

输入命令:vim /etc/profile,进入以后添加如下内容:

go 复制代码
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

1.7 关闭防火墙

首先临时关闭防火墙,输入命令:systemctl stop firewalld

然后永久关闭防火墙( 只能先临时关闭,才能永久关闭),输入命令:systemctl disable firewalld

可以查看防火墙是否关闭:systemctl status firewalld

1.8 服务器之间互传资料

scp -r /opt/module/xxx 192.168.70.120:/opt/module

scp -r /opt/module/xxx hadoop03:/opt/module

1.9 做一个host印射

输入命令进入hosts映射文件:vim /etc/hosts

修改内容如下(三台虚拟机一样):

1.10 免密传输

java 复制代码
生成各自的私钥与公钥:ssh-keygen
把生成的公钥给别人:ssh-copy-id hadoop01
			      ssh-copy-id hadoop02
				  ssh-copy-id hadoop03

三台虚拟机同时输入:

二、Hadoop安装部署

2.1 解压hadoop的tar包

输入如下命令:tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

2.2 切换到配置文件目录

输入如下命令:cd /opt/module/hadoop-3.1.3/etc/hadoop

2.3 修改配置文件

  1. 第一个配置文件,修改hadoop-env.sh,修改hadoop的环境依赖JDK:vim hadoop-env.sh,添加jdk的环境变量。

    修改内容如下:

  2. 第二个配置文件,输入命令:vim core-site.xml,在<configuration></configuration>中添加如下内容:

go 复制代码
<!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:9000</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
</property>

<!-- 配置HDFS网页登录使用的静态用户为root -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
</property>

<!-- 配置该root(superUser)允许通过代理访问的主机节点 -->
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
</property>
<!-- 配置该root(superUser)允许通过代理用户所属组 -->
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
<!-- 配置该root(superUser)允许通过代理的用户-->
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
</property>
  1. 第三个配置文件,输入命令:vim hdfs-site.xml,在<configuration></configuration>中添加如下内容:
go 复制代码
<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop01:50070</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop01:50090</value>
</property>
<!--副本数的配置-->
    <property>
    <name>dfs.replication</name>
        <value>2</value>
</property>
  1. 第四个配置文件,输入命令:vim yarn-site.xml,在<configuration></configuration>中添加如下内容:
go 复制代码
<!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop01</value>
</property>
<!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- yarn容器允许分配的最大最小内存 -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
</property>
<!-- yarn容器允许管理的物理内存大小 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
</property>
<!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
  1. 第五个配置文件,输入命令:vim mapred-site.xml,在<configuration></configuration>中添加如下内容:
go 复制代码
	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
  1. 第六个配置文件,输入命令:vim workers,添加如下内容:

2.4 分发到其他节点

scp -r /opt/module/hadoop-3.1.3 hadoop02:/opt/module/

scp -r /opt/module/hadoop-3.1.3 hadoop03:/opt/module/

2.5 初始化Hadoop集群

hadoop namenode -format

2.6 强制使用root启动hadoop集群

vim /etc/profile

2.7 启动集群

start-dfs.sh
start-yarn.sh

2.8 输入命令jps,完成Hadoop的搭建

相关推荐
雪碧没有冰块5 分钟前
Flink源码剖析
大数据·flink
kkivivu1 小时前
家庭用超声波清洗机好用吗?推荐四款性能绝佳的超声波清洗机!
大数据
大G哥2 小时前
ELK日志收集之ES的DSL查询语句
大数据·elk·elasticsearch·搜索引擎·jenkins
青云交2 小时前
大数据新视界 --大数据大厂之数据质量评估指标与方法:提升数据可信度
大数据·sql·一致性·完整性·数据质量评估·数据可信度·准确性·时效性
黄焖鸡能干四碗2 小时前
【需求分析】软件系统需求设计报告,需求分析报告,需求总结报告(原件PPT)
大数据·人工智能·安全·测试用例·需求分析
YONG823_API4 小时前
电商平台数据批量获取自动抓取的实现方法分享(API)
java·大数据·开发语言·数据库·爬虫·网络爬虫
张某布响丸辣4 小时前
探索消息中间件:RabbitMQ深度解析
分布式·rabbitmq
wclass-zhengge4 小时前
RabbitMQ篇(死信交换机)
分布式·rabbitmq
黄尚圈圈6 小时前
快速理解mQ(三)——RabbitMQ 各种交换机的区别与应用
分布式·rabbitmq
Data 3177 小时前
Hive数仓操作(十)
大数据·数据库·数据仓库·hive·hadoop