zoukankan      html  css  js  c++  java
  • Hadoop2.x伪分布式集群搭建

    第一步:配置网络(静态IP)

    vi /etc/sysconfig/network-scripts/ifcfg-ens33(网卡名称可能不同)

    1. 修改:
      将该配置文件中的ONBOOT=no修改为yes(网络开机自启)
      将BOOTPROTO=dhcp修改为static(将ip设置为静态ip)

    2. 为了能够通过外部访问到虚拟机,增加:
      IPADDR=192.168.154.110(110是自己设置的,154是VMnet8的NAT网段)
      NETMASK=255.255.255.0(子网掩码都为这个)
      GATEWAY=192.168.154.2(网关跟VMnet8的NAT的网关一样)
      DNS1=192.168.154.2(还可以设置成8.8.8.8,114.114.114.114)

    3. 重新启动网络:

    service network restart
    或
    systemctl network restart
    

    注:如果不用xshell则跳过这一步,但IP地址还是要查到

    ifconfig
    

    若没有这命令:

    sudo yum  install net-tools
    

    若查不到就老老实实配静态IP

    第二步:配置主机名和ip地址的映射关系

    设置主机名:vi /etc/sysconfig/network

    NETWORKING=yes
    HOSTNAME = (自定义一个主机名)例如:hadoop
    

    保存退出

    1. 将主机名ip地址进行映射 vi /etc/hosts
      例如:
      192.168.154.110 hadoop

    保存退出,执行下面命令刷新,配置即可生效。

    hostname hadoop
    

    第三步:配置ssh免密登录

    1. 进入用户的家目录下的.ssh隐藏目录:
    cd .ssh/
    
    1. 在该目录下,输入:
    ssh-keygen -t rsa  
    

    一直回车即可。此时会生成一个RSA 2048文件,生成了一对公钥,一对私钥。
    输入ls 查看生成的私钥和公钥。如果想要查看生成的一对秘钥,可以使用 more 秘钥名即可

    查看公钥: more id_rsa.pub
    查看私钥: more id_rsa
    
    1. 进入到hadoop的根目录,执行以下命令:把公钥拷贝到使用ssh的当前机器上
    ssh-cp-id localhost(是你的主机名)
    或
    ssh-copy-id localhost(是你的主机名)
    

    输入一次密码(登录linux系统的密码),待拷贝完成。
    验证是否免密成功:

    ssh 主机名
    

    若不用输入密码即可登陆就成功了

    第四步:关闭防火墙状态

    在linux centos7版本中,使用的防火墙不是iptables(linux centos6中使用的防火墙),而是firewall,所有以下操作中要使用firewall的相关指令。

    1.查看防火墙状态:

    systemctl status firewalld
    

    若显示Active: active (running),则表示防火墙已开启。
    另外一种查看方式:

    firewall-cmd  --state
    

    若结果为running,表示防火墙已开启。

    1. 关闭防火墙:
    systemctl stop firewalld.service
    
    1. 再次查看防火墙状态:
    systemctl status firewalld
    

    若显示Active: active (dead),则表示防火墙已关闭。
    另外一种查看方式:

    firewall-cmd  --state
    

    若结果为not running,表示防火墙已关闭。

    1. 禁止防火墙开机自启:
    systemctl disable firewalld.service
    

    想要开启防火墙,输入:

    systemctl start firewalld
    

    第五步:配置环境变量

    vi /etc/profile
    

    在该文件中加入:

    export JAVA_HOME= (即jdk的安装目录)
    export HADOOP_HOME= (即jdk的安装目录)
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    

    (本可以不加Hadoop路径,加上后,可以在任何路径执行相关命令)
    刷新这个文件:

    source /etc/profile
    

    第六步:配置Hadoop

    需要配置其中五个配置文件,进入到hadoop下etc下的hadoop目录,并查看该目录下的所有配置文件,并配置其中五个。

    1. 配置hadoop-env.sh文件,该配置文件用于指定hadoop运行时jdk的路径:
    vi hadoop-env.sh
    
    export JAVA_HOME=自己的jdk安装目录
    
    1. 配置core-site.xml文件,该文件是用户自定义文件。用于配置hadoop的文件系统:
      vi core-site.xml
    
    <!--配置hdfs的namenode的地址,使用的是hdfs协议:-->
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://主机名:9000</value> 
    </property>
    
    <!--配置hadoop运行时产生数据的存储目录,不是临时目录。-->
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/sun/app/hadoop-3.1.2/tmp</value>
    </property>
    
    1. 配置 hdsf-site.xml文件,配置在hdfs中,一份文件存几份,默认是3份,一台机器只能存一份:
    vi hdfs-site.xml
    
    <property>
    <name>dfs.replication</name>
    <value>1</value>
    </property>
    
    1. 配置mapred-site.xml文件,map-reduce是hadoop中的一种计算模型,运行在yarn(资源调度系统)中:
    vi mapred-site.xml
    
    <property> <!--指定mapreduce运行在yarn上-->
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    

    5.配置yarn-site.xml文件,指定yarn的老大resourcemanager的地址(该地址是resourcemanager的主机地址,即主机名或该主机的ip地址):

    vi yarn-site.xml
    
    <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>主机名</value>
    </property>
    
    <!--指定mapreduce执行shuffle时获取数据的方式-->
    <property>
    <name>yarn.nodemanager.aus-services</name>
    <value>mapreduce_shuffle</value>
    </property>
    

    第七步:初始化并启动hadoop

    该初始化不是启动hadoop的hdfs,而是对hdfs做格式化,需要到hadoop的bin目录中进行相关命令的操作

    1. 进入到hadoop的bin目录,进行初始化;
    ./hdfs namenode -format
    
    1. 进入到hadoop的sbin目录,启动hadoop:
      start-all.sh 如果这命令不行就前面加 sh

    (不建议初学者直接start-all.sh,一步一步的启动start-dfs.sh和start-yarn.sh等)
    最后在宿主机的浏览器中访问hadoop的hdfs,如访问成功,则说明伪分布式环境已搭建成功:
    Hadoop2.X的版本中,访问hdfs的端口号是50070,访问mapreduce的端口号是8080
    192.168.154.100:50070
    192.168.154.100:8080

    Hadoop3.X的版本中,访问hdfs的端口号由50070修改成了9870,访问mapreduce的端口号是8088
    192.168.154.100:9870
    192.168.154.100:8088

    注:如果不能访问就检查防火墙是否关闭以及其他原因,端口号前面的IP地址是自己设置的静态IP

  • 相关阅读:
    非foreach情况下取某一节点的position()
    MorningSale 介绍
    XSLT中的内容自动换列
    十年相伴一首歌
    Navicat的强大自动定时备份
    Xshell6评估期已过的解决方法
    Ext JS继承: 关于object, constructor和prototype
    WCF+Silverlight 异常处理
    Adding/removing fields and columns drag & drop bug's fix
    WCF部署至IIS问题二则
  • 原文地址:https://www.cnblogs.com/sunbr/p/12906658.html
Copyright © 2011-2022 走看看