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

   根据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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值