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

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*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;
相关文章
|
2月前
|
网络安全 Docker 容器
|
2月前
|
安全 Docker 容器
|
2月前
|
网络安全 Docker 容器
|
2月前
|
网络安全 数据安全/隐私保护 Docker
zdl
|
1月前
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
147 56
|
17天前
|
Prometheus 监控 Cloud Native
如何使用Prometheus监控Docker Swarm集群的资源使用情况?
还可以根据实际需求进行进一步的配置和优化,如设置告警规则,当资源使用超出阈值时及时发出警报。通过这些步骤,能够有效地使用 Prometheus 对 Docker Swarm 集群的资源进行监控和管理。
35 8
|
17天前
|
Prometheus 监控 Cloud Native
如何监控Docker Swarm集群的性能?
如何监控Docker Swarm集群的性能?
65 8
|
17天前
|
监控 Docker 容器
Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项
本文深入探讨了Docker Swarm集群的扩展与缩容策略,涵盖其意义、方法、步骤及注意事项,旨在帮助用户高效管理集群资源,适应业务变化,确保服务稳定性和资源优化。
40 6
|
28天前
|
SQL 存储 大数据
单机顶集群的大数据技术来了
大数据时代,分布式数仓如MPP成为热门技术,但其高昂的成本让人望而却步。对于多数任务,数据量并未达到PB级,单体数据库即可胜任。然而,由于SQL语法的局限性和计算任务的复杂性,分布式解决方案显得更为必要。esProc SPL作为一种开源轻量级计算引擎,通过高效的算法和存储机制,实现了单机性能超越集群的效果,为低成本、高效能的数据处理提供了新选择。
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
104 2