热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于ubuntu的hadoop完全分布式集群搭建

基于ubuntu的hadoop完全分布式集群搭建-借鉴网址1借鉴网址2hadoop官方配置教程搭建虚拟机,克隆(或者先配置JAVA和Hadoop环境再克隆,之后要改主机名和

借鉴网址1

借鉴网址2

hadoop官方配置教程

搭建虚拟机,克隆(或者先配置JAVA和Hadoop环境再克隆,之后要改主机名和映射以及SSH免密)

可以利用xsync集群分发脚本一台机器配置其他机器分发

修改主机名和ip映射

检查

配置ssh免密登录

这里地址为 ~/.ssh

配置JAVA

Hadoop配置

Hadoop完全分布式集群搭建

    #Hadoop’s Java configuration is driven by two types of important configuration files:
    1.Read-only default configuration - core-default.xml, hdfs-default.xml, yarn-default.xml and mapred-default.xml.#默认配置文件在官网可以找到
    2.Site-specific configuration - etc/hadoop/core-site.xml, etc/hadoop/hdfs-site.xml, etc/hadoop/yarn-site.xml and etc/hadoop/mapred-site.xml. #这些都在etc/hadoop/中

集群分配示意图

/*For large installations, these are generally running on separate hosts.*/
HDFS daemons are NameNode, SecondaryNameNode, and DataNode.
​
YARN daemons are ResourceManager, NodeManager, and WebAppProxy.
​
If MapReduce is to be used, then the MapReduce Job History Server will also be running.

开始配置

  1. etc/hadoop/hadoop-env.sh中配置JAVA_HOME

  1. 配置core-site.xml

##core-site.xml  自己决定参数

         
         
                 fs.defaultFS
                 hdfs://Master:8080
         
​
         
         
                 hadoop.tmp.dir
                 /usr/local/hadoop/tmp
         
  1. 配置hdfs-site.xml


    
    
         dfs.namenode.http-address
         Master:9870
     
​
    
     
         dfs.namenode.secondary.http-address
         Slave2:9868
     
​
        
         dfs.namenode.name.dir
         file:/usr/local/hadoop/tmp/dfs/name
    
​
    
         dfs.datanode.data.dir
         file:/usr/local/hadoop/tmp/dfs/data
    
  1. 配置 yarn-site.xml


     
     
         yarn.nodemanager.aux-services
         mapreduce_shuffle
     
     
     
     
         yarn.resourcemanager.hostname
         Slave1
     
     
      
        yarn.resourcemanager.webapp.address
        Slave1:8088
      
  1. 配置mapred-site.xm


    
     
         mapreduce.framework.name
         yarn
     

配置workers

List all worker hostnames or IP addresses in your etc/hadoop/workers file, one per line. Helper scripts (described below) will use the etc/hadoop/workers file to run commands on many hosts at once. It is not used for any of the Java-based Hadoop configuration. In order to use this functionality, ssh trusts (via either passphraseless ssh or some other means, such as Kerberos) must be established for the accounts used to run Hadoop.
Master
Slave1
Slave2

同步所有节点配置文件(这里使用xsync同步文件脚本)

xsync脚本编写 并且配置到PATH里 可以echo $PATH然后随便找个地方丢进去

更改执行权限 chmod 777 xsync

随便建一个文件测试是否能传到其他服务器上

xsync同步 可以看到文件更新

启动hadoop集群

在Master节点上

首次启动需要格式化 只有首次启动需要

启动HDFS

在配置了ResourceManager的节点启动Yarn

这里是Slave1

在Slave1配置historyserver

查看是否配置完成(与之前画的图一样)

尝试web页面是否能打开

hdfs:

http://master:9870

如果在主机里没有配置master与ip地址关联的话

http://master的ip地址:9870

同理试试yarn:

http://Slave1:8088

由此,Hadoop集群配置完成

xsync

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
     echo Not Enough Arguement!
     exit;
fi
​
#2. 遍历集群所有机器
for host in Master Slave1 Slave2 ##这里注意更改!!
do
     echo ==================== $host ====================
     #3. 遍历所有目录,挨个发送
     for file in $@
     do
         #4. 判断文件是否存在
         if [ -e $file ]
             then
                 #5. 获取父目录
                 pdir=$(cd -P $(dirname $file); pwd)
                 #6. 获取当前文件的名称
                 fname=$(basename $file)
                 ssh $host "mkdir -p $pdir"
                 rsync -av $pdir/$fname $host:$pdir
             else
                echo $file does not exists!
         fi
     done
done

推荐阅读
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • Python脚本编写创建输出数据库并添加模型和场数据的方法
    本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • {moduleinfo:{card_count:[{count_phone:1,count:1}],search_count:[{count_phone:4 ... [详细]
  • 一、Struts2是一个基于MVC设计模式的Web应用框架在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2优点1、实现 ... [详细]
  • mapreduce源码分析总结
    这篇文章总结的非常到位,故而转之一MapReduce概述MapReduce是一个用于大规模数据处理的分布式计算模型,它最初是由Google工程师设计并实现的ÿ ... [详细]
author-avatar
陈亮跑街向_114
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有