zoukankan      html  css  js  c++  java
  • Hadoop的安装与部署(分布式+非高可用)

    高可用方式(使用了ZooKeeper)的安装步骤

    https://www.cnblogs.com/live41/p/15483192.html

    * 全文的命令都是在登录root账号的情况下执行。

    一、硬件环境

    假设有3台机,IP及主机名如下:

    192.168.100.105 c1
    192.168.100.110 c2
    192.168.100.115 c3

    二、软件环境

    操作系统:Ubuntu Server 18.04

    JDK:1.8.0

    Hadoop:3.3.0/3.3.1

    * 这里的ZooKeeper、Hadoop根目录都放在/home/目录下

    三、系统运行环境配置

    https://www.cnblogs.com/live41/p/15525826.html

    四、部署Hadoop

    * 以下操作在每台机都要执行一次

    1.下载Hadoop安装包

    https://downloads.apache.org/hadoop/common/

    2.解压安装包

    这里假定下载的是hadoop-3.3.1.tar.gz文件,解压到/usr/bin/目录

    tar -xvf hadoop-3.3.1.tar.gz -C /usr/local/

    把目录名也改一下

    mv /usr/local/hadoop-3.3.1 /usr/local/hadoop

    3.创建目录

    cd /usr/local/hadoop
    sudo mkdir hdfs
    sudo mkdir hdfs/datanode
    sudo mkdir hdfs/namenode
    sudo mkdir hadoop/logs
    sudo mkdir yarn
    sudo mkdir yarn/logs

    4.配置环境变量

    vim ~/.bashrc

    添加内容

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    
    export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export YARN_HOME=$HADOOP_HOME
    
    export HDFS_NAMENODE_USER=root
    export HDFS_DATANODE_USER=root
    export HDFS_SECONDARYNAMENODE_USER=root

    更新环境变量

    source ~/.bashrc

    测试

    hadoop version

    5.修改Hadoop的配置

    (1) 进入Hadoop的配置文件目录

    cd $HADOOP_CONF_DIR

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

    (2) 编辑hadoop-env.sh文件

    vim hadoop-env.sh

    查看以下内容,如果没有就加上,如果已有就不用改。

    export JAVA_HOME=/usr/bin/jdk1.8.0
    export HADOOP_HOME=/usr/local/hadoop
    export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
    export HADOOP_LOG_DIR=/usr/local/hadoop/logs

    (3) 编辑core-site.xml

    vim core-site.xml

    在c1机添加以下内容:

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://c1:9820/</value>
        </property>
        <property>
            <name>io.file.buffer.size</name>
            <value>131072</value>
        </property>
    </configuration>

    在c2、c3机添加以下内容:

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://c1:9820/</value>
            <description>NameNode URI</description>
        </property>
    </configuration>

    (4) 编辑hdfs-site.xml文件

    vim hdfs-site.xml

    在c1机添加以下内容:

    <configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file:///usr/local/hadoop/hdfs/namenode</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///usr/local/hadoop/hdfs/datanode</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
        <property>
            <name>dfs.datanode.use.datanode.hostname</name>
            <value>false</value>
        </property>
        <property>
            <name>dfs.namenode.datanode.registration.ip-hostname-check</name>
            <value>false</value>
        </property>
    </configuration>

    在c2、c3添加以下内容:

    <configuration>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file:///usr/local/hadoop/hdfs/datanode</value>
            <description>DataNode directory</description>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <name>dfs.permissions</name>
            <value>false</value>
        </property>
        <property>
            <name>dfs.datanode.use.datanode.hostname</name>
            <value>false</value>
        </property>
    </configuration>

    (4) 编辑yarn-site.xml文件

    vim yarn-site.xml

    在c1机添加以下内容:

    <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.ShuffleHandler</value>
        </property>
        <property>
            <name>yarn.nodemanager.local-dirs</name>
            <value>file:///usr/local/hadoop/yarn/local</value>
        </property>
        <property>
            <name>yarn.nodemanager.log-dirs</name>
            <value>file:///usr/local/hadoop/yarn/logs</value>
        </property>
    </configuration>

     在c2、c3机添加以下内容:

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

    (5) 编辑mapred-site.xml文件

    vim mapred-site.xml

    在c1机添加以下内容:

    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>c1:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>c1:19888</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.intermediate-done-dir</name>
            <value>/mr-history/tmp</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.done-dir</name>
            <value>/mr-history/done</value>
        </property>
    </configuration>

      在c2、c3机添加以下内容:

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

    (6) 修改workers文件(旧版的是slaves文件)

    vim workers

    添加以下内容:

    c1
    c2
    c3

    6.修改文件权限

    chmod 777 /usr/local/hadoop/hdfs
    chmod 777 /usr/local/hadoop/logs

    7.格式化hdfs

    hdfs namenode -format

    五、启动和停止Hadoop

    1.启动

    在c1机执行:

    start-dfs.sh
    start-yarn.sh

    2.检查是否运行正常

    每台机执行:

    jps

    3.创建目录和查看目录

    在c1机执行:

    hdfs dfs -mkdir /Clotho
    hdfs dfs -ls /

    4.登录管理界面

    http://c1:9870/  或 http://192.168.100.105:9870/

    5.停止

    在c1机执行:

    stop-yarn.sh
    stop-dfs.sh

    附:更简单和安全的操作

    https://tecadmin.net/install-hadoop-on-ubuntu-20-04/

    http://www.mtitek.com/tutorials/bigdata/hadoop/install.php

    以上2篇新建了hadoop用户来运行,且并没有关闭防火墙,只是开通了必须的端口。

  • 相关阅读:
    JS函数机制小结
    面向对象的JS随笔
    web性能优化
    css布局
    Spark内存管理
    Scala中==,eq与equals的区别
    Java中char占用几个字节
    Java中long和double的原子性
    elk-filebeat收集docker容器日志
    Spring Boot多数据源配置(二)MongoDB
  • 原文地址:https://www.cnblogs.com/live41/p/15467263.html
Copyright © 2011-2022 走看看