Hadoop完全分布式集群搭建

简介: Hadoop完全分布式集群搭建。本次通过阿里云结合其他两台云服务搭建,完全分布式的hadoop集群。以下总结以下操作步骤以及踩过的一些坑。

一. 配置信息
每个云服务器统一安装CentOS7.6,
Hadoop版本hadoop-3.1.3;
java版本(jdk):1.8.0_212;

二.搭建步骤

  1. 配置host
    通过:vim /ect/hostname ;配置主机信息;
    vim /etc/hosts 添加所有的服务器ip,注意区分本地服务器用私网ip,访问其他服务器使用公网ip;

namenode5.png

  1. 解压文件
    tar -zxvf xxxx -C /opt/xxxx
  2. 配置环境变量
    解压后,需要将hadoop和jdk添加到环境变量中
    在/etc/profile.d下新建一个脚本文件,添加如下指令
    #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 /etc/profile/
以上信息表示文件所在路径,以及使用java及hadoop时,一些指令;注意路径需要与自己解压的路径保存一致

通过:hadoop version和java -version查看是否安装完成,安装完成会跳出,如下信息:
阿里云1.png

  1. hadoop配置

    • 各大平台都可以找到详细的环境配置,这边仅仅列举使用到的步骤,具体配置可自行搜索。
    • 每台服务都安装上hadoop以及jdk后,就需要配置hadoop的master和slave

① ssh免密登入:~/.ssh文件下:ssh-keygen -t rsa。将公钥拷贝到其他服务下:ssh-copy-id 服务器名称
② 集群配置
注意:NameNode 和 SecondaryNameNode 不要安装在同一台服务器。ResourceManager 也很消耗内存,不要和 NameNode、SecondaryNameNode 配置在同一台机器上。
阿里云2.png

这里主要就是配置:

  • vim hadoop路径/etc/hadoop/core-site.xml;
  • vim hadoop路径/etc/hadoop/hdfs-site.xml;
  • vim hadoop路径/etc/hadoop/yarn-site.xml;
  • vim hadoop路径/etc/hadoop/mapred-site.xml;

以及在hadoop路径/etc/hadoop/workers下添加你的集群信息。配置好以后可以通过rsync将配置文件分法到各个服务器上;

③测试

  • 第一次启动,对集群格式化:(确保路径下没有data和logs,有的话rm -rf 删除)。输入
  hdfs namenode -format # 对集群格式化
  • 在master上启动hdfs:sbin/start-dfs.sh
  • 在配置了ResourceManager的节点启动:sbin/start-yarn.sh

启动后通过jps检查每台服务器是否已经开启NodeManager和datanode如图:
阿里云5.png

  • 启动以后我们可以通过对应的端口在流量器中直接访问,如果成功打开则说明我们的集群搭建成功了。

hdfs的端口一般时9870,YARN的ResourceManager的端口为8088,显示如下图:

阿里云3.png

阿里云4.png

三 问题记录

  1. 启动集群后,无法访问对应端口:
    首先,查看对应端口是否已经启动。在终端输入:netstat -tunpl,查看IP已经端口号是否存在。若都开启了,检查一下每台服务的防火墙是否已经关闭了:
sudo systemctl stop firewalld
sudo systemctl disable firewalld.service

若都没问题,检查集群配置信息是否有拼写错误,以及主机名称是否编写正确,或者尝试ip直接访问。

  1. 8088 端口连接不上
    vim /etc/hosts 注释如下代码:
#127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 slave1

四 总结

  • 在服务器配置初期,由于使用完全分步式,会遇到服务器防火墙或云盾将其他平台服务器IP访问的22端口屏蔽的情况。
  • 本人就因为ip被平台云顿拦截,ping可以通,但是ssh总是失败。经过几个小时的纠结,发现其他服务器的ip被阿里云的云盾拦截了。这时候首先将其他服务器的IP添加服务器的白名单中,具体操作如下:

选择右上角用户头像,选择“安全管控”
阿里云6.png

进入后,左侧选择白名单:IP白名单

阿里云7.png

点击右侧的添加按键,将其他平台服务器的ip添加:

阿里云8.png

阿里云9.png

添加完成后,就可以看到添加的ip。此时,通过其他服务器ssh访问本服务就不会有问题了。
阿里云10.png

  • 对于一些有shell开发经验的人来说,可以先在阿里云主机端新开一端口,通过其他服务器ssh切换,查看是否可以成功,如果成功,则说明是IP的端口被云盾拦截了。如果没有解决,可以联系人工客服协同解决,我就多次麻烦客服,
  • 本次云平台的使用,虽然只是简单的搭建了hadoop集群,但是还是学习到了很多服务器的使用操作,巩固了shell和linux的一些基本操作技能。
  • 希望阿里云可以越做越好,推出更多的学生或新老人优惠活动。
目录
相关文章
|
存储 负载均衡 NoSQL
【赵渝强老师】Redis Cluster分布式集群
Redis Cluster是Redis的分布式存储解决方案,通过哈希槽(slot)实现数据分片,支持水平扩展,具备高可用性和负载均衡能力,适用于大规模数据场景。
926 2
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
阿里云PolarDB云原生数据库在TPC-C基准测试中以20.55亿tpmC的成绩刷新世界纪录,展现卓越性能与性价比。其轻量版满足国产化需求,兼具高性能与低成本,适用于多种场景,推动数据库技术革新与发展。
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1383 6
|
Cloud Native 关系型数据库 分布式数据库
登顶TPC-C|云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
云原生数据库PolarDB技术揭秘:Limitless集群和分布式扩展篇
|
存储 分布式计算 负载均衡
分布式计算模型和集群计算模型的区别
【10月更文挑战第18天】分布式计算模型和集群计算模型各有特点和优势,在实际应用中需要根据具体的需求和条件选择合适的计算架构模式,以达到最佳的计算效果和性能。
1043 162
|
分布式计算 Hadoop Java
CentOS中构建高可用Hadoop 3集群
这个过程像是在一个未知的森林中探索。但当你抵达终点,看到那个熟悉的Hadoop管理界面时,所有的艰辛都会化为乌有。仔细观察,尽全力,这就是构建高可用Hadoop 3集群的挑战之旅。
623 21
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
1702 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
1049 1
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
783 7
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
539 4

热门文章

最新文章

相关实验场景

更多