搭建所用Hadoop java版本

hadoop-3.1.3.tar.gz

jdk-8u212-linux-x64.tar.gz

安装包链接:Hadoop及jdk安装包提取码:icn6

首先,我们先下载并且安装好虚拟机准备好三台机器

主机名 ip地址
master 192.168.45.110
salve1 192.168.45.111
salve2 192.168.45.112

集群按以下要求修改相应配置文件

master salve1 salve2
HDFS
NameNode

DataNode

DataNode
SecondNameNode

DataNode

YARN NodeManager
ResourceManger

NodeManager

NodeManger
#1、安装网络调试工具

yum install vim -y

yum install wget -y

yum install net-tools -y

#2、设置开机禁用防火墙

systemctl stop firewalld

systemctl disable firewalld

#3、分别修改主机名称

vim /etc/hostname

#主机1:master

#主机2:salve1

#主机3:salve2

#4、修改域名映射

vim /etc/hosts

192.168.45.110 haster

192.168.45.111 salve1

192.168.45.112 salve2

#5、创建student用户

useradd stu

passwd stu 密码设置为123456

为用户stu添加sudo权限

vim /etc/sudoers

在# %wheel ALL=(ALL) NOPASSWD: ALL下面添加

stu ALL=(ALL) NOPASSWD:ALL

#6、创建文件夹用来放置我们的安装包

cd /opt

mkdir module/ software/

ls一下查看创建是否成功

我们将hadoop-3.1.3.tar.gz jdk-8u212-linux-x64.tar.gz安装包上传至/opt/software目录

接下来解压hadoop以及java安装包至module下

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

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

#7,添加java,Hadoop环境变量

cd /etc/profile.d

vim my_env.sh //创建java环境变量

#JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_212 export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile //重新加载profile 使配置生效

java -version // 查看java验证环境变量是否正确

同样在my_env.sh中添加hadoop环境变量

#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 //重新加载profile 使配置生效

hadoop version //验证环境变量是否正确

chown -R stu:stu /opt //给stu用户增加权限

切换至stu用户

su stu

#验证

echo $JAVA_HOME

echo $HADOOP_HOME

#8设置ssh免密登录

cd ~
mkdir .ssh # 创建ssh目录
chmod 700 .ssh # 设置ssh目录权限

# stu账号,非root账号
cd .ssh
ssh-keygen -t rsa # 生成rsa公钥和私钥
ssh-copy-id master
ssh-copy-id salve1
ssh-copy-id salve2

//互相验证一下是否配置成功

#9,hadoop配置文件

##使用stu用户登录

##配置dfs与yarn

## 修改配置文件

cd $HADOOP_HOME/etc/hadoop

# 核心配置文件,指定NameNode的地址、指定hadoop数据的存储目录、配置HDFS网页登录使用的静态用户

vim core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
</configuration>
# yarn配置文件,

vim yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>salve1</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>

<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://master:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>

#配置MapReduce配置文件

vim mapred-site.xml

<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

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

# HDFS配置文件,指定NodeNode的http访问端口与SecondaryNameNode的http访问端口

vim hdfs-site.xml

<configuration>
<!-- NameNode web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>

<!-- SecondaryNameNode web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>salve2:9868</value>
</property>
</configuration>
# 编辑workers文件

vim workers

master
salve1
salve2
到此我们的master主机已经配置完成。

#10,接下来我们写几个搭配集群的脚本

##创建xsync集群同步脚本、myhadoop.sh启动脚本、jpsall查看脚本(放到usr/local/bin目录下)

#xsync集群同步脚本

cd /usr/local/bin

sudo vim xsync

#!/bin/bash

if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi

for host in master salve1 salve2
do
echo =================== $host =======================


for file in $@
do
if [ -e $file ]
then
pdir=$(cd -P $(dirname $file);pwd)

fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exist!
fi
done
done

#集群启动/结束脚本

sudo vim myhadoop.sh

#!/bin/bash

if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi

case $1 in
"start")
echo " =================== 启动 hadoop 集群 ==================="

echo " --------------- 启动 hdfs "
ssh master "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
echo " --------------- 启动 yarn "
ssh salve1 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
echo " --------------- 启动 historyserver "
ssh master "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
echo " =================== 关闭 hadoop 集群 ==================="

echo " --------------- 关闭 historyserver "
ssh master "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
echo " --------------- 关闭 yarn "
ssh salve1 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
echo " --------------- 关闭 hdfs "
ssh master "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
*)
echo "Input Args Error. "
;;
esac

#查看所有节点脚本

sudo vim jpsall

#!/bin/bash

for host in master salve1 salve2
do
echo =============== $host ===============
ssh $host jps
done
#到此脚本配置结束 。接下来我们利用xsync同步脚本 将master主机中所有的配置以及文件传至salve1 salve2

xsync ./ # 集群配置文件同步 (根目录下所有文件)

静等完成。然后我们查看下salve1 salve2 是否同步成功 先看下/optm目录下存放的jdk以及hadoop文件是否存在,在看下java版本和hadoop版本。然后hadoop的配置文件依次都查看下。

在salve1以及salve2分别都查看下

java -version

我的显示不存在 这里我们去看一下java的环境变量是否配置

cd /etc/profile.d/

vim my_env.sh

发现没有配置java,Hadoop环境变量,添加路径

#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
source my_env.sh

再来查看下是否成功

所有配置都要检查一下 以防出现同步未及时。

接下来我们可以启动我们的集群了。

#11,集群启动~~~~~

# master上面操作

hdfs namenode -format # HDFS格式化

myhadoop.sh start 然后jpsall一下

显然我们所有节点都已经提起来了。接下来打开浏览器输入自己的master主机IP后面加上:9870来验证一下是否搭建成功

————————————————
版权声明:本文为CSDN博主「^_^嘤嘤嘤^_^」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_67460232/article/details/123858630

搜索

复制

Hadoop集群搭建(详细简单粗暴的更多相关文章

  1. Hadoop学习之路(四)Hadoop集群搭建和简单应用

    概念了解 主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构. 主从结构分类: 1.一主多从 2.多主多从 Hadoop中的HDFS和Y ...

  2. hadoop集群搭建详细教程

    本文针对hadoop集群的搭建过程给予一个详细的介绍. 参考视频教程:https://www.bilibili.com/video/BV1tz4y127hX?p=1&share_medium= ...

  3. Hadoop集群搭建的详细过程

    Hadoop集群搭建 一.准备 三台虚拟机:master01,node1,node2 时间同步 1.date命令查看三台虚拟机时间是否一致 2.不一致时间同步:ntpdate ntp.aliyun.c ...

  4. 大数据初级笔记二:Hadoop入门之Hadoop集群搭建

    Hadoop集群搭建 把环境全部准备好,包括编程环境. JDK安装 版本要求: 强烈建议使用64位的JDK版本,这样的优势在于JVM的能够访问到的最大内存就不受限制,基于后期可能会学习到Spark技术 ...

  5. Solr集群搭建详细教程(一)

    一.Solr集群的系统架构 注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. SolrCloud(solr 云)是So ...

  6. Linux环境下Hadoop集群搭建

    Linux环境下Hadoop集群搭建 前言: 最近来到了武汉大学,在这里开始了我的研究生生涯.昨天通过学长们的耐心培训,了解了Hadoop,Hdfs,Hive,Hbase,MangoDB等等相关的知识 ...

  7. 环境搭建-Hadoop集群搭建

    环境搭建-Hadoop集群搭建 写在前面,前面我们快速搭建好了centos的集群环境,接下来,我们就来开始hadoop的集群的搭建工作 实验环境 Hadoop版本:CDH 5.7.0 这里,我想说一下 ...

  8. Hadoop集群搭建-05安装配置YARN

    Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hadoop集群搭建-01前期准备 先保证集群5台虚 ...

  9. Hadoop集群搭建(完全分布式版本) VMWARE虚拟机

    Hadoop集群搭建(完全分布式版本) VMWARE虚拟机 一.准备工作 三台虚拟机:master.node1.node2 时间同步 ntpdate ntp.aliyun.com 调整时区 cp /u ...

  10. Hadoop 集群搭建

    Hadoop 集群搭建 2016-09-24 杜亦舒 目标 在3台服务器上搭建 Hadoop2.7.3 集群,然后测试验证,要能够向 HDFS 上传文件,并成功运行 mapreduce 示例程序 搭建 ...

随机推荐

  1. 微信小程序wxs封装使用以及公共js组件封装

    wxs封装 wxs可以直接写在wxml页面中,并且在对应的位置调用,比如在{{ xxx.xxx() }}调用wxs的函数 <view> <view>第{{m1.getMax(1 ...

  2. jupyter环境搭建

    前言 jupyter,一个交互式的笔记本,进行数据分析时比pycharm要好用和专业一些. jupyter安装的正确姿势 在别的教程里,他们讲的是通过pip install jupyter或者brew ...

  3. JZOJ 2645. 【NOIP2011模拟11.1】钓鱼

    题面 分析 状压 \(dp\) 直接上啊! 设 \(f_{t,S,pos}\) 表示 \(t\) 这个时刻之前能钓到的最多的鱼的数量 那么当前为可以钓鱼也可以移动 于是一切都明朗了 \(Code\) ...

  4. JavaSE 对象与类(一)

    对象与类 1.面向对象程序概述 Java是完全面向对象的,必须熟悉OOP才能够编写Java程序. 概念:类class.实例(对象)instance 由类构造(construct)对象的过程称为创建类的 ...

  5. VS Ctrl+D 快速复制上一行

    打开 VS   工具-->选项-->环境-->键盘   选择默认值,确定.     搞定!

  6. Postgresql 全局索引与分区索引对于SQL性能影响的比较及DDL操作后分区全局索引是否会失效

    Postgresql 提供了对于分区表 global index 的支持.global index 不仅提供了对于唯一索引功能的改进(无需包含分区键),而且在性能上相比非global index (l ...

  7. php连接Access数据库

    最近想把一个asp的网站改成php的,无奈空间不支持mysql数据库,只好用access数据库了,但以前都是用的php+mysql,php+access数据库编程还真没有做过.感谢党,感谢cctv,感 ...

  8. spring boot 3.x 配置spring security

    参考文章:https://spring.io/guides/gs/securing-web/ 导入maven <dependency> <groupId>org.springf ...

  9. 修改文件名或文件内容编码-convmv

    问题的出现 开发小伙伴把之前运行在windows server上的项目迁移到ubuntu上之后出现了中文乱码的问题,分析其原因是代码中创建文件未指定编码,所以就自动匹配了操作系统的编码,也就是从GBK ...

  10. Tkinter模块的使用【转】

    1.Tkinter是什么 Tkinter 是使用 python 进行窗口视窗设计的模块.Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.作为 py ...