zoukankan      html  css  js  c++  java
  • Hadoop学习记录(5)|集群搭建|节点动态添加删除

    集群概念

    计算机集群是一种计算机系统,通过一组松散继承的计算机软件或硬件连接连接起来高度紧密地协作完成计算工作。

    集群系统中的单个计算机通常称为节点,通过局域网连接。

    集群特点:

    1、效率高,通过多态计算机完成同一个工作。

    2、高容错,两台或多台机内容、工作过程等完全一样,宕机一台其他机器继续工作。

    Hadoop集群部署

    搭建步骤

    1、跟伪分布模式环境相同

    更改主机名

    设置Hosts

    关闭防火墙

    安装jdk

    设置环境变量

    设置SSH密钥登陆

    2、安装配置Hadoop

    namenode配置:

    配置Hadoop环境变量

    export HADOOP_HOME=/usr/local/hadoop

    export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

    配置hadoop-env.sh文件

    export JAVA_HOME = /usr/local/jdk

    export HADOOP_PID_DIR = /usr/local/hadoop/pids

    配置core-site.xml

    <property>

    <name>fs.default.name</name>

    <value>hdfs://h1:9000</value>

    </property>

    <property>

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

    <value>/usr/local/hadoop/tmp</value>

    </property>

    配置hdfs-site.xml

    <property>

    副本数量设置

    <name>dfs.replication</name>

    <value>2</value>

    </property>

    <property>

    <name>dfs.hosts.exclude</name>

    <value>/usr/local/hadoop/conf/excludes</value>

    </property>

    配置mapred-site.xml

    <property>

    <name>mapred.job.tracker</name>

    <value>hdfs://h1:90001</value>

    </property>

    配置masters和slaves

    master中配置的节点为Secondarynamenode节点。

    slaves中配置的节点为datanode和tasktracker节点。

    拷贝hadoop目录到其他节点中。

    namenode上使用 hadoop namenode –format格式化文件系统,以前格式化过的需要把hadoop.tmp.dir目录删除,否则格式化失败。

    增加节点

    1、在namnode和新主机的hosts文件中添加主机名,保证通过主机名能ping通。

    2、修改namenode的配置文件 conf/slaves

    添加新节点的ip或者主机名

    3、在新节点上启动服务

    hadoop-daemon.sh start datanode

    hadoo-daemon.sh start tasktracker

    4、在Namenode节点上执行刷新节点命令

    hadoop dfsadmin –refreshNodes

    5、Datanode节点均衡block块,也就是同步数据。

    start-balancer.sh

    注意事项:

    1、保证slave的防火墙关闭

    2、确保新的salve的ip或者主机名已经添加到master及其他slaves的hosts文件中,反之将master添加其他slave的主机名。实现主机名可以解析ip。

    删除节点

    1、在namenode节点中的配置文件添加

    <property>

    <name>dfs.hosts.exclude</name>

    <value>/usr/local/hadoop/conf/exclude</value>

    </property>

    2、在dfs.hosts.exclude定义的文件中添加要下架的机器,一行一个。

    3、使用命令强制加载节点

    hadoop dfsadmin –refreshNodes

    4、查看下架状态

    hadoop dfsadmin –report

    下架的机器会显示:Decommission in progres

    执行完成后将不显示。

    5、删除exclude文件中的主机名

    6、到要下架的节点上关闭taskracker。

    hadoop-daemon.sh stop tasktracker

    安全机制

    允许进入的节点设置

    dfs.hosts/map.hosts

    排除的设置(下线使用)

    dfs.hosts.exclude/mapred.hosts.exclude

    安全模式

    hadoop开启是会有安全模式,安全模式时不允许修改、删除文件,知道安全模式结束。

    作用:

    主要为了系统启动时检查各个DataNode节点数据块的有效性,同时根据策略必要的复制或删除部分数据块。

    一直处于安全模式原因:

    如果datanode丢失的block块达到一定比例,系统会一直处于安全模式。

    dfs.safemode.threshold.pct设置比例,默认是0.99f。如果设为1将永远为SafeMode。

    集群监控-Web

    MapReduce监控页面

    地址http://主机名:50030/

    HDFS监控页面

    http://主机名:50070/

    第三方监控工具

    ganglie 分布式监控系统

    Hadoop管理员命令

    hadoop dfsadmin –safemode get 查看运行模式

    hadoop dfsadmin –safemode enter 开启安全模式

    hadoop dfsadmin –safemode leave 关闭安全模式

    hadoop job –list 查看任务列表

    hadoop job –kill jobid 删除任务

    hadoop fsck / 检查HDFS状态,是否损坏

    hadoop fsck / -delete 检查HDFS状态,删除损坏块

    hadoop dfsadmin –report 检查HDFS状态,包括DdataNode信息

    常见分布模式安装错误

    1、NameNode与DataNode互相都可以ssh无密钥登陆访问

    2、在hosts文件中127.0.0.1不要与主机名在一起

  • 相关阅读:
    python基础学习1-网络爬虫程序中的代理IP设置
    python基础学习1-翻译程序(连接到有道翻译网)
    python基础学习1-第一个网络爬虫程序
    python基础学习1-迭代器
    python基础学习1-列表推导式和字典推导式
    python基础学习1-类属性访问
    python基础学习1-描述符
    python基础学习2-easygui框架编程
    python基础学习1-计数器实例
    HDU2896 病毒侵袭
  • 原文地址:https://www.cnblogs.com/luguoyuanf/p/3593649.html
Copyright © 2011-2022 走看看