1、准备

  四台虚拟机

  ①卸载openjdk

  ②安装jdk

2. 配置静态ip:

  ip : 每个机器在internet上的唯一标识
  子网掩码: 必须结合IP地址一起使用,将某个IP地址划分成网络地址和主机地址两部分。
  网关 : 网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备
  DNS : 它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

   ①进入/etc/sysconfig/network-scripts目录,找到该接口的配置文件(ifcfg-xxxxx),

    BOOTPROTO=static             #改成静态连接
    ONBOOT=yes
    IPADDR=192.168.40.10              #需要设置的静态ip,必须在网段内,需要自己查看虚拟机的网段
    NETMASK=255.255.255.0          #子网掩码,虚拟机上有
    GATEWAY=192.168.40.2          #网关,路由器角色
    DNS1=114.114.114.114         /#域名解析器

  注:除了上面的几个属性,配置文件中其余的都是不必要的。

  ②关闭防火墙

    systemctl stop firewalld.service          //关闭防火墙
    systemctl disable firewalld.service     //永久关闭

    systemctl status firewalld.service     //查看防火墙状态。出现:disavtive(dead): 说明防火墙已经关闭

  ③验证

    ping www.baidu.com          //ping外网

    ping 192.168.40.10          //ping另一台linux机器

3、修改主机映射

  vi /etc/hosts 添加以下映射

  192.168.40.10   s10
  192.168.40.11   s11
  192.168.40.12   s12
  192.168.40.13   s13

2、SSH

  1、在用户名中的家目录中进入到.ssh 隐藏目录中:

    cd ~

    cd ./.ssh

  2、生成秘钥:

    ssh-keygen -t rsa

  3、所有机器上上重复以上的步骤1、2步骤

  4、每台机器将秘钥分配到其他机器(包括本机):

    ssh-copy-id s10       //我的分布式有四台,分别是s10,s11,s12,s13,每台机器都得把公匙发出去,发给所有的集群,包括发给自己
    ssh-copy-id s11
    ssh-copy-id s12
    ssh-copy-id s13

  注:如果是root用户免密登录,上述的操作都在root用户下。

  5、验证

    ssh s11    //能登录就行,第一次好像要输密码

3、hadoop安装:

  ①集群分配

    s10:namenode,resourcemannager,secondary //名称节点,资源管理节点

    s11:datanode,datamannager //数据节点
    s12: datanode,datamannager //数据节点
    s13:datanode,datamannager //数据节点

  ②修改配置文件

    cd $HADOOP_HOME/etc/hadoop/

    修改下面的四个文件

  配置文件修改:

    ①core-site(名称节点及其文件保存路劲(默认文件系统)):

        <configuration>

            <property>

                <name>fs.defaultFS</name>

                <value>hdfs://192.168.40.10:9000</value>

            </property>

            <property>

                <name>hadoop.tmp.dir</name>

                <value>/opt/app/hadoop-2.7.2/data/tmp</value>

            </property>

        </configuration>

    ②hdfs-site(辅助名称节点、名称节点外部访问地址,是否开启权限):

        <configuration>

            <property>

                <name>dfs.namenode.secondary.http-address</name>

                <value>192.168.40.10:50090</value>

            </property>

            <property>

                 <name>dfs.namenode.http-address</name>

                 <value>192.168.40.10:50070</value>

            </property>

            <property>

                <name>dfs.permissions.enabled</name>

                <value>false</value>

            </property>

        </configuration>

    ③yarn-site(mapreduce框架名、历史服务器外部访问地址,日志外部访问地址):

        <configuration>

            <property>

                <name>mapreduce.framework.name</name>

                <value>yarn</value>

            </property>

            <property>

                <name>mapreduce.jobhistory.address</name>

                <value>192.168.40.10:10020</value>

            </property>

            <property>

                <name>mapreduce.jobhistory.webapp.address</name>

                <value>192.168.40.10:19888</value>

            </property>

        </configuration>

    ④mapred-site(resourcemanager节点,日志保存时间(7天),好像没有这个文件,需要 将mapred-site.xml.temple这个文件复制一份,然后名字改为mapred-site.xml):

        <configuration>
            <property>

                <name>yarn.resourcemanager.hostname</name>

                <value>192.168.40.10</value>

            </property> 

            <property>

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

                <value>mapreduce_shuffle</value>

            </property>

            <property>

                <name>yarn.log-aggregation.retain-seconds</name>

                <value>604800</value>

            </property>

        </configuration>

    ⑤slave(名称节点):

       s11
       s12
    s13

  格式化:

    scp -r /opt/app/hadoop-2.7.2/etc/hadoop/ s11:/opt/app/hadoop-2.7.2/etc/      //目录分发(已存在则会覆盖)

    rm -rf /opt/app/hadoop-2.7.2/data/tmp/* //删除目录文件(每一台)

    hadoop namenode -format //格式化文件系统,会删除所有

  启动:

    start-all.sh
    stop-all.sh      //停止

4、节点退役与服役

  1、准备工作:

    ①新节点的ip、hostname配置
    ②所有节点对新节点的主机映射、ssh配置
    ③将一个datanode的hadoop安装目录的scp给新节点
    ④新节点删除logs、data\tmp下面的所有文件

  2、服役(namenode下配置)

    ①在slaves文件中添加新节点的主机映射
    ②新建dfs.include(白名单)、dfs.exclude(黑名单),并在白名单中输入所有的数据节点主机映射
    ③hdfs-site.xml

      <property>
        <!-- 白名单信息-->
        <name>dfs.hosts</name>
        <value>/home/hadoop/hadoop/etc/dfs.include</value>
      </property>
      <property>
        <!-- 黑名单信息-->
        <name>dfs.hosts.exclude</name>
        <value>/home/hadoop/hadoop/etc/dfs.exclude</value>
      </property>

    ④单独启动节点(新节点中操作)

      hadoop-daemon.sh start datanode //启动datanode,在50070端口可看到结果
      yarn-daemon.sh start nodemanager //启动nodemannager,在8088端口可看见结果

    ⑤刷新节点

      hdfs dfsadmin -refreshNodes

    ⑥平衡节点

      start-balancer.sh

    注:端口中查看可能会延迟一些时间

  3、退役(namenode下配置)

    ①dfs.exclude(黑名单)文件中添加退役节点映射
    ②hdfs-site.xml

     <property>
        <name>dfs.hosts.exclude</name>
        <value>/opt/app/hadoop-2.7.2/etc/hadoop/dfs.exclude</value>
     </property>

    ④刷新节点

      hdfs dfsadmin -refreshNodes

      注:此时web中,会出现正在退役,对其数据进行拷贝,待到出现已经退役,则退役成功。

    ⑤单独关闭节点(新节点中操作)

      hadoop-daemon.sh stop datanode
      yarn-daemon.sh stop nodemanager

    ⑥ 删除dfs.include(白名单) 中的新增节点的主机名称

    ⑦再次刷新节点

1-hadoop安装、ssh、节点退役与服役的更多相关文章

  1. hadoop 节点退役和服役

    节点的服役和退役(hdfs)---------------------- 黑白名单的组合情况-------------------------include //dfs.includeexclude ...

  2. hadoop新旧节点

    注意:黑白名单只出现在名称(nn)节点<!-- 白名单 --><property><name>dfs.hosts</name>/Users/yangya ...

  3. linux hadoop安装

    linux hadoop安装 本文介绍如何在Linux下安装伪分布式的hadoop开发环境. 在一开始想利用cgywin在 windows下在哪, 但是一直卡在ssh的安装上.所以最后换位虚拟机+ub ...

  4. Hadoop基础-Hadoop的集群管理之服役和退役

    Hadoop基础-Hadoop的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,如果是上千万规模的集群,难免一个一个月会有那么几台服务器出点故 ...

  5. Hadoop安装教程_单机(含Java、ssh安装配置)

    文章更新于:2020-3-24 按照惯例,需要的文件附上链接放在文首 文件名:Java SE Development Kit 8u241 文件大小:72 MB+ 下载链接:https://www.or ...

  6. 安装Hadoop系列 — 安装SSH免密码登录

    配置ssh免密码登录   1) 验证是否安装ssh:ssh -version显示如下的话则成功安装了OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 ...

  7. 转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

    原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到, ...

  8. Hadoop安装指引

    pre.ctl { font-family: "Liberation Mono", monospace } p { margin-bottom: 0.25cm; line-heig ...

  9. [Hadoop入门] - 2 ubuntu安装与配置 hadoop安装与配置

    ubuntu安装(这里我就不一一捉图了,只引用一个网址, 相信大家能力) ubuntu安装参考教程:  http://jingyan.baidu.com/article/14bd256e0ca52eb ...

随机推荐

  1. 获取laravel项目的路径的内置帮助函数

    app_path() app_path函数返回app目录的绝对路径: $path = app_path(); 你还可以使用app_path函数为相对于app目录的给定文件生成绝对路径: $path = ...

  2. py-day1-3 python基本数据类型

    数据的基本类型: 数字:

  3. logback使用介绍

    参考 https://www.cnblogs.com/warking/p/5710303.html

  4. mysql 删除数据库中所有的表中的数据,只删database下面所有的表。

    select concat('drop table ',table_name,';') from TABLES where table_schema='数据库名称'; select concat('t ...

  5. Linux配置Python默认版本

    我们知道在Windows下多版本共存的配置方法就是改可执行文件的名字,配置环境变量. Linux中的配置原理差不多,思路就是生成软链接,配置到环境变量. 在没配置之前,我的Ubuntu中安装了pyth ...

  6. c++中计算程序执行时间

    #include<iostream> #include<time.h> using namespace std; int main() { clock_t t1 = clock ...

  7. java中关于File类的细说

    File类是我们接触的比较多的类,当初学习是真是傻傻分不清啊.今天就总结一下file的一些比较不好区分的地方. 首先:当然就是构造方法 File f = new File("文件路径&quo ...

  8. 测试教程网.unittest教程.3. 实例: 测试弱密码

    From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...

  9. 自动化 数据分离 --A文件里面的类 中的函数 调用 B文件里面类 的函数 的方法

    记录: bb 要实例化 self.dr=dr,那么 iber_test类的 self.dr 才能带过去

  10. 学习笔记之k-nearest neighbors algorithm (k-NN)

    k-nearest neighbors algorithm - Wikipedia https://en.wikipedia.org/wiki/K-nearest_neighbors_algorith ...