搭建模拟搭建Hadoop完全分布式环境(三台服务器)详解
文章目录
- 配置前的要求
- 标准虚拟机模板
- 开始搭建hadoop框架
- 1)克隆三个模板机,
- 2)修改克隆机的静态IP和主机名称,
- 3) 给hadoop102安装配置JDK和Hadoop3.1.3
- 4)编写集群分发脚本xsync,用于向hadoop103和hadoop104传送hadoop102上的文件
- 5)设置SSH无密登录配置
- 6)使用xsync脚本向hadoop103和hadoop104传输jdk和hadoop3.1.3
- 开始搭建集群
- 1)移动到hadoop目录
- 2) 配置core-site.xml
- 3)配置hdfs-site.xml
- 4)配置yarn-site.xml
- 5)配置mapred-site.xml
- 6)使用xsync脚本向在集群上分发配置好的Hadoop配置文件
- 7) 群起集群
- 启动集群
- 检查是否配置成功
加粗样式
配置前的要求
1.Window10电脑中提前安装好VMware虚拟机(笔者的版本为16)
2.学过一些Linux常见命令操作
3.Windows10电脑里安装远程操作软件,用于远程操作虚拟机,和向虚拟机传输文件(笔者使用的XobaXterm)
标准虚拟机模板
为了简化操作,笔者提供标准的虚拟机模板,方便后期克隆,简化部分操作
标准虚拟机模板阿里云网盘连接 ,阿里云连接
提取码为:hk29
一些说明
1)虚拟机账户
虚拟机中有两个账户;分别为
root账户,密码为123456
yangming账户 密码为123456789
其中yangming账户有超级管理员的权限,引入该账户的目的为:后面再启动hadoop相关进程时,不能使用root账户启动
2)标准虚拟机的状态
主要有两个路径(文件)重点操作(为了方便后续操作进行的规定)
1、/opt/software/
存放jdk和hadoop3.1.3版本的压缩包(模板机中没有,需要自己去配置)
2、/opt/module/
存放解压的jdk和hadoop3.1.3
3、(重点)
模板机器中已经配置好三个虚拟机的静态IP(这三个为后面的三台分布式服务器)
配置再 /etc/hosts中
模板机的主机名字为hadoop100
配置在 /etc/hostname中
在hosts中我们可以看到有hadoop102,hadoop103,hadoop104
这三台服务i器中的主机名需要配置
开始搭建hadoop框架
1)克隆三个模板机,
分别为hadoop102,hadoop103,hadoop104
步骤
后面一直下一步直到
选择则自己的克隆地址,和克隆机名称
注意:克隆的地址所在的磁盘,其必须有200GB(原因:克隆机的设置的最大空间为50GB)
需要按照上面的步骤克隆三台,名字分别为hadoop102,hadoop103,hadoop104.
2)修改克隆机的静态IP和主机名称,
hadoop102,hadoop103,hadoop104三台均要修改,下面以hadoop102为例子
使用VMware打开hadoop102虚拟机,注意:因为静态IP还没有配置好,不能使用远程工具进行控制
使用root登录之后
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改文件(底下的网关改成自己的)
退出之后,修改主机名称
(三台服务器的主机名称分别为hadoop102,hadoop103,hadoop104)
vi /etc/hostname
关闭防火墙
systemctl stop firewalld
设置防火墙为开机自动关闭
systemctl disable firewalld.service
重启虚拟机
reboot
重启之后,检查网络是否联通
ping www.baidu.com
连接成功
Ctrl+Z停止命令
下载 vim 和 ifconfig
yum install vim
yum install ifconfig
现在hadoop102已经修改和配置完成,现在按照上述步骤分别修改和配置hadoop103和hadoop104,只需在配置的时候,修改对应的IP和hostname其余步骤不变
3) 给hadoop102安装配置JDK和Hadoop3.1.3
1)将JDK和hadoop3.1.3的压缩包放置于/opt/software中
2)解压到/opt/module/中
移动到cd /opt/software/中
cd /opt/software/
解压压缩包
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
3)配置JDK环境变量
新建/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
保存退出之后,source一下/etc/profile文件,让新的环境变量PATH生效
source /etc/profile
检查JDK是否配置成功
java -version
看到以下结果是配置成功、
4)配置Hadoop
打开/etc/profile.d/my_env.sh文件
sudo vim /etc/profile.d/my_env.sh
添加以下内容
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
保存退出之后,source一下/etc/profile文件,让新的环境变量PATH生效
source /etc/profile
测试hadoop是否安装成功
hadoop -version
出现以下内容,即安装成功
4)编写集群分发脚本xsync,用于向hadoop103和hadoop104传送hadoop102上的文件
移动到/home/yangming
cd /home/yangming
执行以下命令
mkdir bin
cd binvim xsync
xsync的脚本里添加
#!/bin/bash#1. 判断参数个数
if [ $# -lt 1 ]
thenecho Not Enough Arguement!exit;
fi#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
doecho ==================== $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:$pdirelseecho $file does not exists!fidone
done
保存退出,修改权限
chmod +x xsync
5)设置SSH无密登录配置
cd /home/yangming/.ssh
生成公钥和私钥
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)
执行以下命令将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
注意:
还需要在hadoop103上采用yangming账号配置一下无密登录到hadoop102、hadoop103、hadoop104服务器上。
还需要在hadoop104上采用yangming账号配置一下无密登录到hadoop102、hadoop103、hadoop104服务器上。
还需要在hadoop102上采用root账号,配置一下无密登录到hadoop102、hadoop103、hadoop104;
6)使用xsync脚本向hadoop103和hadoop104传输jdk和hadoop3.1.3
/home/yangming/bin/xsync /opt/module/
去hadoop103和hadoop104检查是否成功,成功之后,执行上述的source命令,配置环境变量
开始搭建集群
1)移动到hadoop目录
cd /opt/module/hadoop-3.1.3/etc/hadoop/
2) 配置core-site.xml
vim core-site.xml
文件内容
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop102:8020</value></property><!-- 指定hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value></property><!-- 配置HDFS网页登录使用的静态用户为atguigu --><property><name>hadoop.http.staticuser.user</name><value>yangming</value></property>
</configuration>
3)配置hdfs-site.xml
vim hdfs-site.xml
文件内容
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value></property>
</configuration>
4)配置yarn-site.xml
vim yarn-site.xml
文件内容
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</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>
5)配置mapred-site.xml
vim mapred-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
6)使用xsync脚本向在集群上分发配置好的Hadoop配置文件
/home/yangming/bin/xsync /opt/module/hadoop-3.1.3/etc/hadoop/
7) 群起集群
配置workers
vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
文件内容添加
hadoop102
hadoop103
hadoop104
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。
同步
/home/yangming/bin/xsync /opt/module/hadoop-3.1.3/etc
启动集群
如果集群是第一次启动,需要在hadoop102节点格式化NameNode
cd /opt/module/hadoop-3.1.3/
hdfs namenode -format
在Hadoop102启动HDFS
sbin/start-dfs.sh
在hadoop103启动YARN
cd /opt/module/hadoop-3.1.3/
sbin/start-yarn.sh
检查是否配置成功
浏览器中输入:http://hadoop102:9870
搭建模拟搭建Hadoop完全分布式环境(三台服务器)详解相关推荐
- 在多台机器上搭建Hadoop的分布式环境
2019独角兽企业重金招聘Python工程师标准>>> 分布式环境搭建之环境介绍 之前我们已经介绍了如何在单机上搭建伪分布式的Hadoop环境,而在实际情况中,肯定都是多机器多节点的 ...
- Windows 7 64位系统上搭建Hadoop伪分布式环境(很详细)
在开始配置前,我们先了解Hadoop的三种运行模式. Hadoop的三种运行模式 独立(或本地)模式:无需运行任何守护进程,所有程序都在同一个JVM上执行.在独立模式下测试和调试MapReduce程序 ...
- 本地搭建Hadoop伪分布式环境之一:虚拟机的安装
作者:GISer_Leo 好久没有写技术文档了,最近都在做项目:今日抽空搭建下Hadoop伪分布式环境: 个人笔记本:win8.1系统,内存32G,i7,硬盘1.5T: 准备软件:1.VMware-w ...
- 搭建 Hadoop 伪分布式环境
软硬件环境 CentOS 7.2 64 位 OpenJDK- 1.8 Hadoop- 2.7 关于本教程的说明 云实验室云主机自动使用 root 账户登录系统,因此本教程中所有的操作都是以 root ...
- 在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境
近几年大数据越来越火热.由于工作需要以及个人兴趣,最近开始学习大数据相关技术.学习过程中的一些经验教训希望能通过博文沉淀下来,与网友分享讨论,作为个人备忘. 第一篇,在win7虚拟机下搭建hadoop ...
- 构建Hadoop伪分布式环境
构建Hadoop伪分布式环境 这篇文章介绍Hadoop伪分布式环境的搭建过程与原理,是个人的学习总结,以纪念在各个步骤中遇到的麻烦.踩过的坑! 这篇笔记包含这样几个内容: 配置伪分布式环境 运行一个简 ...
- php远程连接真机实现,搭建nextcloud私有云存储网盘的教程详解
Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步.共享.版本控制.团队协作等功能.它的客户端覆盖了Windows ...
- 微服务 分布式配置中心Apollo详解
微服务 分布式配置中心Apollo详解 1. 配置中心概述 1.1 配置中心简介 1.2 配置中心特点 1.3 配置中心对比 2. Apollo概述 2.1 Apollo简介 2.2 Apollo特点 ...
- zookeeper 分布式过程协同技术详解.pdf_阿里大牛耗时18个月整理这份ZooKeeper分布式详解文档...
前言 摩尔定律揭示了集成电路每18个月计算性能就会增加一倍.随着信息的飞速膨胀,很多应用都无法依赖单个服务器的性能升级来处理如此庞大的数据量,分布式系统和应用越来越受到人们的青睐.分布式系统和应用不仅 ...
最新文章
- 微信创始人张小龙的创业故事
- jquery找祖先包含_jquery如何获取祖先元素
- u盘读写测试_如何提高u盘读写速度 提高u盘读写速度方法【详细步骤】
- Centos6.6下安装配置Redmine详解
- 多线程存数据mysql_java 多线程存储数据库
- mysql8.0.19.0_分享MySql8.0.19 安装采坑记录
- 在C++中用虚函数的作用是什么?为什么要用到虚函数
- RTSP播放器开发过程中需要考虑哪些关键因素
- DetNAS:首个搜索物体检测Backbone的方法 | NeurIPS 2019
- c语言 prototype_剖析JavaScript中的原型(Prototype)
- lock condition
- android 双击返回键退出 拦截menu键
- ltm4650_LTM4650IY-1APBF_代理全新进口【linear】现货商
- BZOJ4223 : Tourists
- 什么是软件维护?在软件已经交付使用后,为了改正错误或满足新需求而修改软件的过程。它有哪几种类型?
- python(11)- 文件处理
- bzoj 3838: [Pa2013]Raper (线段树)
- BZOJ.2069.[POI2004]ZAW(最短路Dijkstra 按位划分)
- 遗传算法(Genetic Algorithm)之deap学习笔记(一): 基础概念
- ZGC收集器(学习笔记)