美文网首页大数据云计算
在Ubuntu下配置伪分布模式

在Ubuntu下配置伪分布模式

作者: dravenxiaokai | 来源:发表于2017-10-02 21:38 被阅读0次

    我们知道 Hadoop 是处理还量数据的

    1. 存储

    分布式文件系统 HDFS:Hadoop distributed file system

    2. 运算

    MapReduce,map() + reduce

    独立模式
    • 独立模式没有守护程序运行,当我们在安装Hadoop后,它就已经是独立模式了
    • jps,查看当前运行的 java 进程,Hadoop 是由 java 语言编写,所有程序运行在一个 JVM 中,适合在开发期间运行 MapReduce 程序,源于他的易于测试和调试。
    • hadoop fs -ls /,Hadoop 文件系统中查看根目录下,实际上就是本地的根目录。
      独立模式
    伪分布式模式
    • 修改配置文件,进入到Hadoop安装目录的配置目录下/usr/soft/hadoop-2.8.1/etc,拷贝一份命名为 hadoop_pseudo 如图:
      hadoop_pseudo
    • core-site.xml
      <?xml version="1.0" encoding="UTF-8"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      <configuration>
      <property>
      <name>fs.defaultFS</name>
      <value>hdfs://localhost/</value>
      </property>
      </configuration>
    • hdfs-site.xml
      <?xml version="1.0" encoding="UTF-8"?>
      <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
      <configuration>
      <property>
      <name>dfs.replication</name>
      <value>1</value>
      </property>
      </configuration>
    • yarn-site.xml
      <?xml version="1.0"?>
      <configuration>
      <property>
      <name>yarn.resourcemanager.hostname</name>
      <value>localhost</value>
      </property>
      <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
      </property>
      </configuration>
    • maprd-site.xml(没有提供可以新建一个)
      <configuration>
      <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
      </property>
      </configuration>
    # 上述为最简单配置,每次重启机器后hdfs中的文件都会清空,添加配置
    # core-site.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://s0/</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/ubuntu/filesystem/tmp</value>
            <description> temporary directories.</description>
        </property>
        <property>
            <name>dfs.name.dir</name>
            <value>/home/ubuntu/filesystem/name</value>
            <description>where on the local filesystem the DFS name node should store the name table</description>
        </property>
        <property>
            <name>dfs.data.dir</name>
            <value>/home/ubuntu/filesystem/data</value>
            <description>where on the local filesystem an DFS data node should store its blocks.</description>
        </property>
    </configuration>
    

    Hadoop 实际上并没有区分伪分布式和完全分布式模式,它只是在这一系列集群主机之上启动守护进程,每个主机之间通过 SSH 通信,并且启动守护进程

    ssh

    SSH 登录远程主机,无口令提示

    上图是 Ubuntu 安装完自带的 ssh 它没有服务器版是不行的,需要安装

    ps -Af|grep sshd #检查是否启动了sshd进程

    sudo apt-get install ssh

    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

    生成 ssh 密钥
    将公钥的内容重定向到 authorized_keys
    • cat id_rsa.pub >> authorized_keys

    这时候连 ssh localhost,会警告 localhost 已经呗永久的添加到识别的主机,如图:

    ssh localhost.png
    • 输入 exit 退出,后面再连接则不需要密码,(如果是centos系统,可能还会需要密码,修改authorized_keys权限为644即可),如图:
    exit
    • 这时候查看 .ssh 目录会发现多了一个 known_hosts 文件
    known_hosts
    • 这时候再输入 ssh localhost 连接,就不会再提示要输入密码了。如图:
    ssh localhost
    格式化名称节点
    • hadoop namenode -format,如下图所示格式化完成:
    格式化名称节点
    启动守护进程
    • start-dfs.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo
    启动 dfs

    start-yarn.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo

    启动 yarn
    通过 jps 查看守护进程:
    jps
    hdfs dfs -lsr /  #查看分布式文件系统
    hdfs dfs -mkdir -p  /user/ubuntu/hadoop  #创建目录
    hdfs dfs -ls /  #查看根目录下文件及目录
    hdfs dfs -ls -R /  #递归查看根目录下文件及目录
    
    也可以通过 webui查看
    # hadoop的端口
    50070  //namenode http port
    50075  //datanode http port
    50090  //2namenode http port
    
    8020  //namenode rpc port
    50010  //datanode rpc port
    
    • http:localhost:50070
    50070
    • http://localhost:8088
    8088
    停止守护进程
    • stop-yarn.sh 停止节点管理器

    • stop-dfs.sh 停止dfs

    stop
    • 也可以通过一个命令,start-all.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo
    start-all.sh
    • 然后导出环境变量 export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop_pseudo,如图:
    导出环境变量
    • 用 Hadoop 文件系统创建 /user 目录
    创建 /user
    • 完全分布式模式

    完全分布模式和伪分布模式是没有区分的,区别就是为分布式只有一个节点,主要相对于独立模式有守护进程

    # hadoop四大模块
    common
    hdfs  //namenode + datanode + secondarynamenode
    mapred
    yarn  //resourcemanager + nodemanager
    
    # 启动脚本
    1.start-all.sh  //启动所有进程
    2.stop-all.sh  //停止所有进程
    
    3.start-dfs.sh
      NN
      DN
      2NN
    4.start-yarn.sh
      RM
      NM
    

    想要查看更多文章,敬请关注 dravenxiaokai 的简书

    相关文章

      网友评论

        本文标题:在Ubuntu下配置伪分布模式

        本文链接:https://www.haomeiwen.com/subject/mamnextx.html