ARM+麒麟大数据环境搭建:Hadoop

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: ARM+麒麟大数据环境搭建:Hadoop

第1章概述
1.1编写目的
暂无
1.2业务背景
暂无
第2章组件介绍
2.1组件介绍与架构说明
Hadoop是一个开源的大数据分布式系统基础架构。充分利用集群的威力进行高速运算和存储,为用户提供了一个分布式文件系统HDFS及海量的数据提供计算引擎MapReduce。Hadoop是整个数据中台环境的底层基础组件。
2.2逻辑部署拓扑
hadoop为用户提供分布式数据存储功能,提供2种逻辑节点,分别是NameNode和DataNode。NameNode负责集群中与存储相关的调度,DataNode负责具体的存储任务。具体来说NameNode维护了整个文件系统的元数据信息, DataNode用来执行具体的存储任务。
2.3物理部署拓扑
nameNode部署在node1上
dataNode部署在node1、node2、node3上均部署
2.4依赖环境
硬件:Phytium ARM CPU,银河麒麟v10 内核版本4.19.90-17 arm64 桌面版
JDK依赖:JDK 1.8
组件依赖:无

2.5界面效果
2.5.1安装完成后的运行效果
image.png
image.png

2.5.2运行日志
image.png

第3章部署步骤
3.1环境准备
3.1.1安装计划
3台服务器安装计划如下:
节点 安装的服务
Node1 NameNode,SecondaryNameNode,DataNode, ResourceManager
Node2 DataNode, NodeManager
Node3 DataNode, NodeManager

3.1.2安装环境准备
集群中的每台服务器需关闭防火墙,配置hosts及免密登录,详细请参考JDK安装部署说明。
3.1.3安装包准备
将hadoop-3.3.1-aarch64.tar.gz文件上传至node1服务器的/opt/abd_env_soft目录,解压并重命名为hadoop
解压
tar -zxvf Hadoop-3.3.1-aarch64.tar.gz
重命名
mv hadoop-3.3.1/ hadoop
3.2安装配置
以下配置均在Node1上进行,配置完成后再拷贝至其他节点。
123.2.1配置环境变量
编辑/etc/profile文件,配置hadoop的环境变量
vi /etc/profile
export HADOOP_HOME=/opt/abd_env_soft/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
source /etc/profile
3.2.2验证环境变量
[root@node1 ~] hadoop version
Hadoop 3.3.1
Source code repository https://github.com/apache/hadoop.git -r a3b9c37a397ad4188041dd80621bdeefc46885f2
Compiled by ubuntu on 2021-06-15T10:51Z
Compiled with protoc 3.7.1
From source with checksum 88a4ddb2299aca054416d6b7f81ca55
This command was run using /opt/abd_env_soft/hadoop/share/hadoop/common/hadoop-common-3.3.1.jar

3.2.3配置hadoop环境脚本文件中的JAVA_HOME参数
进入hadoop安装目录下的etc/hadoop目录,分别在hadoop-env.sh、mapred-env.sh和yarn-env.sh中添加如下参数:
export JAVA_HOME=/opt/abd_env_soft/jdk
image.png

3.2.4配置core-site.xml文件(指定NameNode节点)
编辑${HADOOP_CONF_DIR}/core-site.xml文件,加入以下配置,同时在/opt/abd_env_soft/hadoop下创建tmp目录。


  <!-- 配置hdfs地址,即指定NameNode的节点为node1 -->
  <name>fs.defaultFS</name>
  <value>hdfs://node1:9000</value>

  <!-- 保存临时文件目录,需先在/opt/abd_env/soft/hadoop下创建tmp目录 -->
  <name>hadoop.tmp.dir</name>
 <value> /opt/abd_env_soft/hadoop/tmp</value>

<name>ha.zookeeper.quorum</name>
<value>node1:2181,node2:2181,node3:2181</value>

</property

image.png

3.2.5配置hdfs-site.xml文件
编辑${HADOOP_CONF_DIR}/hdfs-site.xml文件,加入以下配置,同时在/opt/abd_env_soft/hadoop下创建/dfs/name和/dfs/data目录。

  
  <!-- NameNode的web管理地址,默认端口50070 -->
  <property>        
      <name>dfs.namenode.http-address</name>
      <value>node1:50070</value>
  </property>
  
  <!-- NameNode的数据目录,存放hdfs的元数据 -->
  <property>
      <name>dfs.namenode.name.dir</name>
      <value>file:/opt/abd_env_soft/hadoop/dfs/name</value>
 </property>

  <!-- DataNode的数据目录,存放hdfs的文件数据 -->
 <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/opt/abd_env_soft/hadoop/dfs/data</value>
 </property>

 <!-- 设置hdfs的文件备份数据为3 -->
 <property>      
    <name>dfs.replication</name>
     <value>3</value>
 </property>

 <!-- 设置hdfs的文件存储的分片大小,默认为128M -->
 <property>      
    <name>dfs.blocksize</name>
     <value>128m</value>
 </property>


image.png

3.2.6配置mapred-site.xml文件
编辑${HADOOP_CONF_DIR}/mapred-site.xml文件,加入以下配置:

  
  <!-- 设置MapReduce的运行平台为yarn -->  
  <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value> 
  </property>

   <!-- 设置MapReduce的jobhistory服务的管理地址--> 
  <property>
      <name>mapreduce.jobhistory.address</name>
      <value>node1:10020</value>
  </property>

 <property>
     <name>mapreduce.jobhistory.webapp.address</name>
     <value>node1:19888</value>
 </property>   


image.png

3.2.7配置yarn-site.xml文件
编辑${HADOOP_CONF_DIR}/yarn-site.xml文件,加入以下配置:

<name>yarn.resourcemanager.webapp.address</name>
<value>node1:8088</value>
<description>配置外网只需要替换外网ip为真实ip,否则默认为 localhost:8088</description>

<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
<description>每个节点可用内存,单位MB,默认8182MB</description>

<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
<description>忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。</description>

<name>yarn.resourcemanager.address</name>  
<value>node1:8032</value>  

<name>yarn.resourcemanager.scheduler.address</name>  
<value>node1:8030</value>  

<name>yarn.resourcemanager.resource-tracker.address</name>  
<value>node1:8031</value>  

<name>yarn.application.classpath</name>
<value>
  /opt/abd_env_soft/hadoop/etc/hadoop,
  /opt/abd_env_soft/hadoop/share/hadoop/common/lib/*,
  /opt/abd_env_soft/hadoop/share/hadoop/common/*,
  /opt/abd_env_soft/hadoop/share/hadoop/hdfs,
  /opt/abd_env_soft/hadoop/share/hadoop/hdfs/lib/*,
  /opt/abd_env_soft/hadoop/share/hadoop/hdfs/*,
  /opt/abd_env_soft/hadoop/share/hadoop/mapreduce/*,
  /opt/abd_env_soft/hadoop/share/hadoop/yarn,
  /opt/abd_env_soft/hadoop/share/hadoop/yarn/lib/*,
  /opt/abd_env_soft/hadoop/share/hadoop/yarn/*
</value>

<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>


3.2.8配置workers文件(指定DataNode节点)
编辑${HADOOP_CONF_DIR}/workers文件,加入以下内容:
node1
node2
node3

配置完后,hdfs会自动在配置的节点上启动DataNode进程。
3.2.9配置启动脚本,添加HDFS和Yarn权限
编辑 /opt/abd_env_soft/hadoop/sbin/start-dfs.sh文件,在第一行增加以下内容:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

编辑 /opt/abd_env_soft/hadoop/sbin/stop-dfs.sh文件,在第一行增加以下内容:
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

编辑 /opt/abd_env_soft/hadoop/sbin/start-yarn.sh文件,在第一行增加以下内容:
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=root
YARN_NODEMANAGER_USER=root

编辑 /opt/abd_env_soft/hadoop/sbin/stop-yarn.sh文件,在第一行增加以下内容:
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=root
YARN_NODEMANAGER_USER=root

3.2.10将配置好的文件拷贝至其他节点
将Node1上的/opt/abd_env_soft/hadoop整个目录及/etc/profile文件拷贝至其他节点

scp -r /opt/abd_env_soft/Hadoop node2:/opt/abd_env_soft
scp /etc/profile node2:/etc/

scp -r /opt/abd_env_soft/Hadoop node3:/opt/abd_env_soft
scp /etc/profile node3:/etc/
拷贝完成后分别在所有节点上应用环境变量文件
source /etc/profile
3.3初始化
在NameNode(即node1)上初始化文件格式,执行命令:
/opt/abd_env_soft/hadoop/bin/hdfs namenode -format

修改目录权限
hadoop fs -chmod -R 777 /
3.4启动集群
在NameNode(即node1)上执行命令:
/opt/abd_env_soft/hadoop/sbin/start-all.sh

3.5验证是否启动成功
分别在3台节点上执行命令jps,查看启动的进程是否符合咱们的要求
node1上:

node2上:

node3上:

通过web管理查看

3.6新增DataNode时的配置步骤
(1)按照章节1.2的内容配置新增节点的环境
(2)在新节点上安装jdk,将NameNode(node1)上的/opt/abd_env_soft/jdk整个目录及/etc/profile拷贝至新节点。
(3)在NameNode(node1)上的/opt/abd_env_soft/hadoop/etc/Hadoop/worker文件里增加新增节点
(4)在新节点上安装hadoop,将NameNode(node1)上的/opt/abd_env_soft/hadoop整个目录及/etc/profile拷贝至新节点
(5)在NameNode(node1)上重启hadoop,按照第5章内容验收是否启动成功。
第4章常见操作
4.1启动命令
在node1上执行/opt/abd_env_soft/hadoop/sbin/start-all.sh
4.2关闭命令
在node1上执行/opt/abd_env_soft/hadoop/sbin/stop-all.sh
4.3日志查看命令
每台节点的/opt/abd_env_soft/Hadoop/logs目录下会产生相应的服务日志,可使用tail-f进行查看

image.png

4.4健康检查方法
node1、node2、node3,三台运行后,可以通过jps查看进程状态,或通过web界面检查运行情况,参考3.5章内容

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
177 6
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
98 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
70 1
|
2月前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
68 1
|
2月前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
135 0
|
15天前
|
机器学习/深度学习 弹性计算 人工智能
阿里云服务器架构有啥区别?X86计算、Arm、GPU异构、裸金属和高性能计算对比
阿里云ECS涵盖x86、ARM、GPU/FPGA/ASIC、弹性裸金属及高性能计算等多种架构。x86架构采用Intel/AMD处理器,适用于广泛企业级应用;ARM架构低功耗,适合容器与微服务;GPU/FPGA/ASIC专为AI、图形处理设计;弹性裸金属提供物理机性能;高性能计算则针对大规模并行计算优化。
|
2月前
|
编解码 弹性计算 应用服务中间件
阿里云服务器Arm计算架构解析:Arm计算架构云服务器租用收费标准价格参考
阿里云服务器架构分为X86计算、Arm计算、高性能计算等多种架构,其中Arm计算架构以其低功耗、高效率的特点受到广泛关注。本文将深入解析阿里云Arm计算架构云服务器的技术特点、适用场景以及包年包月与按量付费的收费标准与最新活动价格情况,以供选择参考。
|
2月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
2月前
|
存储 Docker 容器
ARM架构鲲鹏主机BClinux离线安装docker步骤
下载并安装适用于ARM架构的Docker CE二进制文件,解压后移动至/usr/bin目录。创建docker组,配置systemd服务脚本(docker.service、docker.socket、containerd.service),重载systemd配置,启动并启用docker服务。编辑daemon.json配置存储驱动、镜像加速地址等,最后拉取所需镜像。
58 0
|
2月前
|
NoSQL MongoDB Docker
求助,有没有大神可以找到arm64架构下mongodb的3.6.8版本的docker镜像?
在Docker Hub受限的情况下,寻求适用于ARM架构的docker镜像资源或拉取链接,以便在x86架构上获取;内网中的机器为ARM架构,因此优先请求适合ARM的Docker镜像或Dockerfile,非常感激您的帮助。