zoukankan      html  css  js  c++  java
  • Hadoop学习笔记1-如何简单布署hadoop

    企业机型配置:

    选型标准:普通的,廉价的,标准的(容易替换的),工业化大规模生产的

    CPU:支持多核CPU,如2个4核CPU

    内存:16G以上,内存越大,常用数据都缓存在内存,提高速度

    硬盘:不需RAID,也不需使用SCSI、SAS、SSD硬盘,只需普通SATA硬盘即可,只要容量足够。

    网络:建议千兆网和高带宽交换机,hadoop对各节点服务器的数据通讯量极为重要。Infinband可以不用考虑。

     

    网络拓扑设计:

    使用局域网布署,尽量不使用低速率的跨数据中心连接。

    hadoop支持机架感知机制。

     

     

    操作系统选择:

    主流操作系统:Linux,只要是最新版即可,例:CentOs, Unbuntu, Redhat等。

    window下需要cygwin,但可能出现意料不到的问题。

    不区分32/64位数,基于Java环境。

     

     

    实验布署环境:

    伪分布模式:在单机环境下同时启动namenode,datanode,jobtracker,tasktracker, secondary namenode等五个进程,即多个节点都模拟运行在一台机下。

    完全分布模式:正常的hadoop集群,由多个各司其职的节点构成。

     

    以CentOs虚拟机为例:

    可使用默认分区,CLI界面即可。

    需要安装ssh,vi,java最新版。

    注意需要将iptables, selinux等防火墙关闭。

     

    配置工作:

    1. 配置hosts文件:

      在各节点的系统内设置好各节点的IP和对应的主机名,文件位置:/etc/hosts。

      以此步骤以便各节点能根据主机名称找到该机器以便通讯,防止局域网IP可能某些原因而变化导致找不到相应机器而通讯失败。

       

      此步骤应最先设置好。

       

    2. 建立hadoop运行的帐号。

     

    1. 配置免密码ssh:

    需要生成密钥复制到各节点中,使各节点之间达到ssh的免密码连接。

    注意:

    1. 密钥文件的权限数为644,即rw-r—r—
    2. 各节点的密钥也要复制一份给自身,达到ssh免密码连接访问自身。

     

    CentOs 6默认安装了ssh,只需确认sshd服务是否自启动即可。ssh需要手动安装:yum install openssh-clients。

    免密码方法设置:http://www.cnblogs.com/xiwang6428/p/3451711.html

     

    1. 下载解压或安装hadoop安装包。

      一般是下载tar.gz压缩包,可解压在用户的家目录下。

       

    2. 配置hadoop相关文件:(以1.2版为例,位于hadoop目录/conf/)

    文件名

    格式

    描述

    修改配置

    hadoop-env.sh

    bash脚本

    运行hadoop所需的环境变量

    设置export JAVA_HOME=java的安装目录

    core-site.xml

    xml配置文件

    配置hadoop核心设置,如HDFS和MadReduce的I/O设置

    在<configuration>节点间加入:

    <property>

        <name>fs.default.name</name> #指定namenode名称节点

        <value>hdfs://namenode主机名:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name> #指定hadoop的临时目录,如果不设定会默认以/tmp为临时目录。该目录会自动清空,所以不要用。

        <value>/home/hadoop运行的用户帐号/hadoop/tmp</value>

    </property>

    hdfs-site.xml

    xml配置文件

    配置HDFS守护进程:namenode,secondary namenode和datanode。

    在configuration节点添加:

    <property>

        <name>dfs.replication</name> #指定数据复制份数,一般来说有几个数据节点就复制几份

        <value>2</value>

    </property>

    mapred-site.xml

    xml配置文件

    配置mapreduce进程:jobtracker和tasktracker

    在configuration节点添加:

    <property>

        <name>mapred.job.tracker</name> #设定jabtracker的监听地址和端口

        <value>namenode主机名:9001</value>

    </property>

    masters

    文本文件

    运行主要的次要的namenode的主机名列表(每行一个)

    每行添加一个主机名

    slaves

    文本文件

    运行datanode和tasktracker的主机名列表(每行一个)

    每行添加一个主机名

     

    1. 将配置好的hadoop目录分发复制到各节点的主机内。

      因为各机的配置都相同,所以直接复制过去即可。

        例:scp –r ./hadoop 目标主机名:/home/用户名

     

    1. 格式化分布式文件系统:

      在namenode主机的hadoop目录下,执行 bin/hadoop namenode –format

    出现一堆信息,如成功有提示:has been successfully formatted.

    1. 启动守护进程:

      在namenode主机的hadoop目录下,执行 bin/start-all.sh

      相关的启动信息会记录在各节点主机的 hadoop目录/logs下。

     

    1. 检测守护进程启动情况

      /usr/java/jdk1.6.0_26/jps #假设此为java安装目录

     

     

  • 相关阅读:
    linux性能测试(转)
    mysql基本操作(数据库,表,字段,记录)
    mysql数据库的简介(安装和卸载)
    mysql数据库
    枚举法
    python数据结构与算法简介
    自学心得
    python 进程线程阅读摘抄
    python并发编程多线程基础1
    python队列
  • 原文地址:https://www.cnblogs.com/xiwang6428/p/3454991.html
Copyright © 2011-2022 走看看