zoukankan      html  css  js  c++  java
  • hadoop集群配置

    先决条件:必须保证集群的及其在同一个IP 段,否则无法创建集群

    准备

    0.以下将以node1、node2两台服务器为例搭建一个集群,以node1为主节点,将namenode等安装在node1上,datanode安装在node1、node2

    1.安装java,设置JAVA_HOME

    sudo apt-get install sun-java6-jdk1.2.3

    2.设置ssh,保证主节点可以不要密码登录其他节点

    sudo apt-get install ssh 

    在主节点生成密钥队,并将公钥复制到其他节点

    ssh-keygen -t rsa
    scp ~/.ssh/id_rsa.pub node2:~/.ssh

    在各节点节点上执行(包括node1)

    cd ~/.ssh; cat id_rsa.pub >> authorized_keys

    然后ssh登录各节点测试,保证无需密码即可登录

    安装hadoop

    1.安装hadoop 

    wget http://apache.mirrors.tds.net/hadoop/common/stable/hadoop-2.5.1.tar.gz
    tar -xzf hadoop-2.5.1.tar.gz

    2.配置,在主节点修改以下配置,并拷贝到其他节点

    namenode配置  conf/masters/core-site.xml

    将node1设置为namenode节点

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl"href="configuration.xsl"?>
    <configuration>
    <property>
     <name>fs.default.name</name>
      <value>hdfs://node1:49000</value>
    </property>
    <property>
      <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/hadoop_home/var</value>
    </property>
    </configuration>

    hdfs配置  conf/masters/hdfs-site.xml

    <?xmlversion="1.0"?>
    <?xml-stylesheettype="text/xsl" href="configuration.xsl"?>
    <configuration>
    <property>
    <name>dfs.name.dir</name>
    <value>/home/hadoop/name1, /home/hadoop/name2</value> #hadoop的name目录路径
    <description>  </description>
    </property>
    <property>
    <name>dfs.data.dir</name>
    <value>/home/hadoop/data1, /home/hadoop/data2</value>
    <description> </description>
    </property>
    <property>
      <name>dfs.replication</name>
      <!-- 不能多于节点数量-->
      <value>2</vaue>
    </property>
    </configuration>

    master节点配置,将node1配置为master,conf/masters/masters

    node1

    slave节点配置,将node1、node2配置为slave,conf/masters/slaves

    node1
    node2

    3 启动服务

    NameNode上格式化一个文件系统

    ./bin/hadoop namenode -format

    启动所有节点

    ./sbin/start_all.sh

    也可以使用./sbin/start_hdfs.sh 单独启动hdfs

    使用./sbin/stop_all.sh 关闭所有节点

    4.查看服务运行情况

    可以在http://node1:50070 查看运行情况

    使用以下命令在文件系统中创建文件

    ./bin/hdfs dfs -ls /   #列出根目录下的文件
    ./bin/hdfs dfs -mkdir /user   #创建/user
    ./bin/hdfs dfs -mkdir /user/hadoop   #创建hadoop用户的home目录
    ./bin/hdfs dfs -ls   #列出home目录下的文件
    ./bin/hdfs dfs -put test   #将test文件放入home目录下 将本地文件./test 放入hdfs  ~/目录
    ./bin/hdfs dfs -cat test    #查看/user/hadoop/test

    5.添加节点

    在新节点上安装hadoop后,在namenode上将新节点地址加入到slaves配置中,并将namenode上的配置文件拷贝一份到新节点,然后在namenode上使用start-all.sh启动服务

    HDFS常用操作

    hadoop dfs -ls 列出HDFS下的文件
    hadoop dfs -ls in
    列出HDFS下某个文档中的文件
    hadoop dfs -put test1.txt test
    上传文件到指定目录并且重新命名,只有所有的DataNode都接收完数据才算成功
    hadoop dfs -get in getin
    HDFS获取文件并且重新命名为getin,同put一样可操作文件也可操作目录
    hadoop dfs -rmr out
    删除指定文件从HDFS
    hadoop dfs -cat in/*
    查看HDFSin目录的内容
    hadoop dfsadmin -report
    查看HDFS的基本统计信息,结果如下
    hadoop dfsadmin -safemode leave
    退出安全模式
    hadoop dfsadmin -safemode enter
    进入安全模式

    超时时间配置

    某节点down之后,集群系统需要在一定时间内确认该节点失效,可以在hdfs_site.xml中配置

    <!-- 超时检测 timeout = interval (ms) * 2 + 10 * interval.heartbeat (s) -->

    <property>

    <name>heartbeat.recheck.interval</name>

    <value>5000</value>

    </property>

    <property>

    <name>dfs.heartbeat.interval</name>

    <value>3</value>

    </property>

  • 相关阅读:
    EMIF接口的寻址问题
    C6000系类的内联函数
    C6000代码层面优化(一)
    RHCE学习笔记
    找出并关闭Ruby On Rails进程.
    Rails4添加bootstrap支持
    如何删除gnome3面板上的图标?
    出现 ruby cannot load such file -- zlib 问题的解决方法
    Debian安装软件时提示插入光盘
    Debian7桌面屏蔽图标和右键菜单的解决方法。
  • 原文地址:https://www.cnblogs.com/stormli/p/hadoop.html
Copyright © 2011-2022 走看看