基于Docker搭建大数据集群(三)Hadoop部署

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 基于Docker搭建大数据集群(三)Hadoop部署
主要内容
  • Hadoop安装
前提
  • zookeeper正常使用
  • JAVA_HOME环境变量
安装包

微云下载 | tar包目录下

  • Hadoop 2.7.7
角色划分
角色分配 NN DN SNN
cluster-master
cluster-slave1
cluster-slave1
cluster-slave1

一、环境准备

上传到docker镜像

docker cp hadoop-2.7.7.tar.gz cluster-master:/root/tar

解压

tar xivf hadoop-2.7.7.tar.gz -C /opt/hadoop

二、配置文件

core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://jinbill</value>
        </property>
        <property>
                <name>ha.zookeeper.quorum</name>
                <value>cluster-master:2181</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/hadoop</value>
        </property>
</configuration>

yarn-site.xml

<configuration>
        <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
        </property>
        <property>
                 <name>yarn.resourcemanager.ha.enabled</name>
                 <value>true</value>
        </property>
        <property>
                 <name>yarn.resourcemanager.cluster-id</name>
                 <value>mr_jinbill</value>
        </property>
        <property>
                 <name>yarn.resourcemanager.ha.rm-ids</name>
                 <value>rm1,rm2</value>
        </property>
        <property>
                 <name>yarn.resourcemanager.hostname.rm1</name>
                 <value>cluster-slave2</value>
        </property>
        <property>
                 <name>yarn.resourcemanager.hostname.rm2</name>
                 <value>cluster-slave3</value>
        </property>
        <property>
                 <name>yarn.resourcemanager.zk-address</name>
                 <value>192.168.11.46:12181</value>
        </property>
        <property>
                <name>yarn.nodemanager.pmem-check-enabled</name>
                <value>false</value>
        </property>
        <property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
        </property>
</configuration>

hadoop-env.sh

export JAVA_HOME=/opt/jdk/jdk1.8.0_221

hdfs-site.xml

<configuration>
        <property>
                <name>dfs.nameservices</name>
                <value>jinbill</value>
        </property>
        <property>
                <name>dfs.ha.namenodes.jinbill</name>
                <value>nn1,nn2</value>
        </property>
        <property>
                <name>dfs.namenode.rpc-address.jinbill.nn1</name>
                <value>cluster-master:8020</value>
        </property>
        <property>
                <name>dfs.namenode.rpc-address.jinbill.nn2</name>
                <value>cluster-slave1:8020</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.shsxt.nn1</name>
                <value>cluster-master:50070</value>
        </property>
        <property>
                <name>dfs.namenode.http-address.shsxt.nn2</name>
                <value>cluster-slave1:50070</value>
        </property>
        <property>
                <name>dfs.namenode.shared.edits.dir</name>
                <value>qjournal://cluster-slave1:8485;cluster-slave2:8485;cluster-slave3:8485/jinbill</value>
        </property>
        <property>
                <name>dfs.client.failover.proxy.provider.jinbill</name>
                <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
        </value>
        </property>
        <property>
                <name>dfs.ha.fencing.methods</name>
                <value>sshfence</value>
        </property>
        <property>
                <name>dfs.ha.fencing.ssh.private-key-files</name>
                <value>/root/.ssh/id_rsa</value>
        </property>
        <property>
                <name>dfs.journalnode.edits.dir</name>
                <value>/opt/hadoop/data</value>
        </property>
        <property>          
                <name>dfs.ha.automatic-failover.enabled</name>
                <value>true</value>
        </property>
</configuration>

新建slaves文件,若有则直接编辑

cluster-slave1
cluster-slave2
cluster-slave3

三、初始化

启动所有节点JournalNode

hadoop-daemon.sh start journalnode

在NN上初始化元数据

hdfs namenode -forma

将格式化后的元数据拷贝到SNN上

scp /opt/zookeeper/dfs cluster-slave1:/opt/hadoop

启动master节点的NN

hadoop-daemon.sh start namenode

在SNN上执行

hdfs namenode -bootstrapStandby

启动SNN

hadoop-daemon.sh start namenode

在NN或SNN上初始化ZKFC

hdfs zkfc -formatZK

停止上面节点

stop-dfs.sh

四、 启动

start-dfs.shstart-yarn.sh

五、测试是否成功

因为网段不同,所以得加路由才能访问

  1. 打开cmd,需要管理员权限
  2. route add 172.15.0.0 mask 255.255.0.0 192.168.11.38 -p

访问UI界面

Hadoop 集群 访问地址Hadoop 作业 地址


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
4天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
zdl
|
2月前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
168 56
|
2月前
|
人工智能 API 数据安全/隐私保护
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
NextChat 是一个可以在 GitHub 上一键免费部署的私人 ChatGPT 网页应用,支持 GPT3、GPT4 和 Gemini Pro 模型。该项目在 GitHub 上获得了 63.8k 的 star 数。部署简单,只需拉取 Docker 镜像并运行容器,设置 API Key 后即可使用。此外,NextChat 还提供了预设角色的面具功能,方便用户快速创建对话。
202 22
使用 Docker 一键免费部署 63.8k 的私人 ChatGPT 网页应用
|
13天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
49 4
|
1月前
|
Java 应用服务中间件 Docker
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
将基于 Spring 的 WAR 应用程序部署到 Docker:详尽指南
35 2
|
13天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
35 0
|
2月前
|
Java Linux Docker
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
什么是 Docker?如何将 Spring Boot 应用程序部署到 Docker?
49 3
|
2月前
|
SQL 存储 大数据
单机顶集群的大数据技术来了
大数据时代,分布式数仓如MPP成为热门技术,但其高昂的成本让人望而却步。对于多数任务,数据量并未达到PB级,单体数据库即可胜任。然而,由于SQL语法的局限性和计算任务的复杂性,分布式解决方案显得更为必要。esProc SPL作为一种开源轻量级计算引擎,通过高效的算法和存储机制,实现了单机性能超越集群的效果,为低成本、高效能的数据处理提供了新选择。
|
2月前
|
机器学习/深度学习 数据采集 Docker
Docker容器化实战:构建并部署一个简单的Web应用
Docker容器化实战:构建并部署一个简单的Web应用
|
2月前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理