• Hadoop集群搭建


     全文见 
     http://cffile.sinaapp.com/?p=193
    ////////////////////////////////////////////////////////////////////////////////
    一、部署策略
    1.一个master节点,同时运行NameNode、SecondaryNameNode和JobTracker ,也可以三个节点分别运行
    2.两个slave节点,每个slave同时运行DataNode/TaskTracker  也可以多个
    ////////////////////////////////////////////////////////////////////////////////
    二、准备工作
    Linux内核
    内核需求:
    master节点:没有特别的版本要求,一般使用2.6内核即可
    slave节点:最好支持大块文件系统

    创建用户
    用户名可以用hdcf等(在hdfs基础上稍微改一下,hd说明用途,cf是自己的标识) 最好不要用hdfs、mapred,因为一般已经被用

    过了
    登录master节点,执行:
    % useradd mapcf
    % useradd hdcf
    登录slave节点(TaskTracker/DataNode),执行:
    % useradd mapcf
    % useradd hdcf
    ////////////////////////////////////////////////////////////////////////////////
    三、建立SSH信任关系
    master节点可以无密码登录到从节点,这就要求master节点的public key在slave节点的authroized_keys列表中
    在master节点上以mapcf用户执行:
    % ssh-keygen -t rsa
    % cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    % chmod g-w ~/.ssh/authorized_keys
    以上命令生成id_rsa.pub公钥文件,并追加到本机mapcf用户的authroized_keys列表中。执行以下命令验证操作是否成功:
    % ssh localhost
    如果不需要输入密码,则说明操作成功。将id_rsa.pub文件分发到所有slave节点上,并追加到slave节点mapred用户的

    ~/.ssh/authorized_keys文件中。//要先查一下 hdcf mapcf用户原来有没有密码之类的,因为原来可能装过,如果设了密码,就

    不方便了
    如果文件不存在,则手动创建该文件,但一定要注意authorized_keys文件权限设置正确。
    操作完成后,从master登录到任意一台从节点测试操作是否成功。
    hdcf用户类似。
    ///////////////////////////////////////////////////////////////////////////////
    四、Hadoop-v2配置与安装
    $./build4deploy.sh
    build 之后在deploy目录下有
    hadoop-namenode  hdfs的master
    hadoop-datanode   hdfs的slave

    hadoop-jobtracker   MapReduce的master
    hadoop-tasktracker   MapReduce的slave

    hadoop-client  客户端
    ////////////////////////////////////////////////////////////////////////////////
    五、基本配置修改
    Hadoop的配置文件保存在hadoop-v2/hadoop/conf目录中,按以下步骤修改配置:
    /*****************************************/
    master节点配置保存在hadoop/conf目录中
    1 修改hadoop-user-info.properties分配用户名和密码,一般可改为
    root=root,root
    slave=slave,slave
    2 修改conf/hadoop-site.xml,修改hadoop.tmp.dir
    <name>hadoop.tmp.dir</name>
      <value>/home/disk3/chadoop/hadoop-data</value>
    3 修改fs.default.name到NameNode所在节点地址并分配端口,可以先用
    #lsof -Pnl +M -i4 查一下那些端口已被占用
    4 修改mapred.job.tracker到JobTracker所在节点地址并分配端口
    JobTracker 和 NameNode 可以采用一个机器
    5 修改hadoop.job.ugi,设为root,root的密码,注意root的密码必须和hadoop-user-info.properties中的一样,一般设为root (

    这个不是机器的密码)
    6 修改slaves文件,该文件为所有的slave节点主机名列表,示例
    szwg-hadoop-t0047.szwg01.baidu.com
    szwg-hadoop-t0049.szwg01.baidu.com
    7 修改master文件,该文件为SecondaryNameNode的主机名,可以为本机
    /*****************************************/
    slave节点配置保存在hadoop/conf目录中
    1 先照master节点配置 2 3 4 设置
    2 修改hadoop.job.ugi,设为slave,slave的密码,slave的密码在master节点的conf/hadoop-user-info.properties中设置
    一般就是slave
    3 修改dfs.data.dir(在hadoop-datanode目录包里)和mapred.local.dir(在hadoop-tasktracker目录包里)

    注意一下: hadoop-default.xml 里面的  50010 50020端口也改一下,(不用在hadoop-default.xml 改,在hadoop-site.xml里

    覆盖就可以) 一般也被占用了
    dfs.http.address</name>   <value>0.0.0.0:8070</value>这个端口改成 800-8000之间的数
    ////////////////////////////////////////////////////////////////////////////////
    六、安装包分发
    典型地,将hadoop-namenode分发到NameNode/SecondaryNameNode的hdcf目录下,并更名为hadoop-v2,同时保证目录属主为hdcf:
    % mv hadoop-namenode hadoop-v2
    % chown -R h.....................................
      
     


  • 相关阅读:
    基于Metaweblog API 接口一键发布到国内外主流博客平台
    uva144 Student Grants
    Uva 10452
    Uva 439 Knight Moves
    Uva 352 The Seasonal War
    switch语句
    java——基础知识
    我的lua学习2
    codeforces 431 D. Random Task 组合数学
    codeforces 285 D. Permutation Sum 状压 dfs打表
  • 原文地址:https://www.cnblogs.com/chenzhihong/p/2354465.html
Copyright © 2020-2023  润新知