1 虚拟机环境准备

1.1准备三台虚拟机,虚拟机配置要求如下:

(1)单台虚拟机:内存4G,硬盘50G,安装必要环境

sudo yum install -y epel-release

sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git

1.2修改克隆虚拟机的静态IP

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

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="1a4829c2-b5f3-4e62-9801-c3d89011479f"
DEVICE="ens33"
ONBOOT="yes"
NAME="ens33"
IPADDR=192.168.1.101
PREFIX=24
GATEWAY=192.168.1.2
DNS1=192.168.1.2

2.修改主机名

2.1修改主机名称

sudo hostnamectl --static set-hostname hadoop101

2.2配置主机名称映射,打开/etc/hosts

sudo vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100 hadoop100
192.168.1.101 hadoop101
192.168.1.102 hadoop102
192.168.1.103 hadoop103
192.168.1.104 hadoop104
192.168.1.105 hadoop105
192.168.1.106 hadoop106
192.168.1.107 hadoop107
192.168.1.108 hadoop108
~

3.修改window10的主机映射文件(hosts文件)

3.1进入C:\Windows\System32\drivers\etc路径

3.2拷贝hosts文件到桌面

3.3打开桌面hosts文件并添加如下内容

192.168.1.100 hadoop100

192.168.1.101 hadoop101

192.168.1.102 hadoop102

192.168.1.103 hadoop103

192.168.1.104 hadoop104

192.168.1.105 hadoop105

192.168.1.106 hadoop106

192.168.1.107 hadoop107

192.168.1.108 hadoop108

4.关闭防火墙

sudo systemctl stop firewalld

sudo systemctl disable firewalld

5.创建atguigu用户

sudo useradd atguigu

sudo passwd atguigu

6.重启虚拟机

reboot

7.配置atguigu用户具有root权限

修改/etc/sudoers文件,找到下面一行(91行),在root下面添加一行(set nu可以显示行号)

visudo

7.2克隆两台虚拟机

8.在/opt目录下创建文件夹

8.1在/opt目录下创建module、software文件夹

sudo mkdir module

sudo mkdir software

8.2修改module、software文件夹的所有者atguigu

sudo mkdir /opt/module /opt/software

sudo chown atguigu:atguigu /opt/module /opt/software

9.安装JDK 和Hadoop

9.1卸载现有JDK

rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps

9.2将JDK和Hadoop拷贝在/opt/software

9.3解压JDK和Hadoop到/opt/module目录下

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

9.4配置环境变量

新建/etc/profile.d/my_env.sh文件

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
~

10 编写集群分发脚本xsync

1)需求:循环复制文件到所有节点的相同目录下

(2)需求分析:

(a)rsync命令原始拷贝:

rsync  -av     /opt/module    root@hadoop103:/opt/

(b)期望脚本:

xsync要同步的文件名称

(c)说明:在/home/atguigu/bin这个目录下存放的脚本,atguigu用户可以在系统任何地方直接执行。

(3)脚本实现

(a)在/home/atguigu目录下创建xsync文件

cd /home/atguigu

vim xsync

在该文件中编写如下代码

#!/bin/bash

#1. 判断参数个数

if [ $# -lt 1 ]

then

echo Not Enough Arguement!

exit;

fi

#2. 遍历集群所有机器

for host in hadoop102 hadoop103 hadoop104

do

echo ====================  $host  ====================

#3. 遍历所有目录,挨个发送

for file in $@

do

#4 判断文件是否存在

if [ -e $file ]

then

#5. 获取父目录

pdir=$(cd -P $(dirname $file); pwd)

#6. 获取当前文件的名称

fname=$(basename $file)

ssh $host "mkdir -p $pdir"

rsync -av $pdir/$fname $host:$pdir

else

echo $file does not exists!

fi

done

done

(b)修改脚本 xsync 具有执行权限

chmod +x xsync

(c)将脚本移动到/bin中,以便全局调用

sudo mv xsync /bin/

d)测试脚本

sudo xsync /bin/xsync

11.SSH免密登录配置

11.1免密登录原理

1.生成公钥和私钥:

注意:

还需要在hadoop102上采用root账号,配置一下无密登录到hadoop102、hadoop103、hadoop104;

还需要在hadoop103上采用atguigu账号配置一下无密登录到hadoop102、hadoop103、hadoop104服务器上。

ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

1.2将公钥拷贝到要免密登录的目标机器上

ssh-copy-id hadoop102

ssh-copy-id hadoop103

ssh-copy-id hadoop104

1.3 .ssh文件夹下(~/.ssh)的文件功能解释

known_hosts

记录ssh访问过计算机的公钥(public key)

id_rsa

生成的私钥

id_rsa.pub

生成的公钥

authorized_keys

存放授权过的无密登录服务器公钥

1.4将.ssh文件发送到另外两台虚拟机

xsync .ssh

12. 集群配置

1. 集群部署规划

注意:NameNode和SecondaryNameNode不要安装在同一台服务器

注意:ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。

hadoop102

hadoop103

hadoop104

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

2. 配置集群

进入hadoop配置文件

cd /opt/module/hadoop-3.1.3/etc/hadoop

核心配置文件

配置core-site.xml

cd $HADOOP_HOME/etc/hadoop

vim core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop101:8020</value></property><property><name>hadoop.data.dir</name><value>/opt/module/hadoop-3.1.3/data</value></property><property><name>hadoop.proxyuser.atguigu.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.atguigu.groups</name><value>*</value></property>
</configuration>

HDFS配置文件

vim hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>dfs.namenode.name.dir</name><value>file://${hadoop.data.dir}/name</value></property><property><name>dfs.datanode.data.dir</name><value>file://${hadoop.data.dir}/data</value></property><property><name>dfs.namenode.checkpoint.dir</name><value>file://${hadoop.data.dir}/namesecondary</value></property><property><name>dfs.client.datanode-restart.timeout</name><value>30</value></property><property><name>dfs.namenode.secondary.http-address</name><value>hadoop103:9868</value></property>
</configuration>

YARN配置文件

vim yarn-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>hadoop102</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>
</configuration>

MapReduce配置文件

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

workers配置

vim workers

 将配置好的文件发送到所有集群

xsync hadoop

13.启动集群

启动前需要初始化一下

hdfs namenode -format

在hadoop101启动hdfs

start-dfs.sh

在hadoop102启动yarn

start-yarn.sh

查看启动的程序

14. 配置日志的聚集

日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。

日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。

注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。

14.1配置yarn-site.xml

vim yarn-site.xml

 <property><name>yarn.log-aggregation-enable</name><value>true</value></property><property>  <name>yarn.log.server.url</name>  <value>http://hadoop102:19888/jobhistory/logs</value>  </property><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>

15.配置历史服务器

为了查看程序的历史运行情况,需要配置一下历史服务器。具体配置步骤如下:

vi mapred-site.xml

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

分发配置

xsync hadoop

在hadoop102启动历史服务器

mapred –daemon start historyserver

16.创建一个脚本方便查看各个虚拟机启动的进程

vim jpsall.sh

#!/bin/bash

for i in hadoop101 hadoop102 hadoop103

do

echo "====    $i    ===="

ssh $i  "jps" | grep -v Jps

done

添加用户执行权限

chmod +x jpall.sh

将文件移动到/bin/目录下方便执行

sudo mv jpasll.sh /bin

执行命令jpsall.sh查看是否正确

17.集群时间同步

大数据-Hadoop(环境搭建)相关推荐

  1. 使用Docker搭建大数据Hadoop环境

    使用Docker搭建大数据Hadoop环境 一.安装Docker 原文地址:https://www.imooc.com/article/48676.http://www.runoob.com/dock ...

  2. Hadoop大数据平台环境搭建注意事项,分布式数据采集,武汉数道云科技

    Hadoop大数据作为时代发展的产物,影响着互联网企业发展.以及企业关于品牌形象推广.政府有关民意采集.以及有关数据信息收集分类------ Hadoop技术的发展,带来了海量数据高效处理的能力,也给 ...

  3. 大数据hadoop环境部署

    大数据hadoop在linux环境下的部署安装,包括单节点模式.伪分布模式以及完全分布式模式

  4. 大数据Hadoop平台搭建(Apache)

    Hadoop环境搭建 一.节点详情 服务器 配置 组件 hadoop101 8核/16.0GB QuorumPeerMain,PrestoServer,Kafka,DataNode,NodeManan ...

  5. 大数据学习环境搭建系列(二)虚拟机软件Vmware的安装

    作者 | CDA数据分析师 概述 在进行分布式架构的学习前,首先需进行基础环境准备.众所周知,在单机运算能力无法满足处理海量数据的运算能力时,人们普遍开始考虑使用分布式运算来代替单机运算,这也成为了大 ...

  6. 【博学谷学习记录】超强总结,用心分享 | 狂野大数据Hadoop的搭建~个人学习复习记录~PART-01

    前提:Hadoop集群搭建方案,这里要搭建HDFS和Yarn集群 HDFS: NameNode:node1 SecondaryNameNode:node2 DataNode:node1.node2.n ...

  7. 大数据Hadoop环境安装

    前言 工作场景的需要,最近开始学习起了大数据相关的东西.对于我这个初学者,大数据入门就是首先得学会Hadoop环境的安装,按照步骤如遇相关问题,请指正. Hadoop环境的安装,我是用自己电脑借助VM ...

  8. 大数据基础环境搭建的从spark到hadoop,从底层硬件到上层软件的一些必备注意事项

    一.硬件环境 硬件如何搭配,能做到比较高的性价比,不存在短板.合理的硬件搭配,对系统的稳定性也很关键. 1.CPU不是核数越高越好,性价比才是关键. 经常遇到很多的企业级客户,他们机器配置非常高,CP ...

  9. 大数据all_in环境搭建

    大数据环境搭建 环境介绍 免密登陆 安装jdk 安装scala 安装zookeeper 安装mysql 安装hadoop 安装hive 安装hue 安装datax 安装kafka 安装flink 安装 ...

  10. 大数据_zookeeper环境搭建中的几个坑

    文章目录 [] Zookeeper简介 关于zk的介绍, zk的paxos算法, 网上已经有各位大神在写了, 本文主要写我在搭建过程中的几个极有可能遇到的坑. Zookeeper部署中的坑 坑之一 E ...

最新文章

  1. 系统集成项目管理工程师软考辅导——3年真题透解与全真模拟
  2. int linux 原子操作_linux 原子操作
  3. boost::geometry::tag用法的测试程序
  4. android新闻管理,Android资讯新闻类App(头条、网易等),频道管理集成之数据库存储...
  5. iframe关于滚动条的去除和保留
  6. C#中IDisposable 回收非托管资源
  7. CentOS 7 搭建swagger Api文档管理系统
  8. 服务器在线看视频无法播放,上传到服务器的视频不能在线播放怎么办?
  9. 数据绑定表达式语法(Eval,Bind区别)
  10. HTML5-fishc 学习笔记
  11. rx550 黑苹果_黑苹果免驱显卡速查表
  12. 加扣扣群所有脚本免费使用
  13. [vue3.x]实战问题--Extraneous non-props attributes
  14. golang_微信公众号网页授权
  15. 域名防红直连防封怎么布置?
  16. android 播放网络Flash视频 ,需要手机已安装Adobe Flash插件
  17. 2022/2/3 四舍五入 分数化简 高精度运算
  18. 字符串首尾空格去除问题
  19. xp系统打印机服务器win7连接不了,xp不能访问win7共享打印机
  20. Java中的静态方法为什么不能调用非静态方法

热门文章

  1. Android手摸手实现一个画板功能(一)——View的拖拽
  2. CR总结--java函数CR
  3. 逐梦....圈圈圈圈圈
  4. 医院信息系统网络安全等级保护2.0标准解读
  5. 单总线和多总线的区别
  6. php怎么爬取亚马逊的数据,php 抓取亚马逊中国产品数据-标题,价格,首图片
  7. 考研这么累,能支持你坚持到底的是什么?
  8. 基于LabVIEW的二维码识别程序
  9. 神经网络学习笔记(四)
  10. 蚊子看了想咬人,人类看了都说好