当前位置: 首页 > news >正文

hadoop-hdfs文件系统的安装与部署

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

   根据HDFS文件系统的架构原理,集群中是主从关系。一个主节点master 存储所有节点的命名空间,其他的从节点保存数据结点,详细的架构原理这里都不多介绍了,主要介绍一下HDFS文件系统的实际安装部署。

  1. 准备结点服务器
    能很好的演示HDFS的部署,这里准备了三台服务器如下:
    192.168.0.113 做master
    192.168.0.115 做salve1
    192.168.0.114 做salve2
    对这三台主机的IP地址都要在/etc/hosts中做解析:
    [root@namenode bin]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.18.0.172 namenode
    172.18.0.173 datanode1
    172.18.0.174 datanode2
    192.168.0.113 namenode
    192.168.0.115 datanode1
    192.168.0.114 datanode2
    
    [root@datanode2 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.18.0.172 namenode
    172.18.0.173 datanode1
    172.18.0.174 datanode2
    192.168.0.113 namenode
    192.168.0.115 datanode1
    192.168.0.114 datanode2
    
    [root@datanode1 ~]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    172.18.0.172 namenode
    172.18.0.173 datanode1
    172.18.0.174 datanode2
    192.168.0.113 namenode
    192.168.0.115 datanode1
    192.168.0.114 datanode2
    

    同时还需要在每一个结点上安装好JDK,版本最好是最新的
    [root@namenode bin]# yum install java-1.8.0-openjdk.x86_64 -y 

    安装完成之后检查一下java

    [root@namenode bin]# which java
    /usr/bin/java
    # jdk安装成功
    设置主结点到其他从结点的免密码登陆
    [root@namenode soft]# ssh-keygen
    # 直接敲上面命令生成公钥和私钥,然后把公钥发送到其他从服务器结点上
    [root@namenode soft]# ll ~/.ssh/
    total 12
    -rw-------. 1 root root 1679 May 18 18:31 id_rsa
    -rw-r--r--. 1 root root  395 May 18 18:31 id_rsa.pub
    -rw-r--r--. 1 root root 1598 May 18 23:19 known_hosts
    # 这里生成的id_rsa及时私钥,id_rsa.pub就是公钥
    [root@namenode soft]# ssh-copy-id ~/.ssh/id_rsa.pub datanode1
    # 将公钥拷贝到数据结点1
    [root@namenode soft]# ssh-copy-id ~/.ssh/id_rsa.pub datanode2
    # 将公钥拷贝到数据结点1
    
    [root@namenode soft]# ssh datanode1
    Last login: Thu May 18 23:19:39 2017 from namenode
    [root@datanode1 ~]# 
    # 然后登陆就可以免密码了。

    1. 准备软件hadoop-1.2.1.tar.gz
      下载好软件解压到/root目录下,并配置
      [root@datanode1 ~]# ll
      total 40
      -rw-------.  1 root root  1286 May 18 15:05 anaconda-ks.cfg
      drwxr-xr-x. 16 root root  4096 May 18 19:47 hadoop-1.2.1
      -rw-r--r--.  1 root root 19248 May 18 15:05 install.log
      -rw-r--r--.  1 root root  4178 May 18 15:02 install.log.syslog
      # 解压好生成了hadoop-1.2.1目录
      进入hadoop-1.2.1 后配置文件./conf/core-site.xml
      [root@datanode1 hadoop-1.2.1]# cat ./conf/core-site.xml 
      <?xml version="1.0"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      
      <!-- Put site-specific property overrides in this file. -->
      
      <configuration>
           <property>
             <name>fs.default.name</name> # namenode节点名
            <value>hdfs://namenode:9000</value> #namenode域名(或IP)和端口
           </property>
           <property>
            <name>hadoop.tmp.dir</name> #文件储存目录
             <value>/data/htfs</value> #fs的放置位置
           </property>
      </configuration>
      
      再配置文件./conf/hdfs-site.xml
      [root@datanode1 hadoop-1.2.1]# cat ./conf/hdfs-site.xml 
      <?xml version="1.0"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      
      <!-- Put site-specific property overrides in this file. -->
      
      <configuration>
          <name>dfs.replication</name> #block的副本数,不能超过datanode的数目
          <value>2</value>             # 这里有多少个数据结点就配几
      </configuration>
      

      再配置文件./conf/slaves
      [root@datanode1 hadoop-1.2.1]# cat ./conf/slaves 
      datanode1
      datanode2
      # 把所有的数据结点都写上
      再配置文件./conf/masers
      [root@datanode1 hadoop-1.2.1]# cat ./conf/masters 
      datanode1
      # 写上主结点,也就是命名空间结点
      最后配置好环境变量./conf/hadoop-env.sh
      [root@datanode1 hadoop-1.2.1]# cat ./conf/hadoop-env.sh |grep JAVA_HOME
      # The only required environment variable is JAVA_HOME.  All others are
      # set JAVA_HOME in this file, so that it is correctly defined on
      # export JAVA_HOME=/usr/lib/j2sdk1.5-sun
      export JAVA_HOME=/usr
      
      注意:所有的结点上都这么配
    2. 格式化,启动并测试
      格式化:
      /root/hadoop-1.2.1/bin/hadoop namenode -format #进行格式化,创建dfs
      /root/hadoop-1.2.1/bin/start-dfs.sh #启动dfs服务
      然后可以在各个结点上检查java进程
      通过浏览器访问:

       

转载于:https://my.oschina.net/wangzilong/blog/904024

相关文章:

  • 第四篇:数据预处理(一) - 缺失值处理
  • HDU 2586 How far away ?(LCA模板 近期公共祖先啊)
  • Mocha BSM产品亮点——报告管理
  • Spring-data-jpa详解,全方位介绍。
  • 互联网DNS存在重大漏洞 黑客可能控制网络流量
  • 基于 POI 封装 ExcelUtil 精简的 Excel 导入导出
  • 发布Web服务器上的虚拟主机:ISA2006系列之十一
  • NFS部署及优化(二)
  • java枚举与.net中的枚举区别
  • 在Hibernate中配置多对多连接表
  • ionic2 自定义cordova插件开发以及使用 (Android)
  • 语录十八
  • 什么样的_BUG_会让你目瞪口呆?
  • C#编程利器之二:结构与枚举(Structure and enumeration)
  • 基础搜索算法的常见题型
  • Brief introduction of how to 'Call, Apply and Bind'
  • canvas 绘制双线技巧
  • CSS相对定位
  • maven工程打包jar以及java jar命令的classpath使用
  • mongo索引构建
  • nodejs调试方法
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Python - 闭包Closure
  • 不上全站https的网站你们就等着被恶心死吧
  • 复习Javascript专题(四):js中的深浅拷贝
  • 观察者模式实现非直接耦合
  • 聊聊redis的数据结构的应用
  • 前端面试之闭包
  • 推荐一个React的管理后台框架
  • 我看到的前端
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • ​业务双活的数据切换思路设计(下)
  • #HarmonyOS:基础语法
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • $NOIp2018$劝退记
  • (06)金属布线——为半导体注入生命的连接
  • (Ruby)Ubuntu12.04安装Rails环境
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (论文阅读11/100)Fast R-CNN
  • (三)Honghu Cloud云架构一定时调度平台
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)大道至简,职场上做人做事做管理
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .NET Core 版本不支持的问题
  • .net core 连接数据库,通过数据库生成Modell
  • .net/c# memcached 获取所有缓存键(keys)
  • .NET开源项目介绍及资源推荐:数据持久层
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @Async注解的坑,小心