在Ubuntu 13.10上安装Hadoop的方法

news2024/11/14 17:06:21

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

先决条件

本教程的唯一先决条件是安装了 Ubuntu 13.10 x64 的 VPS。

您需要通过以下两种方式之一在命令行中执行命令:

  1. 使用 SSH 访问 droplet。

  2. 使用 Digital Ocean Droplet 管理面板中的 ‘Console Access’。

什么是 Hadoop?

Hadoop 是一个框架(由软件库组成),它简化了分布在服务器集群上的数据集的处理。Hadoop 的两个主要组件是 HDFSMapReduce

HDFS 是 Hadoop 用来存储所有数据的文件系统。这个文件系统跨越了 Hadoop 使用的所有节点。这些节点可以位于单个 VPS 上,也可以分布在大量虚拟服务器上。

MapReduce 是协调 Hadoop 所有活动的框架。它处理将工作分配给集群中不同节点的任务。

使用 Hadoop 的好处

Hadoop 的架构允许您根据需要扩展硬件。可以逐步添加新节点,而无需担心数据格式的更改或文件系统上的应用程序处理。

Hadoop 最重要的特性之一是,它允许您通过用廉价的通用服务器替换昂贵的服务器来节省大量资金。这是可能的,因为 Hadoop 将容错责任从硬件层转移到应用程序层。

安装 Hadoop

安装并运行 Hadoop 是相当简单的。然而,由于这个过程需要编辑多个配置和设置文件,请确保每个步骤都正确执行。

1. 安装 Java

Hadoop 需要安装 Java,因此让我们从安装 Java 开始:

apt-get update
apt-get install default-jdk

这些命令将更新 VPS 上的软件包信息,然后安装 Java。执行这些命令后,执行以下命令验证是否已安装 Java:

java -version

如果已安装 Java,则应显示版本详细信息,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. 创建和设置 SSH 证书

Hadoop 使用 SSH(访问其节点),通常需要用户输入密码。但是,可以通过使用以下命令创建和设置 SSH 证书来消除此要求:

ssh-keygen -t rsa -P ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

执行这两个命令的第一个后,可能会要求输入文件名。只需留空并按 Enter 键继续。第二个命令将新创建的密钥添加到授权密钥列表中,以便 Hadoop 可以在不提示密码的情况下使用 SSH。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3. 获取并安装 Hadoop

首先,让我们使用以下命令从镜像之一获取 Hadoop:

wget http://www.motorlogy.com/apache/hadoop/common/current/hadoop-2.3.0.tar.gz

注意: 此命令使用 Hadoop 网站上列出的镜像之一上的下载链接。镜像列表可以在此链接找到。如果愿意,可以选择任何其他镜像。要下载最新的稳定版本,请从所选镜像的 currentcurrent2 目录中选择 hadoop-X.Y.Z.tar.gz 文件。

下载 Hadoop 包后,执行以下命令进行解压缩:

tar xfz hadoop-2.3.0.tar.gz

此命令将在名为 hadoop-2.3.0 的目录中提取此包中的所有文件。对于本教程,将 Hadoop 安装移动到 /usr/local/hadoop 目录,使用以下命令:

mv hadoop-2.3.0 /usr/local/hadoop

注意: 提取文件夹的名称取决于您下载和提取的 Hadoop 版本。如果您的版本与本教程中使用的版本不同,请相应更改上述命令。

4. 编辑和设置配置文件

要完成 Hadoop 的设置,需要修改以下文件:

  • ~/.bashrc
  • /usr/local/hadoop/etc/hadoop/hadoop-env.sh
  • /usr/local/hadoop/etc/hadoop/core-site.xml
  • /usr/local/hadoop/etc/hadoop/yarn-site.xml
  • /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
  • /usr/local/hadoop/etc/hadoop/hdfs-site.xml
i. 编辑 ~/.bashrc

在编辑您的主目录中的 .bashrc 文件之前,我们需要找到安装 Java 的路径,以设置 JAVA_HOME 环境变量。让我们使用以下命令来执行:

update-alternatives --config java

这将显示类似以下内容:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

此命令显示的完整路径是:

/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

JAVA_HOME 的值是上述路径中 /jre/bin/java 之前的所有内容 - 在本例中为 /usr/lib/jvm/java-7-openjdk-amd64。请记下这一点,因为我们将在此步骤和另一个步骤中使用这个值。

现在使用 nano(或您喜欢的编辑器)编辑 ~/.bashrc,使用以下命令:

nano ~/.bashrc

这将在文本编辑器中打开 .bashrc 文件。转到文件末尾,并粘贴/输入以下内容:

#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END

注意 1: 如果您的 VPS 上 JAVA_HOME 的值不同,请确保相应地更改上述内容中的第一个 export 语句。

注意 2: 使用 nano 打开并编辑的文件可以使用 Ctrl + X 保存。在提示保存更改时,键入 Y。如果要求文件名,只需按 Enter 键。

.bashrc 文件的末尾应该类似于这样:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

保存并关闭 .bashrc 文件后,执行以下命令,以便您的系统识别新创建的环境变量:

source ~/.bashrc

将上述内容放入 .bashrc 文件确保这些变量在 VPS 启动时始终可用。

ii. 编辑 /usr/local/hadoop/etc/hadoop/hadoop-env.sh

使用以下命令用 nano 打开 /usr/local/hadoop/etc/hadoop/hadoop-env.sh 文件:

nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh

在该文件中,找到导出 JAVA_HOME 变量的行。将该行更改为以下内容:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

注意: 如果您的 VPS 上 JAVA_HOME 的值不同,请相应地修改此行。

hadoop-env.sh 文件应该类似于以下内容:

# hadoop-env.sh 文件内容

保存并关闭此文件。在 hadoop-env.sh 文件中添加上述语句,确保 JAVA_HOME 变量的值在启动 Hadoop 时可用。

iii. 编辑 /usr/local/hadoop/etc/hadoop/core-site.xml

/usr/local/hadoop/etc/hadoop/core-site.xml 文件包含 Hadoop 启动时使用的配置属性。该文件可用于覆盖 Hadoop 启动时的默认设置。

使用以下命令用 nano 打开此文件:

nano /usr/local/hadoop/etc/hadoop/core-site.xml

在该文件中,在 <configuration></configuration> 标记之间输入以下内容:

<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>

core-site.xml 文件应该类似于以下内容:

<!-- core-site.xml 文件内容 -->

保存并关闭此文件。

iv. 编辑 /usr/local/hadoop/etc/hadoop/yarn-site.xml

/usr/local/hadoop/etc/hadoop/yarn-site.xml 文件包含 MapReduce 启动时使用的配置属性。该文件可用于覆盖 MapReduce 启动时的默认设置。

使用以下命令用 nano 打开此文件:

nano /usr/local/hadoop/etc/hadoop/yarn-site.xml

在该文件中,在 <configuration></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>

yarn-site.xml 文件应该类似于以下内容:

<!-- yarn-site.xml 文件内容 -->

保存并关闭此文件。

v. 创建和编辑 /usr/local/hadoop/etc/hadoop/mapred-site.xml

默认情况下,/usr/local/hadoop/etc/hadoop/ 文件夹包含 /usr/local/hadoop/etc/hadoop/mapred-site.xml.template 文件,必须将其重命名/复制为 mapred-site.xml。此文件用于指定 MapReduce 使用的框架。

使用以下命令执行此操作:

cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

完成后,使用以下命令用 nano 打开新创建的文件:

nano /usr/local/hadoop/etc/hadoop/mapred-site.xml

在该文件中,在 <configuration></configuration> 标记之间输入以下内容:

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

mapred-site.xml 文件应该类似于以下内容:

<!-- mapred-site.xml 文件内容 -->

保存并关闭此文件。

vi. 编辑 /usr/local/hadoop/etc/hadoop/hdfs-site.xml

/usr/local/hadoop/etc/hadoop/hdfs-site.xml 必须为集群中的每个主机进行配置。它用于指定在该主机上将用作 namenodedatanode 的目录。

在编辑此文件之前,我们需要创建两个目录,这些目录将包含此 Hadoop 安装的 namenodedatanode。可以使用以下命令执行此操作:

mkdir -p /usr/local/hadoop_store/hdfs/namenode
mkdir -p /usr/local/hadoop_store/hdfs/datanode

注意: 您可以在不同位置创建这些目录,但请确保相应地修改 hdfs-site.xml 的内容。

完成后,使用以下命令用 nano 打开 /usr/local/hadoop/etc/hadoop/hdfs-site.xml 文件:

nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml

在该文件中,在 <configuration></configuration> 标记之间输入以下内容:

<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/datanode</value>
 </property>

hdfs-site.xml 文件应该类似于以下内容:

<!-- hdfs-site.xml 文件内容 -->

保存并关闭此文件。

格式化新的 Hadoop 文件系统

在完成上述步骤中的所有配置后,需要格式化 Hadoop 文件系统,以便开始使用。执行以下命令完成格式化:

hdfs namenode -format

注意: 这只需要在开始使用 Hadoop 之前执行一次。如果在 Hadoop 被使用后再次执行此命令,它将销毁 Hadoop 文件系统上的所有数据。

启动 Hadoop

剩下要做的就是启动新安装的单节点集群:

start-dfs.sh

在执行此命令时,您将会收到两次类似以下消息的提示:

Are you sure you want to continue connecting (yes/no)?

对于这两个提示,输入 yes 并按回车键。完成后,执行以下命令:

start-yarn.sh

执行上述两个命令将启动 Hadoop。您可以通过输入以下命令来验证:

jps

执行此命令应该显示类似以下内容:

!jps command

如果您看到类似于上面截图中的结果,这意味着您现在在您的 VPS 上运行着一个功能正常的 Hadoop 实例。

下一步

如果您有一个已设置好使用 Hadoop 的应用程序,您可以启动该应用程序并开始使用新安装的 Hadoop。另外,如果您只是在尝试和探索 Hadoop,您可以开始向新文件系统添加/操作数据或文件,以便对其有所了解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2043513.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI芯片:高性能卷积计算中的数据复用

随着深度学习的飞速发展&#xff0c;对处理器的性能要求也变得越来越高&#xff0c;随之涌现出了很多针对神经网络加速设计的AI芯片。卷积计算是神经网络中最重要的一类计算&#xff0c;本文分析了高性能卷积计算中的数据复用&#xff0c;这是AI芯片设计中需要优化的重点之一&a…

XSS游戏前五关

分享一个XSS游戏的链接 XSS Game 第一关&#xff1a; 这边有一个innerHTML属性&#xff0c;我们查看官方文档 我们找到了它存在的漏洞&#xff0c;直接利用 https://sandbox.pwnfunction.com/warmups/ma-spaghet.html?somebody<img src1 onerror"alert(1337)&quo…

工具推荐篇:《Chat-PPT一键AI生成专属风格演示文稿》

引言 在当今快节奏的工作环境中&#xff0c;制作高质量的演示文稿既是一项挑战也是一门艺术。传统的PPT制作往往需要花费大量的时间和精力&#xff0c;尤其是在寻找合适的模板、设计布局和选择色彩搭配等方面。 今天给大家推荐一款AI一键制作高质量PPT的工具。 AI如何改变PP…

CANoe软件中Trace窗口的筛选栏标题不显示(空白)的解决方法

文章目录 问题描述原因分析解决方案扩展知识总结问题描述 不知道什么情况,CANoe软件中Trace窗口的筛选栏标题突然不显示了,一片空白。现象如下: 虽然不影响CANoe软件的使用,但是观感上非常难受,对于强迫症患者非常不友好。 原因分析 按照常规思路,尝试了: 1、重启CAN…

8月强化|30天带刷张宇18讲核心重点!

不偏不难就不是张宇了&#xff01; 张宇老师本来就以“偏难怪”著称&#xff0c;无独有偶&#xff0c;24考研真题也是“偏难怪”&#xff01; 所以&#xff0c;24考研结束之后&#xff0c;大家欧鼓吹张宇「封神」 先不说张宇老师是不是真的符合考研的趋势&#xff0c;但是跟…

解决 git clone 失败问题

使用 git clone 指令&#xff0c;从 G i t H u b GitHub GitHub克隆项目时失败&#xff0c;提示信息为&#xff1a; fatal: unable to access https://github.com/***/***: Failed to connect to github.com port 443 after 21083 ms:Couldnt connect to server解决方法 出现…

Chromium编译指南2024 - Android篇:从Linux版切换到Android版(六)

1.引言 在前面的章节中&#xff0c;我们介绍了如何获取 Chromium for Android 的源代码。然而&#xff0c;您可能已经在本地拥有了用于 Linux 版的 Chromium 源代码&#xff0c;并希望切换到 Android 版进行编译和开发。为了避免重新拉取大量的代码&#xff0c;您可以通过配置…

趋动科技成为GSMA 5G IN创新会员,专注于软件定义AI算力技术

趋动科技 趋动科技作为软件定义AI算力技术的领导厂商&#xff0c;专注于为全球用户提供国际领先的数据中心级AI算力虚拟化和资源池化软件及解决方案。趋动科技的 OrionX AI 算力资源池化软件能够帮助用户提高资源利用率和降低TCO&#xff0c;提高算法工程师的工作效率。凭借标…

谷歌、火狐、Edge浏览器使用allWebPlugin中间件加载ActiveX控件

安装allWebPlugin中间件 1、请从下面地址下载allWebPlugin中间件产品 链接&#xff1a;百度网盘 请输入提取码百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百…

数据结构与算法分析winform算术表达式求值计算

数据结构与算法分析算术表达式求值计算 数据结构与算法分析 实验三 算术表达式求值计算 要求&#xff1a;创建Form窗体&#xff0c;输入算术表达式&#xff0c;计算出表达式结果。 基本思路&#xff1a; &#xff08;1&#xff09;将表达式串拆分成操作数和操作符混合的字符…

【数据结构】使用C语言建立邻接矩阵表示有向图

有向图的邻接矩阵构建 有向图的定义 先回顾下有向图的定义&#xff1a; 有向图是一副具有方向性的图&#xff0c;是有一组顶点和一组有方向的边组成的&#xff0c;每条方向的边都连接着一对有序的顶点。 有向图的邻接矩阵的特点 有向图邻接矩阵中第i行非零元素的个数为第i个顶…

背部筋膜炎怎么根治

背部筋膜炎是一种常见的疾病&#xff0c;背部筋膜炎的症状主要包括&#xff1a; 1、疼痛&#xff1a;这是背部筋膜炎最明显的症状&#xff0c;疼痛可表现为酸痛、胀痛或刺痛&#xff0c;轻重不一。疼痛通常在劳累后加重&#xff0c;休息后减轻。 2、僵硬&#xff1a;由于无菌…

Java Web —— 第五天(请求响应1)

postman Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 作用:常用于进行接口测试 简单参数 原始方式 在原始的web程序中&#xff0c;获取请求参数&#xff0c;需要通过HttpServletRequest 对象手动获 http://localhost:8080/simpleParam?nameTom&a…

部署fiji(ImageJ)

本文介绍fiji的部署。 1.从 https://github.com/fiji/fiji ​​​​​​下载 zip包&#xff0c;下载后解压&#xff0c;本人解压的路径是H:\fiji-master&#xff0c;后面都用这个路径。 1. 打开Intellij idea&#xff0c;点击 import project 点击OK后&#xff0c;一路next &…

Azkaban学习笔记

1 Azkaban概述 为什么需要工作流调度系统&#xff1f; 1&#xff09;一个完整的数据分析系统通常都是由大量任务单元组成&#xff1a;Shell脚本程序&#xff0c;Java程序&#xff0c;MapReduce程序、Hive脚本等 2&#xff09;各任务单元之间存在时间先后及前后依赖关系 3&#…

MATLAB基于深度学习的车辆检测系统

如今机器视觉领域深度学习算法已经大行其道&#xff0c;也让人工智能的实现不再那么遥不可及&#xff0c;但是在目标检测领域&#xff0c;让计算机超越人类还需让更多的人参与进来继续努力。如今众多的高校&#xff0c;甚至中小学已经将人工智能纳入了学习科目&#xff0c;这确…

排序(基数,堆,归并)

基数排序 定义0-9十个桶&#xff0c;先排序个数&#xff0c;在排序十位&#xff0c;依次向下&#xff08;桶就是二维数组&#xff09; 按照个位先排一次 个位已经有序了&#xff0c;桶内遵循先进先出 没有十位放到0里 取出 百位 这样排序就完成了。放进取出几次&#xff0c;取…

多线程执行的3种场景示例代码

1.环境 语言&#xff1a;java jdk版本&#xff1a;1.8 2.三种线程池场景使用 2.1 固定线程数执行&#xff0c;每个线程只执行1次&#xff0c;最后全部执行完毕后再进入最终方法处理收尾 public static void testEveryThreadFixedExecuteOne() {int threadNum 4;ThreadPoolExe…

C++ | 探索C++多态:虚函数与抽象类的奥秘

目录 二、多态&#xff1a;统一接口下的行为多样性 1、多态的概念 2、多态的实现和构成条件 1、虚函数&#xff08;Virtual Function&#xff09; 2、虚函数重写 3、抽象类与接口继承 4、重载、覆盖(重写)、隐藏(重定义)的对比 重载&#xff08;Overloading&#xff09; 覆盖&a…

vulnhub靶机 W34KN3SS(渗透测试详解)

一、靶机信息收集 1、靶机下载地址 https://download.vulnhub.com/w34kn3ss/W34KN3SS.ova 2、扫描靶机IP 3、探测靶机端口、主机、服务版本信息 nmap -sS -sV -A -p- 192.168.31.160 4、进行目录扫描 二、web渗透测试 1、访问靶机IP 没什么发现 2、进行目录拼接访问 拼接…