zoukankan      html  css  js  c++  java
  • 使用vmware+Ubuntu搭建hadoop集群

    Hadoop三种运行模式的区别

    非分布式模式/本地模式

    该模式为Hadoop的默认模式,一旦你安装了Hadoop,在没有进行相关配置前,Hadoop运行的是本地模式,该模式下,Hadoop使用的是本地文件系统而不是分布式文件系统,且不会启动NameNode、DataNode、JobTracker、TaskTracker等守护进程。该模式用于对MapReduce程序的验证。

    伪分布式模式

    即Hadoop假装自己在全分布式模式下,与全分布式模式下Hadoop的守护进程在不同主机上运行不同,此时Hadoop的守护进程都在一台主机上运行。此时,Hadoop进程以分离的Java进程来运行,节点及作为NameNode也作为DataNode,同时,读取的是HDFS中的文件。

    全分布式模式

    Hadoop运行在多台主机(一个集群)中,每台主机都安装了OpenJDK和Hadoop,节点之间通过SSH进行联系。其中,一个节点作为主节点,其他节点要在主节点中注册才能加入集群。

    Java运行环境的选择

    由于Hadoop是运行在Java环境下的,所以如果Java运行环境版本与Hadoop版本不兼容,Hadoop会无法运行或者在运行的时候会产生问题,以下表格来自Hadoop的官方文档HadoopJavaVersions,你在选择jdk版本的时候充分考虑此表。

    VersionStatusReported By
    oracle 1.7.0_15 Good Cloudera
    oracle 1.7.0_21 Good (4) Hortonworks
    oracle 1.7.0_45 Good Pivotal
    openjdk 1.7.0_09-icedtea Good (5) Hortonworks
    oracle 1.6.0_16 Avoid (1) Cloudera
    oracle 1.6.0_18 Avoid Many
    oracle 1.6.0_19 Avoid Many
    oracle 1.6.0_20 Good (2) LinkedIn, Cloudera
    oracle 1.6.0_21 Good (2) Yahoo!, Cloudera
    oracle 1.6.0_24 Good Cloudera
    oracle 1.6.0_26 Good(2) Hortonworks, Cloudera
    oracle 1.6.0_28 Good LinkedIn
    oracle 1.6.0_31 Good(3, 4) Cloudera, Hortonworks

    创建Hadoop用户

    创建一个名为hadoop的用户以进行hadoop安装。

    即使你不愿意创建hadoop用户,我也强烈建议你不要使用root用户来搭建hadoop环境,因为这可能带来安全问题。

    Copy
    sudo addgroup hadoop
    sudo adduser --ingroup hadoop hadoop
    

    Adding user hadoop' ... Adding new userhadoop' (1000) with group hadoop' ... Creating home directory/home/hadoop' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for hadoop
    Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
    Is the information correct? [Y/n]

    安装Hadoop

    执行以下指令以安装hadoopopenjdk并配置Hadoop,在执行之前,在终端输入sudo -i并输入密码,以root身份运行以下指令。

    Copy
    cd /home/hadoop
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz # 下载hadoop安装包
    tar -zxf hadoop-3.2.1.tar.gz # 解压hadoop安装包
    mv ./hadoop-3.2.1 /usr/local/
    cd /usr/local
    mv ./hadoop-3.2.1 hadoop
    chown -R hadoop:hadoop ./hadoop # 更新文件夹所有者
    cd hadoop/
    apt-get update
    apt-get install -y openjdk-8-jdk openjdk-8-jre # 安装openjdk
    # 为hadoop指定JAVA_HOME
    # sed -i "s?export JAVA_HOME=${JAVA_HOME}?export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/?g" ./etc/hadoop/hadoop-env.sh # 用于hadoop2
    echo "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/" >> ./etc/hadoop/hadoop-env.sh
    echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/" >> /etc/bash.bashrc # 将JAVA_HOME写入环境变量
     # 将hadoop写入环境变量
    echo "export HADOOP_HOME=/usr/local/hadoop" >> /etc/bash.bashrc
    echo "export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH" >> /etc/bash.bashrc
    echo "export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop" >> /etc/bash.bashrc
    source /etc/bash.bashrc
  • 相关阅读:
    网安-04-DHCP部署与安全、DNS部署与安全
    网安-03-NTFS安全权限、文件共享服务器
    网安-02-批处理、病毒、用户与组管理、破解系统密码
    网安-01-IP详解及简单的DOS命令
    [异常笔记]required a bean of type 'org.quartz.JobExecutionContext' that could not be found
    [异常笔记]poi读取Excel异常
    CentOS7 minimal 没有netstat命令
    Docker运行Nginx服务器
    大数据开发从入门小白到删库跑路(一)- 获取Hadoop
    Docker 运行MangoDB
  • 原文地址:https://www.cnblogs.com/studya/p/14204055.html
Copyright © 2011-2022 走看看