1 前言

在讲述Hadoop集群搭建之前,首先要了解Hadoop和集群两个名词,Hadoop是由Apache基金会开发的分布式系统基础架构,简单理解就是大数据技术应用的基础。集群可以理解为多台装有hadoop的服务器。搭建Hadoop集群的目的就是为了管理多台服务器,使多台服务器之间能够协调工作。本文选择了3台阿里云服务器。从下图中可以对整个大数据架构有了大体的了解。

Hadoop主要有HDFS(分布式文件存储系统)、Yarn(集群资源管理与调度)和MapReduce(分布式计算框架)组成。Hadoop集群中分为主机(master)和从机(slave),本文配置一台阿里云服务器为主机和从机。其余两台为从机。HDFS(分布式文件存储系统)在主机上称为Namenode节点,在从机上称为Datanode节点。Namenode维护HDFS的文件系统树以及文件树中所有的文件和文件夹的元数据。可以理解为win系统中文件夹属性中的那些信息,Datanode是存储和检索数据的地方。可以理解为win系统中文件夹中实际数据。

Yarn(集群资源管理与调度)在主机上称为ResourceManager节点,在从机上称为NodeManager。ResourceManager是全局的资源管理器,负责整个系统的资源管理和分配,NodeManager是节点上的资源和任务管理器。定时地向ResourceManager汇报本节点的资源使用情况。

MapReduce(分布式计算框架)顾名思义就是计算框架,有啥特点呢,就是分布式,可以把大型数据处理任务分解成很多单个简单的任务,然后再把各个处理结果合在一起。计算过程可以百度了解。

2 Hadoop集群搭建

2.1 服务器系统设置

网上教程多采用虚拟机创建多个linux系统来搭建Hadoop集群,我觉得虚拟机有弊端就采用了阿里云服务器。阿里云服务器购买选配过程后续再介绍。

  • hosts文件修改

hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的 IP 地址建立一个关联“ 数据库 ”。当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从hosts文件中寻找对应的 IP 地址,一旦找到,系统就会立即打开对应网页,如果没有找到,则系统会将网址提交 DNS 域名解析服务器进行 IP 地址的解析。就如你访问本地的时候,你输入127.0.0.1和localhost是一致的。hosts文件修改就是在添加三台服务器IP和域名的映射。

vi /etc/hosts

添加一下映射

172.27.66.8 master
172.27.66.10 slave1
172.27.66.9 slave2

后续访问域名和访问IP的效果是一样的。

按照IP地址修改三台服务器的主机名

hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2

  • SSH免密登录

SSH免密登录是为了各个服务器之间访问不在需要密码。三台服务器分别执行一遍如下命令。执行完该命令会在root/.ssh下生成密钥。

ssh-keygen -t rsa
#在slave1和slave2下分别把id_rsa.pub发送到主机上,并重新命令
scp id_rsa.pub root@master:~/.ssh/id_rsa.pub.slave1
scp id_rsa.pub root@master:~/.ssh/id_rsa.pub.slave2

在主机root/.ssh下把id_rsa.pub、id_rsa.pub.slave1、id_rsa.pub.slave2追加到authorized_keys中。

cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.slave1 >> authorized_keys
cat id_rsa.pub.slave2 >> authorized_keys

然后把authorized_keys传回到slave1和slave2中

scp authorized_keys root@slave1:~/.ssh
scp authorized_keys root@slave2:~/.ssh

最后修改文件权限。

chmod 755 ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

2.2 Hadoop安装

hadoop各组件软件下载地址:

清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/

  • 各模块配置文件修改

Hadoop的版本为3.2.1,软件包hadoop-3.2.1.tar.gz解压到/usr/local下,

tar -zxvf hadoop-3.2.1.tar.gz

安装完成后进入/usr/local/hadoop-3.2.1/etc/hadoop,修改配置文件为:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml、workers,

#打开文件的命令
vi core-site.xml

core-site.xml在 ----之间添加如下配置,注意修改hadoop.tmp.dir路径(按照自己系统的路径)

<configuration><property><name>fs.default.name</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop-3.2.1/tmp</value></property><property><name>io.file.buffer.size</name><value>131072</value></property>
</configuration>

hdfs-site.xml在 ----之间添加如下配置,注意修改dfs.datanode.data.dir和dfs.namenode.name.dir路径。dfs.replication副本参数。同datanode个数。

<configuration><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop-3.2.1/hdfs/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop-3.2.1/hdfs/datanode</value></property><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.permissions</name><value>false</value><description>need not permissions</description></property><property><name>dfs.namenode.http-address</name><value>master:50070</value></property>
</configuration>

yarn-site.xml在 ----之间添加如下配置。

<configuration>
<!-- Site specific YARN configuration properties --><property><name>yarn.resourcemanager.hostname</name><value>master</value></property><property><description>The address of the applications manager interface in the RM.</description><name>yarn.resourcemanager.address</name><value>${yarn.resourcemanager.hostname}:8032</value></property><property><description>The address of the scheduler interface.</description><name>yarn.resourcemanager.scheduler.address</name><value>${yarn.resourcemanager.hostname}:8030</value></property><property><description>The http address of the RM web application.</description><name>yarn.resourcemanager.webapp.address</name><value>${yarn.resourcemanager.hostname}:18088</value></property><property><description>The https adddress of the RM web application.</description><name>yarn.resourcemanager.webapp.https.address</name><value>${yarn.resourcemanager.hostname}:18090</value></property><property><name>yarn.resourcemanager.resource-tracker.address</name><value>${yarn.resourcemanager.hostname}:8031</value></property><property><description>The address of the RM admin interface.</description><name>yarn.resourcemanager.admin.address</name><value>${yarn.resourcemanager.hostname}:8033</value></property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
</configuration>

mapred-site.xml在 ----之间添加如下配置。

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapred.job.tracker</name><value>master:9001</value></property>
</configuration>

workers下添加如下内容。

slave1
slave2

  • 环境变量设置

hadoop-env.sh、yarn-env.sh两个文件下,添加java的地址,环境变量的目的就是为了便于访问。

export JAVA_HOME=/usr/local/jdk1.8.0_261

2.3 JDK8安装

java的版本为jdk-8u261-linux-x64.tar.gz,解压到/usr/local下

tar -zxvf jdk-8u261-linux-x64.tar.gz -C /usr/local

设置环境变量

vi /etc/profile
#添加如下内容
JAVA_HOME=/usr/local/jdk1.8.0_261
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
#立即生效环境变量
source /etc/profile

2.4 hadoop集群测试

#将主机下配置好的hadoop文件整体发送到两个从机上
scp -r /usr/local/hadoop-3.2.1 root@slave1:/usr/local
scp -r /usr/local/hadoop-3.2.1 root@slave2:/usr/local#添加hadoop的环境变量
export HADOOP_HOME=/usr/local/hadoop-3.2.1
export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop#在主机下格式化namenode
/usr/local/hadoop-3.1.1/bin/hdfs namenode -format
#启动和关闭HDFS
start-dfs.sh
stop-dfs.sh
#启动和关闭yarn
start-yarn.sh
stop-yarn.sh
#启动全部
start-all.sh
stop-all.sh

启动集群后在主机上输入jps显示

在从机上输入jps显示

输入hdfs dfsadmin -report显示

总结

Hadoop集群搭建,按照步骤一步一步搭建,难度不大。

不求点赞 只求有用

本文由微信公众号《大数据分析师知识分享》发布

hadoop搭建_阿里云搭建Hadoop集群相关推荐

  1. 揭秘更加开放的数据库服务:阿里云数据库专属集群

    简介:阿里云数据库专属集群服务,很好地满足了企业级客户数据库上云的诉求,既能享受到云数据库更快.更稳.更高安全的服务,又能如自建数据库一样,管理宿主机对接现有系统,符合企业使用习惯. 作者:无才 背景 ...

  2. 阿里云ECS-Centos7.9集群部署Redis服务遭木马攻击

    阿里云ECS-Centos7.9集群部署Redis服务遭木马攻击 #背景 阿里云ECS-Centos7.9集群:hadoop202,hadoop203,hadoop204 hadoop202启动red ...

  3. 阿里云部署k8s集群

    ​ 阿里云部署k8s集群 前言 1.k8集群架构 Kubernetes Cluster = N Master Node + N Worker Node:N主节点+N工作节点: N>=1 2.机器 ...

  4. git ssh拉取代码_阿里云搭建git服务器

    一.搭建步骤,分为两步 搭建中心仓库 自动同步代码到站点目录 二.详细步骤如下 1.先检查一下服务器上有没有安装git git --version 如果出现版本号,说明服务器已经安装git,如图所示: ...

  5. 云服务器饥荒_阿里云搭建饥荒专用服务器

    前几天我一朋友在steam上邀请我一起玩饥荒,可是联机的时候,总是一卡一卡的,好不容易玩的正尽兴的时候,我朋友突然有事就离开了房间,好不容易打的怪,建的家,房主一退就不能再次玩了只能等待他回来. 针对 ...

  6. *福音*阿里云redis5.0.*集群搭建及java代码测试详细(终于不用ruby了)

    redis 5.0版本 集群搭建不需要我们安装ruby就可以搭建成功,并且redis给我们提供了快速搭建脚本,执行utils/create-cluster/ 目录下的create-cluster脚本 ...

  7. 在阿里云Serverless K8S集群上部署Spark任务并连接OSS(详细步骤)

    在阿里云ASK集群上部署Spark任务并连接OSS 简介 ASK是阿里云的一个产品,属于Serverless Kubernetes 集群,这次实验是要在ASK集群上运行Spark计算任务(以WordC ...

  8. 阿里云上Kubernetes集群联邦

    摘要: kubernetes集群让您能够方便的部署管理运维容器化的应用.但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商.这样会给企 ...

  9. 阿里云上Kubernetes集群联邦 1

    摘要: kubernetes集群让您能够方便的部署管理运维容器化的应用.但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商.这样会给企 ...

最新文章

  1. 这个GitHub 1400星的Git魔法书火了,斯坦福校友出品丨有中文版
  2. 一款好用 mongodb 可视化工具
  3. SAP中记账码的作用
  4. 模型学习 - CNN及一系列发展
  5. 集群故障处理之处理思路以及听诊三板斧(三十四)
  6. javaSE基础代码案例
  7. Stackoverflow的见解:投票最多的是Spring 4问题
  8. Spring Integration关键案例与现实生活场景
  9. [转载] Java 方法(方法重载)与数组
  10. 代码编辑器[0] - Vim/gVim[1] - Vim 的快捷键操作
  11. Java面试基础篇-Redis缓存
  12. c语言盗取qq号程序,C++获取本机登陆过的QQ号码示例程序
  13. Redis深度历险——原理与集群篇
  14. 基于matlab的汽车牌照识别程序
  15. java中sql去除游标_SQL游标 - java.beggar - BlogJava
  16. html5加载更多,HTML5[7]: 实现网页版的加载更多
  17. Bazel Remote Caching
  18. Description: A component required a bean of type ‘com.jia.dao.UserDao‘ that
  19. Hololens2初入——解决HL真机到PC图像传输的实时性问题
  20. Leetcode 590: N-ary树的后序遍历

热门文章

  1. 【警惕】大量未修复WebLogic WSAT组件RCE漏洞的主机被挖矿程序攻击
  2. 带你读Paper丨分析ViT尚存问题和相对应的解决方案
  3. 探索专有领域的端到端ASR解决之道
  4. 数据湖探索DLI新功能:基于openLooKeng的交互式分析
  5. 【华为云技术分享】解析:物联网数据分析服务如何做?
  6. 【华为云技术分享】机器学习(01)——机器学习简介
  7. 实战!轻松搭建图像分类 AI 服务
  8. 鲲鹏性能优化十板斧(二)——CPU与内存子系统性能调优
  9. Docker,使生信分析更简单、可重复
  10. 华为“方舟编译器”到底是啥?一文看懂TA如何让手机性能再突破