美文网首页
ubuntu16.04安装hadoop3.02(伪分布式)+集群

ubuntu16.04安装hadoop3.02(伪分布式)+集群

作者: id_rsa | 来源:发表于2018-11-01 21:01 被阅读0次

    单机模式 环境已经配好

    ubuntu16.04安装hadoop3.02单机模式

    配置Hadoop伪分布式环境

        cd /usr/local/hadoop/etc/hadoop/
    

    修改core-site.xml

    <configuration>
            <property>
                 <name>hadoop.tmp.dir</name>
                 <value>file:/usr/local/hadoop/tmp</value>
                 <description>Abase for other temporary directories.</description>
            </property>
            <property>
                 <name>fs.defaultFS</name>
                 <value>hdfs://localhost:9000</value>
            </property>
    </configuration>
    

    修改hdfs-site.xml

    <configuration>
            <property>
                 <name>dfs.replication</name>
                 <value>1</value>
            </property>
            <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>file:/usr/local/hadoop/tmp/dfs/name</value>
            </property>
            <property>
                 <name>dfs.datanode.data.dir</name>
                 <value>file:/usr/local/hadoop/tmp/dfs/data</value>
            </property>
    </configuration>
    

    进行NameNode格式化
    进入/usr/local/hadoop

    执行./bin/hdfs namenode -format (第一次设置的时候格式化 下次直接启动就好)

    启动NameNode 和 DataNode

    ./sbin/start-dfs.sh 
    

    输入jps,会出现如下进程

    image.png

    访问localhost:9870(hadoop3.X的webUI已经改到端口 localhost:9870上面,而不是原来的50070,网上大多数的教程都是2.X的,当然不行)

    image.png

    关闭dfs

        ./sbin/stop-dfs.sh
    

    配置Yarn

        cd /usr/local/hadoop/etc/hadoop
    

    1 配置mapred-site.xml (hadoop2.x 没有 mapred-site.xml 需要自己创建 hadoop3.x 可以直接打开 mapred-site.xml)

    配置mapred-site.xml

    mv mapred-site.xml.template mapred-site.xml   #hadoop2.x 执行此命令  hadoop3.x 不必执行
    
    <configuration>
            <property>
                 <name>mapreduce.framework.name</name>
                 <value>yarn</value>
            </property>
    </configuration>
    

    2 配置yarn-site.xml

    <configuration>
            <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
                </property>
    </configuration>
    

    3 启动Yarn

    cd /usr/local/hadoop/
    
    ./sbin/start-dfs.sh   #启动dfs
    ./sbin/start-yarn.sh
    ./sbin/mr-jobhistory-daemon.sh start historyserver 
    

    前面我已经启动过dfs了 所以。。

    image.png

    访问localhost:8088

    image.png

    关闭Yarn

    ./sbin/stop-dfs.sh
    ./sbin/stop-yarn.sh
    ./sbin/mr-jobhistory-daemon.sh stop historyserver
    
    image.png

    集群

    说明 :集群是在伪分布式是的基础上搭建的 只需要改一些配置文件 然后 把配置好的master克隆就行

    1 修改 /etc/hostname

    sudo vim /etc/hostname
    将内容修改为master/slave1/slave2

    2 修改 /etc/hosts

    image.png

    3 配置 master 节点可通过 SSH 无密码访问 slave1

    单机模式 已经配过ssh免密码登录 所以把 master 的 authorized_keys拷贝到slave1 的 ./ssh文件下即可

    ubuntu 16.04安装hadoop3.02单机模式

    image.png

    master 尝试无密码登录slave1的ssh

    image.png

    修改配置文件

    1 修改 core-site.xml

    cd /usr/local/hadoop/etc/hadoop
    
    <configuration>
            <property>
                 <name>hadoop.tmp.dir</name>
                 <value>file:/usr/local/hadoop/tmp</value>
                 <description>Abase for other temporary directories.</description>
            </property>
            <property>
                 <name>fs.defaultFS</name>
                 <value>hdfs://master:9000</value>
            </property>
    </configuration>
    
    image.png

    解释下:第一个fs.defaultFS设置master机为namenode hadoop.tmp.dir配置Hadoop的一个临时目录,用来存放每次运行的作业jpb的信息。

    2 修改 hdfs-site.xml

    <configuration>
            <property>
                 <name>dfs.replication</name>
                 <value>2</value>
            </property>
            <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>file:/usr/local/hadoop/tmp/dfs/name</value>
            </property>
            <property>
                 <name>dfs.datanode.data.dir</name>
                 <value>file:/usr/local/hadoop/tmp/dfs/data</value>
            </property>
            <property>
                <name>dfs.namenode.secondary.http-address</name>
               <value>slave1:9001</value>
          </property>
    </configuration>
    
    image.png

    dfs.namenode.name.dir是namenode存储永久性的元数据的目录列表。这个目录会创建在master机上。dfs.namenode.data.dir是datanode存放数据块的目录列表,这个目录在slave11和slave1机都会创建。 dfs.replication 设置文件副本数,这里两个datanode,所以设置副本数为2。

    配置mapred-site.xml

    <configuration>
            <property>
                 <name>mapreduce.framework.name</name>
                 <value>yarn</value>
            </property>
           <property>
                <name>mapreduce.application.classpath</name>
                <value>
      /usr/local/hadoop/etc/hadoop,
      /usr/local/hadoop/share/hadoop/common/*,
      /usr/local/hadoop/share/hadoop/common/lib/*,
      /usr/local/hadoop/share/hadoop/hdfs/*,
      /usr/local/hadoop/share/hadoop/hdfs/lib/*,
      /usr/local/hadoop/share/hadoop/mapreduce/*,
      /usr/local/hadoop/share/hadoop/mapreduce/lib/*,
      /usr/local/hadoop/share/hadoop/yarn/*,
      /usr/local/hadoop/share/hadoop/yarn/lib/*
               </value>
        </property>
    </configuration>
    
    image.png

    解释下:这里设置的是运行jobtracker的服务器主机名和端口,也就是作业将在master主机的9001端口执行

    配置yarn-site.xml

    <configuration>
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
            <value>master:8025</value>
        </property>
        <property>
            <name>yarn.resourcemanager.scheduler.address</name>
            <value>master:8030</value>
        </property>
        <property>
            <name>yarn.resourcemanager.address</name>
            <value>master:8040</value>
        </property>
    </configuration>
    
    image.png

    从master机器启动hadoop集群服务

    进入/usr/local/hadoop
    
    执行./bin/hdfs namenode -format 进行格式化操作

    启动 ./sbin/start-all.sh

    image.png

    slave1 jps查看

    image.png

    浏览器打开master:9870

    image.png

    浏览器打开master:8088

    image.png

    master关闭集群服务

    image.png

    参考

    Hadoop3.0.0在Ubuntu16.04上分布式部署
    ubuntu16.04搭建hadoop集群环境
    hadoop分布式集群安装

    相关文章

      网友评论

          本文标题:ubuntu16.04安装hadoop3.02(伪分布式)+集群

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