zoukankan      html  css  js  c++  java
  • Hadoop——环境搭建

    序言

    Centos7环境设置

    1: 静态ip的设置

    2:主机名的设置

      vim /etc/sysconfig/network # 编辑network文件修改hostname行(重启生效)

      HOSTANME=node1

      或者通过命令

      hostnamectl --static set-hostname node1

    3:hosts文件的修改(ip和主机名的映射关系)

      127.0.0.1 localhost node1 localhost4 localhost4.localdomain4

      ::1 localhost node1 localhost6 localhost6.localdomain6

      192.168.22.129 node1

    4:关闭防火墙——必须

    • firewall-cmd --state  #查看防火墙
    • systemctl status firewalld #查看防火墙
    • systemctl stop firewalld #临时关闭防火墙
    • systemctl start firewalld #临时打开防火墙
    • systemctl disable firewalld #开机禁止启动防火墙
    • systemctl enable firewalld #开机启动防火墙

    5:ssh免密码登录——必须

      执行产生密钥命令:ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

      执行产生命令:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

      验证:ssh localhost

    6:JDK的安装(jdk1.8) ——必须

    本地模式安装

    Hadoop本地模式只是用于本地开发调试,或者快速安装体验Hadoop,这部分做简单的介绍。

    注意:本地模式不能hdfs,只能测试mapreduce。

    1.拷贝hadoop

    将hadoop-2.10.0.tar.gz拷贝并解压到/usr/local/hadoop目录

    tar zxvf hadoop-2.10.0.tar.gz

    2.配置hadoop环境变量

    打开/etc/profile文件,配置hadoop环境变量 。

    文件结尾新增以下配置

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

    #保存文件后执行以下命令刷新配置
    source /etc/profile

    3.修改配置文件hadoop-env.sh

    vi hadoop-env.sh
    export JAVA_HOME=/usr/local/java/jdk1.8.0_241

    4.执行wordcount demo

    建立测试输入文件/usr/local/hadoop/input/data1.txt

    建立结果输出位置:/usr/local/hadoop/output

    执行命令

    hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.0.jar wordcount  /usr/local/hadoop/input/data1.txt /usr/local/hadoop/output/wordcountresult

    查看结果

    cat /usr/local/hadoop/output/wordcountresult/part-r-00000

    伪分布式

    分别修改四个配置文件

    hadoop-env.sh

    export JAVA_HOME=/usr/local/java/jdk1.8.0_241

    core-site.xml

    <configuration>
        <!-- 制定HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:9000</value>
        </property>
        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/usr/local/hadoop/tmp</value>
        </property>
    </configuration>
    View Code

    hdfs-site.xml

    <configuration>
        <!-- 指定HDFS保存数据副本的数量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    View Code

    mapred-site.xml

    <configuration>
        <!-- 指定mr运行在yarn上 -->
        <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
        </property>
    </configuration>
    View Code

    注意如果没有mapred-site.xml而只有mapred-site.xml.template,要#cp mapred-site.xml.template mapred-site.xml(复制一份该模板mapred-site.xml.template更名为mapred-site.xml)

    yarn-site.xml

    <configuration>
    <!-- Site specific YARN configuration properties -->
            <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>192.168.229.133</value>   <!--填写自定义的主机名/ip-->
            </property>
            <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
            </property>
            <property>
                    <name>yarn.resourcemanager.address</name>
                    <value>0.0.0.0:8032</value>
             </property>
             <property>
                    <name>yarn.resourcemanager.scheduler.address</name>
                    <value>0.0.0.0:8030</value>
             </property>
             <property>
                    <name>yarn.resourcemanager.resource-tracker.address</name>
                    <value>0.0.0.0:8031</value>
             </property>
             <property>
                    <name>yarn.resourcemanager.admin.address</name>
                    <value>0.0.0.0:8033</value>
             </property>
             <property>
                    <name>yarn.resourcemanager.webapp.address</name>
                    <value>0.0.0.0:8088</value>
             </property>
    </configuration>
    View Code

    启动

    hdfs namenode -format

    start-dfs.sh

    start-yarn.sh

    start-all.sh

    HDFS管理界面

    http://localhost:50070/

    http://192.168.229.133:50070

    yarn MR管理界面

    start-yarn.sh

    stop-yarn.sh

    http://localhost:8088

    http://192.168.229.133:8088/

     

    测试

    HDFS简单测试

    上传一个文件至HDFS : hadoop fs -put xxxx.tar.gz hdfs://192.168.229.133:9000/

    从HDFS下载一个文件 : hadoop fs -get hdfs://192.168.229.133:9000/xxxx.tar.gz

    MapReduce简单测试

    这里直接运行一个hadoop自带的求圆周率的example:

    cd /usr/local/hadoop/share/hadoop/mapreduce

    hadoop jar hadoop-mapreduce-examples-2.10.0.jar pi 5 5

    分布式集群模式

    Win10安装(生产环境不推荐)

    Hadoop官网下载地址

    Hadoop历史版本

    清华大学镜像

    winutils

    资料

    https://www.cnblogs.com/qingyunzong/category/1169344.html

    https://www.cnblogs.com/edisonchou/category/542546.html

    hadoop.apache.org

    hadoop3.0搭建本地模式和伪分布模式

    http://stop-yarn.sh/

  • 相关阅读:
    hihocoder #1467 : 2-SAT·hihoCoder音乐节 2-SAT
    hihoCoder#1185 : 连通性·三 tarjan求强联通分量 缩点 dfs/拓扑排序求路径和最大值
    hihoCoder1175 拓扑排序·二 拓扑排序
    012 列表的一些常用操作符
    011,列表2
    010 列表1
    009,分支和循环3
    008,分支和循环2
    006 Python的操作符
    005 Python的数值类型
  • 原文地址:https://www.cnblogs.com/cnki/p/12354611.html
Copyright © 2011-2022 走看看