• Linux下hadoop-2.9.0集群搭建


    一、hadoop简介

      Hadoop是一个由Apache基金会所开发的分布式系统基础架构,是一个能够对大量数据进行分布式处理的软件框架。

    Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

      1、官网地址:http://hadoop.apache.org/,安装hadoop需要安装jdk环境

      2、个人三台Linux虚拟机机器地址信息为,并:

    主机名    ip地址
    node2    192.168.182.xxx
    node3    192.168.182.xxx
    node4    192.168.182.xxx
    node5    192.168.182.xxx

    二、集群安装

      1、准备工作,先远程登陆每一台机器,创建hadoop用户,并关闭每个机器防火墙

    # 新建用户
    useradd hadoop
    # 设置密码
    passwd hadoop

      2、使用hadoop用户登陆其中一台机器node5,设置其中一台免密登陆其他机器,

    # 免密登陆
    ssh-keygen
    ssh-copy-id node2
    ssh-copy-id node3
    ssh-copy-id node4

      3、设置hadoop用户root权限和设置hosts

    # 添加内容: hadoop  ALL=(ALL)       ALL
    vi /etc/sudoers

      4、设置hosts

    vi  /etc/hosts
    192.168.182.xxx   node2
    192.168.182.xxx   node3
    192.168.182.xxx   node4
    192.168.182.xxx   node5
    View Code

      5、将sudoers和hosts文件拷贝到其他机器上

    # 例如复制sudoers到node2上,其他一样
    sudo  scp  -r  /etc/sudoers  node2:/etc 

      6、下载hadoop二进制版

    # 切换工作目录
    cd /home/hadoop
    # 新建文件夹
    mkdir  apps
    # 下载安装包
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz
    # 解压
    tar  -zxvf  hadoop-2.9.0.tar.gz  -C /home/hadoop/apps

      7、修改配置文件

    # 进入配置目录
    cd  /home/hadoop/apps/hadoop-2.9.0/etc/hadoop/

        a、修改hadoop-env.sh文件,设置export JAVA_HOME为jdk安装目录,因为需要ssh远程启动,jdk环境不会生效,所以直接设置jdk安装目录

        b、修改core-site.xml文件,在configuration节点中添加子元素

    <configuration>
    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://node5:9000</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hdpdata</value>
    </property>
    </configuration>
    View Code

        c、修改hdfs-site.xml  ,在configuration节点中添加子元素(可选)

    <configuration>
    <property>
    <name>dfs.replication</name>
    <value>2</value>
    </property>
    </configuration>
    View Code

        d、修改mapred-site.xml.template ,在configuration节点中添加子元素,并且重命名:mv mapred-site.xml.template mapred-site.xml

    <configuration>
    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    
    </configuration>
    View Code

        e、修改yarn-site.xml,在configuration节点中添加子元素

    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>weekend-1206-01</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    View Code

      然后将安装包复制到其他节点,并修改权限给hadoop,以复制到node2为例

    # 将安装包复制node2
    sudo scp -r /home/hadoop/apps node2:/home/hadoop/
    # 修改安装包权限给hadoop
    chown -r hadoop:hadoop /home/hadoop/apps

      8、将hadoop添加到环境变量,使配置生效 source /etc/profile

    export JAVA_HOME=/usr/local/jdk1.8.0_161
    export HADOOP_HOME=/home/hadoop/apps/hadoop-2.9.0
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    View Code

      9、对namenode进行初始化,我在core-site.xml配置的namenode节点为node5

    hdfs namenode -format

      10、修改自动化启动配置文件,添加node2,node3,node4

    vi  /home/hadoop/apps/hadoop-2.9.0/etc/hadoop/slaves

      11、启动集群和关闭集群

    # 启动全部
    start-all.sh
    # 关闭全部
    stop-all.sh

    三、测试

      1、使用jps命令验证是否有NameNode、DataNode、NodeManager、ResourceManager等信息

      2、访问http://node5:50070 (HDFS管理界面) http://node5:8088 (MR管理界面)查看信息

    yexiangyang

    moyyexy@gmail.com


     

  • 相关阅读:
    Ext学习之路——Ext.application
    MVVM模式理解
    MVC和MVVM的区别
    如何才能通俗易懂的解释js里面的‘闭包’?
    【移动端】用Cordova将vue项目打包成app
    【vue源码】js中的with语句
    【移动端】移动端点击可点击元素时,出现蓝色默认背景色
    【人脸识别】纯前端实现人脸融合-调用Face++的人脸融合API接口实现
    new Function()语法
    Element-ui 自定义下拉框,实现选择图片并且回显图片
  • 原文地址:https://www.cnblogs.com/moy25/p/8786323.html
Copyright © 2020-2023  润新知