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

简介: 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章内容

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
1月前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
87 2
|
1月前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
17小时前
|
分布式计算 Hadoop Java
大数据实战平台环境搭建(下)
大数据实战平台环境搭建(下)
6 0
|
5天前
|
分布式计算 资源调度 Hadoop
java与大数据:Hadoop与MapReduce
java与大数据:Hadoop与MapReduce
24 0
|
15天前
|
存储 分布式计算 Hadoop
【专栏】Hadoop,开源大数据处理框架:驭服数据洪流的利器
【4月更文挑战第28天】Hadoop,开源大数据处理框架,由Hadoop Common、HDFS、YARN和MapReduce组成,提供大规模数据存储和并行处理。其优势在于可扩展性、容错性、高性能、灵活性及社区支持。然而,数据安全、处理速度、系统复杂性和技能短缺是挑战。通过加强安全措施、结合Spark、自动化工具和培训,Hadoop在应对大数据问题中保持关键地位。
|
19天前
|
分布式计算 Hadoop 大数据
[大数据] mac 史上最简单 hadoop 安装过程
[大数据] mac 史上最简单 hadoop 安装过程
|
1月前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
83 1
|
14天前
|
分布式计算 大数据 BI
MaxCompute产品使用合集之MaxCompute项目的数据是否可以被接入到阿里云的Quick BI中
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
14天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
13天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
24 0