zoukankan      html  css  js  c++  java
  • Hadoop 1、在虚拟机上进行 HDFS 安装

    一、准备条件

    1.四台Linux虚拟机(1台NameNode节点,1台Secondary节点(Secondary和其中1台DataNode共用),外加2台DataNode)

    2.下载Hadoop版本,本例使用Hadoop-2.5.2版本

    二、安装Java  JDK 

    最好安装,JDK 1.7 因为JDK 1.7的兼容性最好

    #安装JDK
    rpm -ivh jdk-7u79-linux-x64.rpm
    
    #配置环境变量
    vi /root/.bash_profile
    
    
    JAVA_HOME=/usr/java/jdk1.7.0_79
    PATH=$PATH:$JAVA_HOME/bin
    export HADOOP_HOME=/usr/local/hadoop-2.5.1
    PATH=$PATH:$HADOOP_HOME/bin
    #HADOOP_HOME 是后面要用到的,为了方便提前写进来

    配置完成以后,通过  java -version可以查看是否安装成功

    三、配置hosts文件

    vi /etc/hosts
    #在该文件中建入
    192.168.171.15 node5
    192.168.171.16 node6
    192.168.171.17 node7
    192.168.171.18 node8

    四、安装SSH 设置免密码登录

    #创建密钥(一定要在NameNode节点上):
    ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    #将密钥添加到公钥:
    cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

     然后将公钥添加到其他节点的authorized_keys上:

    $ scp ~/.ssh/id_dsa.pub root@node6:/opt
    $ scp ~/.ssh/id_dsa.pub root@node7:/opt
    $ scp ~/.ssh/id_dsa.pub root@node8:/opt
    #然后分别登录这三台虚拟机,将公钥覆盖到公钥中
    $ cat /opt/id_dsa.pub >> ~/.ssh/authorized_keys

    如果在进行上述操作的时候报:

    -bash: /root/.ssh/authorized_keys: No such file or directory的错误,则需要先在该节点上创建一下本地公钥,然后再把主节点上的公钥添加到该节点上,具体操作看上方NameNode操作;

    配置完成以后使用nameNode 分别:ssh node6 ; ssh node7  ssh node8 ;如果在登录的时候没有显示要输入密码则说明成功了;(在ssh 登录一个节点以后,需要先退出然后才能再登录,使用exit退出);

    五、安装Hadoop 

    1.解压hadoop-2.5.1 并移动到/usr/local/hadoop-2.5.1

    $ tar -zxvf hadoop-2.5.1.tar.gz
    $ mv hadoop-2.5.1 /usr/local

    2.配置Hadoop配置文件

    $ cd /usr/local/hadoop-2.5.1/etc/hadoop/
    $ vim hadoop-env.sh
     #写入
       export JAVA_HOME=/usr/java/latest
    
    $ vim etc/hadoop/core-site.xml
    #写入,配置NameNode的读写入口点和目录
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://node5:9000</value>
        </property>
      <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/hadoop</value>
        </property>
    </configuration>
    
    $ vim etc/hadoop/hdfs-site.xml
    #写入,配置Secondry
    <configuration>
       <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>node6:50090</value>
        </property>
        <property>
            <name>dfs.namenode.secondary.https-address</name>
            <value>node6:50091</value>
        </property>
    </configuration>

    配置DataNode节点:

    $ vim etc/hadoop/slaves
    #写入 配置dataNode
    node6
    node7
    node8
    
    $ vim etc/hadoop/masters
    #写入,配置HDFS的secondry节点
    node6

    配置完成后将所有的配置文件在其他节点上覆盖一下:

    scp -r hadoop/ root@node8:/usr/local/hadoop-2.5.1/etc/hadoop/
    scp -r hadoop/ root@node6:/usr/local/hadoop-2.5.1/etc/hadoop/
    scp -r hadoop/ root@node7:/usr/local/hadoop-2.5.1/etc/hadoop/

    关闭防火墙,并同步时间:

    $ service iptables stop
    $ ntpdate s2c.time.edu.cn

    3.格式化并初始化

    $ bin/hdfs namenode -format

    4.启动并访问

    $ sbin/start-dfs.sh
    #这是关闭命令
    $ sbin/stop-dfs.sh

    访问 nodeName:http://node5:50070/    http://node6:50070/ 如果能看到以下界面就说明成功了:

    七、在HDFS上 创建上传文件

    $ hdfs dfsadmin #查看帮助
    $ hdfs dfs -mkdir /test   #创建HDFS的根目录
    $ hdfs dfs -ls /  #查看hdfs的目录
    $ hdfs dfs -put /root/**  /test/  #上传文件到hdfs
    $ hdfs dfs chmod  -777 /test  #放开hdfs的权限
    $ hdfs dfs -help ls #查看命令帮助
  • 相关阅读:
    Keepalived安装使用详解
    Django缓存使用方法
    Django常用命令及参数配置(Django 1.8.6)
    Python之Rpyc模块
    Hadoop:实战Web日志分析
    Hadoop:使用Mrjob框架编写MapReduce
    Hadoop:使用原生python编写MapReduce
    Hadoop安装
    LGOJP1850 换教室
    BZOJ4318: OSU!
  • 原文地址:https://www.cnblogs.com/raphael5200/p/5152004.html
Copyright © 2011-2022 走看看