阿里云服务器ECS手动搭建Hadoop环境

打印 上一主题 下一主题

主题 871|帖子 871|积分 2613

Hadoop是由Apache基金会利用Java语言开发的分布式开源软件框架,用户可以在不了解分布式底层细节的环境下,开发分布式程序,充分利用集群的能力举行高速运算和存储。本文介绍如何在Linux操作体系的ECS实例上快速搭建Hadoop分布式环境。
阿里云官网折-上75-折:云小站_专享特惠_云产品推荐-阿里云
前提条件

搭建Hadoop环境时,已有的ECS实例必须满足以下条件:


  • 公网IP:实例已分配公网IP地址或绑定弹性公网IP(EIP)。
  • 操作体系:Linux操作体系。
  • 实例安全组的入方向规则已放行22、443、8088(Hadoop YARN默认的Web UI端口)、9870(Hadoop NameNode默认的Web UI端口)端口。详细操作,请拜见添加安全组规则。
背景信息

Apache Hadoop软件库是一个框架,它答应通过简单的编程模子在由多台盘算机构成的集群上对大规模数据集举行分布式处置处罚。该框架设计能够从单个服务器扩展到数千台机器,每台机器都提供本地盘算和存储能力。Hadoop并不依赖硬件来实现高可用性,而是将其自身设计为能够在应用层检测并处置处罚故障,因此能在大概各自存在故障风险的盘算机集群之上,提供高度可用的服务。
Hadoop的核心部件是HDFS(Hadoop Distributed File System)和MapReduce:


  • HDFS:是一个分布式文件体系,可用于应用程序数据的分布式存储和读取。
  • MapReduce:是一个分布式盘算框架,MapReduce的核心思想是把盘算任务分配给集群内的服务器执行。通过对盘算任务的拆分(Map盘算和Reduce盘算),再根据任务调度器(JobTracker)对任务举行分布式盘算。
更多信息,请拜见Hadoop官网。
Hadoop与Java开发工具包(JDK)紧麋集成,差别版本的Hadoop对JDK的要求也有所差别。


  • Hadoop 3.3:Java 8和Java 11
  • Hadoop 3.0.x~3.2.x:Java 8
  • Hadoop 2.7.x~2.10.x:Java 7和Java 8
本文利用的版本为Hadoop 3.2.4和Java 8,如您利用其他版本,请参考Hadoop官网指南。更多信息,请拜见Hadoop Java Versions。
步骤一:安装JDK


  • 远程毗连已创建的ECS实例。
    详细操作,请拜见通过密码或密钥认证登录Linux实例。
  • 执行以下下令,下载JDK 1.8安装包。

    1. wget https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
    复制代码
  • 执行以下下令,解压下载的JDK 1.8安装包。

    1. tar -zxvf openjdk-8u41-b04-linux-x64-14_jan_2020.tar.gz
    复制代码
  • 执行以下下令,移动并重定名JDK安装包。
    本示例中将JDK安装包重定名为java8,您可以根据需要利用其他名称。

    1. sudo mv java-se-8u41-ri/ /usr/java8
    复制代码
  • 执行以下下令,配置Java环境变量。
    如果您将JDK安装包重定名为其他名称,需将以下下令中的java8更换为实际的名称。

    1. sudo sh -c "echo 'export JAVA_HOME=/usr/java8' >> /etc/profile"
    2. sudo sh -c 'echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> /etc/profile'
    3. source /etc/profile
    复制代码
  • 执行以下下令,检察JDK是否乐成安装。

    1. java -version
    复制代码
    返回类似如下信息,表现JDK已安装乐成。


步骤二:安装Hadoop


  • 执行以下下令,下载Hadoop安装包。

    1. wget https://mirrors.bfsu.edu.cn/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
    复制代码
  • 执行以下下令,将Hadoop安装包解压至/opt/hadoop。

    1. sudo tar -zxvf hadoop-3.2.4.tar.gz -C /opt/
    2. sudo mv /opt/hadoop-3.2.4 /opt/hadoop
    复制代码
  • 执行以下下令,配置Hadoop环境变量。

    1. sudo sh -c "echo 'export HADOOP_HOME=/opt/hadoop' >> /etc/profile"
    2. sudo sh -c "echo 'export PATH=\$PATH:/opt/hadoop/bin' >> /etc/profile"
    3. sudo sh -c "echo 'export PATH=\$PATH:/opt/hadoop/sbin' >> /etc/profile"
    4. source /etc/profile
    复制代码
  • 执行以下下令,修改配置文件yarn-env.sh和hadoop-env.sh。

    1. sudo sh -c 'echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/yarn-env.sh'
    2. sudo sh -c 'echo "export JAVA_HOME=/usr/java8" >> /opt/hadoop/etc/hadoop/hadoop-env.sh'
    复制代码
  • 执行以下下令,测试Hadoop是否安装乐成。

    1. hadoop version
    复制代码
    返回类似如下信息,表现Hadoop已安装乐成。


步骤三:配置Hadoop


  • 修改Hadoop配置文件core-site.xml。
       

    • 执行以下下令,进入编辑页面。

      1. sudo vim /opt/hadoop/etc/hadoop/core-site.xml
      复制代码
    • 输入i,进入编辑模式。
    • 在<configuration></configuration>节点内,插入如下内容。

      1.     <property>
      2.         <name>hadoop.tmp.dir</name>
      3.         <value>file:/opt/hadoop/tmp</value>
      4.         <description>location to store temporary files</description>
      5.     </property>
      6.     <property>
      7.         <name>fs.defaultFS</name>
      8.         <value>hdfs://localhost:9000</value>
      9.     </property>
      复制代码


    • 按Esc,退出编辑模式,并输入:wq保存并退出。

  • 修改Hadoop配置文件hdfs-site.xml。
       

    • 执行以下下令,进入编辑页面。

      1. sudo vim /opt/hadoop/etc/hadoop/hdfs-site.xml
      复制代码
    • 输入i,进入编辑模式。
    • 在<configuration></configuration>节点内,插入如下内容。

      1.     <property>
      2.         <name>dfs.replication</name>
      3.         <value>1</value>
      4.     </property>
      5.     <property>
      6.         <name>dfs.namenode.name.dir</name>
      7.         <value>file:/opt/hadoop/tmp/dfs/name</value>
      8.     </property>
      9.     <property>
      10.         <name>dfs.datanode.data.dir</name>
      11.         <value>file:/opt/hadoop/tmp/dfs/data</value>
      12.     </property>
      复制代码


    • 按Esc,退出编辑模式,并输入:wq后保存并退出。

步骤四:配置SSH免密登录


  • 执行以下下令,创建公钥和私钥。

    1. ssh-keygen -t rsa
    复制代码
    回显信息如下所示,表现创建公钥和私钥乐成。


  • 执行以下下令,将公钥添加到authorized_keys文件中。

    1. cd .ssh
    2. cat id_rsa.pub >> authorized_keys
    复制代码
步骤五:启动Hadoop


  • 执行以下下令,初始化namenode。

    1. hadoop namenode -format
    复制代码
  • 启动Hadoop。
    重要
       

    • 出于体系安全和稳定性思量,Hadoop官方不推荐利用root用户来启动Hadoop服务,直接利用root用户会因为权限问题无法启动Hadoop。您可以通过非root用户身份启动Hadoop服务,比方ecs-user用户等。
    • 如果您一定要利用root用户启动Hadoop服务,请在了解Hadoop权限控制及相应风险之后,修改以下配置文件。
      请注意:利用root用户启动Hadoop服务会带来严峻的安全风险,包括但不限于数据泄露、恶意软件更轻易得到体系最高权限、意料之外的权限问题或行为。更多权限说明,请拜见Hadoop官方文档。
    修改配置文件,以便root用户可以启动Hadoop服务。
       

    • 执行以下下令,启动HDFS服务。
      这个脚本会启动NameNode、SecondaryNameNode和DataNode等组件,从而启动HDFS服务。

      1. start-dfs.sh
      复制代码
      回显信息如下所示时,表现HDFS服务已启动。


    • 执行以下下令,启动YARN服务。
      这个脚本会启动ResourceManager、NodeManager和ApplicationHistoryServer等组件,从而启动YARN服务。

      1. start-yarn.sh
      复制代码
      回显信息如下所示时,表现YARN服务已启动。



  • 执行以下下令,可以检察乐成启动的进程。

    1. jps
    复制代码
    乐成启动的进程如下所示。


  • 在本地浏览器地址栏输入http://<ECS公网IP>:8088,访问YARN的Web UI界面。
    通过该界面可以检察整个集群的资源利用环境、应用程序状态(比如MapReduce作业)、队列信息等。
    重要
    需确保在ECS实例所在安全组的入方向中放行Hadoop YARN所需的8088端口,否则无法访问。详细操作,请拜见添加安全组规则。


  • 在本地浏览器地址栏输入http://<ECS公网IP>:9870,访问NameNode的Web UI界面。
    该界面提供了有关HDFS文件体系状态、集群健康状态、运动节点列表、NameNode日志等信息。
    表现如下界面,则表现Hadoop分布式环境已搭建完成。
    重要
    需确保在ECS实例所在安全组的入方向中放行Hadoop NameNode所需9870端口,否则无法访问。详细操作,请拜见添加安全组规则。





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

没腿的鸟

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表