一、安装要求

  安装JDK
    yum -y install jdk(或手动安装)
  设置namenode节点到datanode节点的免密码登陆
    a. 本地免密码登录
      # ssh localhost #检测能否在本机上实现免密码登陆
      # ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa #创建登陆的公钥和私钥,公钥放在id_dsa.pub中,私钥放在id_dsa中
      # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #将公钥追加到已认证信息中
      # ssh localhost #实现免密码登陆
    b. 跨主机免密码登陆
      # scp ~/.ssh/id_dsa.pub root@node2:~/.ssh/ #在namenode上执行
      # cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys #将公钥追加到已认证信息中,在datanode上执行该操作
    c. 对所有的datanode执行上述操作
  设置域名解析(在所有的节点增加)
    # vi /etc/hosts # 增加节点对应节点,如果不加入节点则在配置文件中需要直接写节点的IP
      192.168.150.128 node1
      192.168.150.129 node2
      192.168.150.130 node3
      192.168.150.131 node4
    

二、安装

  由于hadoop有bin包,所以hadoop下载后只需要解压即可使用。
  版本hadoop-1.2.1
  namenode和datanode上软件包的放置位置要完全相同,否则在集群启动服务的时候会出现找不到文件的情况。
  在软件解压到/root/hadoop-1.2.1文件夹

三、配置  

核心模块的配置
  #vi /root/hadoop-1.2.1/conf/core-site.xml
    <configuration>
     <property>

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

      <value>hdfs://node1:9000</value> #namenode域名(或IP)和端口

     </property>

     <property>

      <name>hadoop.tmp.dir</name> #文件储存目录

       <value>/opt/hadoop-1.2</value> #fs的放置位置

     </property>

    </configuration>

    其它具体配置可以查看./hadoop-1.2.1/docs的文档。

  #vi /root/hadoop-1.2.1/conf/hdfs-site.xml
    <configuration>

     <name>dfs.replication</name> #block的副本数,不能超过datanode的数目

    <value>2</value>

    </configuration>

  #vi /root/hadoop-1.2.1/conf/slaves #该文件设置datanode节点的域名(IP)

    node2

    node3

  #vi /root/hadoop-1.2.1/conf/masters #该文件设置secondarynamenode节点的域名(IP)

    node2 # 只要跟namenode不在同一台机器上即可
  
  #vi /root/hadoop-1.2.1/conf/hadoop-env.sh #设置运行环境

    export JAVA_HOME=/usr/java/jdk1.7.0_79 # 只要设置jdk的目录即可

  在所有的节点上进行上述的相同配置。

四、测试

  # /root/hadoop-1.2.1/bin/hadoop namenode -format #进行格式化,创建dfs
  # /root/hadoop-1.2.1/bin/start-dfs.sh #启动dfs服务

  # jps #查看启动的java进程(namenode上)
   
  # jps #查看启动的java进程(datanode上)
   
  在浏览器上输入namenode的IP和端口,即可进入文件系统
   http://192.168.150.128:50070
   注意:如果要进入子目录,那么要在windows上hosts文件也设置同样的域名解析,否则浏览器会提示错误,因为没有对应的ip时浏览器会访问外网。
  文件传输和执行java程序
    # /root/hadoop-1.2.1/bin/hadoop -fs -put file input #将file文件传输到文件系统的root用户下的input目录
    # /root/hadoop-1.2.1/bin/hadoop jar hadoop-examples-*.jar grep input output 'dfs[a-z.]+' # 执行jar程序
    
    # /root/hadoop-1.2.1/bin/hadoop fs -get output output 获取并在本地文件系统中显示数据
    # cat output/*
    或 #/root/hadoop-1.2.1/bin/hadoop fs -cat output/*
  关闭进程
    # /root/hadoop-1.2.1/bin/stop-dfs.sh

五、总结  

  虽然说hdfs是文件系统,但本质上并没有格式化本机上的硬盘,所以其实只是硬盘上的一种特殊的文件储存格式,并且必须通过IP:PORT进行访问。实质上在配置并启动了集群之后,集群之间便会进行网络通信,并通过namenode的IP和指定端口(50070)对外提供访问。

  

Hadoop-hdfs安装与配置的更多相关文章

  1. ubuntu在虚拟机下的安装 ~~~ Hadoop的安装及配置 ~~~ Hdfs中eclipse的安装

     前言 Hadoop是基于Java语言开发的,具有很好跨平台的特性.Hadoop的所要求系统环境适用于Windows,Linux,Mac系统,我们推荐选择使用Linux或Mac系统.而Linux系统则 ...

  2. hadoop的安装和配置(三)完全分布式模式

    博主会用三篇文章为大家详细说明hadoop的三种模式: 本地模式 伪分布模式 完全分布模式 完全分布式模式: 前面已经说了本地模式和伪分布模式,这两种在hadoop的应用中并不用于实际,因为几乎没人会 ...

  3. hadoop的安装和配置(二)伪分布模式

    博主会用三篇文章为大家详细的说明hadoop的三种模式: 本地模式 伪分布模式 完全分布模式 伪分布式模式: 这篇为大家带来hadoop的伪分布模式: 从最简单的方面来说,伪分布模式就是在本地模式上修 ...

  4. Ubuntu下伪分布式模式Hadoop的安装及配置

    1.Hadoop运行模式Hadoop有三种运行模式,分别如下:单机(非分布式)模式伪分布式(用不同进程模仿分布式运行中的各类节点)模式完全分布式模式注:前两种可以在单机运行,最后一种用于真实的集群环境 ...

  5. Linux中Hadoop的安装与配置

    一.准备 1,配通网络 ping www.baidu.com 之前安装虚拟机时配过 2,关闭防火墙 systemctl stop firewalld systemctl disable firewal ...

  6. Hadoop(2)-CentOS下的jdk和hadoop的安装与配置

    准备工作 下载jdk8和hadoop2.7.2 使用sftp的方式传到hadoop100上的/opt/software目录中 配置环境 如果安装虚拟机时选择了open java,请先卸载 rpm -q ...

  7. 从零开始搭建系统2.8——HDFS安装及配置

    从零开始搭建系统2.8——HDFS安装及配置

  8. Hadoop HDFS安装、环境配置

    hadoop安装 进入Xftp将hadoop-2.7.3.tar.gz 复制到自己的虚拟机系统下的放软件的地方,我的是/soft/software 在虚拟机系统装软件文件里,进行解压缩并重命名 进入p ...

  9. Hadoop 的安装及配置

    Linux RedHat--CentOs     CentOs 6.4 Debian--Ubuntu   VMware 虚拟机 关于虚拟机实现上网的解决办法         NAT: 网络地址转换 当 ...

  10. Ubuntu16.04 下 hadoop的安装与配置(伪分布式环境)

    一.准备 1.1创建hadoop用户 $ sudo useradd -m hadoop -s /bin/bash #创建hadoop用户,并使用/bin/bash作为shell $ sudo pass ...

随机推荐

  1. SHIWEITI

    //Wannafly挑战赛19(牛客网) //A 队列Q #include <iostream> #include <cstdio> #include <cstring& ...

  2. HashMap的实现原理和底层数据结构

    看了下Java里面有HashMap.Hashtable.HashSet三种hash集合的实现源码,这里总结下,理解错误的地方还望指正 HashMap和Hashtable的区别 HashSet和Hash ...

  3. POJ 2311 Cutting Game(SG函数)

    Cutting Game Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4806   Accepted: 1760 Desc ...

  4. datagrid的增加功能的实现

    一.增加 1.行编辑状态所需的条件 (1)在columns中添加editor,注意type的设置 (2)调用beginEdit方法,开启行编辑 添加到第一行: 添加到最后一行: (2)如果有一行开启了 ...

  5. IOS开发---菜鸟学习之路--(九)-利用PullingRefreshTableView实现下拉刷新

    本章主要讲解如何利用PullingRefreshTableView实现下拉(上拉)刷新的操作 PullingRefreshTableView 实现上下拉刷新的例子百度有很多,大家可以自己搜索下,先看下 ...

  6. 【N-Quens II】cpp

    题目: Follow up for N-Queens problem. Now, instead outputting board configurations, return the total n ...

  7. 第九届极客大挑战 部分WP

    CODE 和0xpoker分0day 百度 取石子游戏. https://blog.csdn.net/qq_33765907/article/details/51174524 已经说得很详细了,慢慢来 ...

  8. 用python介绍4种常用的单链表翻转的方法

    这里给出了4种4种常用的单链表翻转的方法,分别是: 开辟辅助数组,新建表头反转,就地反转,递归反转 # -*- coding: utf-8 -*- ''' 链表逆序 ''' class ListNod ...

  9. TOJ 3750: 二分查找

    3750: 二分查找   Time Limit(Common/Java):3000MS/9000MS     Memory Limit:65536KByteTotal Submit: 1925     ...

  10. 【转】behave行为树学习使用第一天

    最近在学习使用行为树做AI,决定把学到的贡献出来,抛砖引玉,希望可以认识到更多大牛 -- 首先我们了解下什么是行为树和为什么要使用行为树.   在我们项目中如果需要做一个AI敌人,比如做一个手游 某民 ...