详解搭建ubuntu版hadoop集群

yizhihongxing

详解搭建Ubuntu版Hadoop集群

Hadoop是一个分布式计算框架,能够快速处理海量数据。本文将介绍如何在Ubuntu上搭建Hadoop集群。

环境准备

在开始搭建之前,我们需要准备以下环境:

  • 3台Ubuntu Server,分别作为Master和两个Slave
  • JDK 1.8
  • Hadoop 3.3.1

安装JDK

Hadoop运行需要JDK的支持。我们可以通过以下命令安装JDK 1.8:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

安装Hadoop

  1. 下载Hadoop

我们到Hadoop官网下载Hadoop 3.3.1

wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz
  1. 解压Hadoop
tar -zxvf hadoop-3.3.1.tar.gz
  1. 配置Hadoop环境变量
sudo nano /etc/profile

在文件结尾处添加:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
  1. 配置Hadoop

进入Hadoop目录并编辑配置文件:

cd hadoop-3.3.1/etc/hadoop/
sudo nano hadoop-env.sh

找到以下行,将JAVA_HOME设置为已经安装的JDK路径:

#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

打开core-site.xml配置文件并添加以下内容:

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

打开hdfs-site.xml并添加以下内容:

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/nameNode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/dataNode</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>

打开mapred-site.xml并添加以下内容:

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

打开yarn-site.xml并添加以下内容:

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
  1. 将Hadoop安装到Slave机器上

将Hadoop解压到Slave节点上,将master节点中的Hadoop配置文件拷贝到Slave节点上。

  1. 启动Hadoop

在Master节点上启动Hadoop:

start-all.sh

检查集群是否正常运行:

jps

如果输出以下信息,则表示Hadoop集群正常运行:

16209 NameNode
16354 ResourceManager
16420 SecondaryNameNode

示例1:上传文件至Hadoop集群

我们可以使用Hadoop自带的命令行工具hdfs将一个本地文件上传到Hadoop集群中。

  1. 在Master节点上创建输入文件夹:
hadoop fs -mkdir input
  1. 将本地文件上传到Hadoop集群:
hadoop fs -put /home/user/input/sample.txt input
  1. 查看上传的文件内容:
hadoop fs -cat input/sample.txt

输出以下内容,则表示上传成功:

Hello Hadoop!

示例2:运行Hadoop示例

Hadoop自带的wordcount示例可以帮助我们快速了解Hadoop集群的运作方式。

  1. 准备输入文件

在本地创建输入文件sample.txt,内容如下:

Hello Hadoop!
Hello MapReduce!
  1. 上传输入文件

与示例1相同,上传文件至Hadoop集群。

  1. 运行wordcount示例
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount input/ output/

示例会自动运行MapReduce任务并将输出文件保存至output文件夹。

  1. 查看输出文件
hadoop fs -cat output/part-r-00000

输出以下内容,则表示示例运行成功:

Hadoop!     1
Hello       2
MapReduce!  1

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解搭建ubuntu版hadoop集群 - Python技术站

(0)
上一篇 2023年5月24日
下一篇 2023年5月24日

相关文章

  • 阿里云服务器yum源更新问题从何而来

    标题:阿里云服务器yum源更新问题从何而来 背景 在使用阿里云服务器时,我们经常需要使用yum命令来更新安装软件,但是在一些情况下,yum命令会失败,导致无法更新软件包。这个问题从何而来呢?本文将详细说明。 原因 阿里云为了提供更加稳定、安全的服务,使用了自己的镜像源来替代CentOS官方的镜像源。但是由于阿里云的镜像源更新比较慢,导致在某些情况下,yum命…

    Linux 2023年5月14日
    00
  • Linux ifconfig命令

    如果config是熟悉Linux网络配置的工具,是用来查询和配置Linux系统上的网络参数和接口信息的命令行工具。下面,我们来详细讲解 ifconfig 命令的作用与使用方法: 1. 安装 ifconfig 命令是Linux系统上的内置命令,即可用性非常高,一般情况下不需要安装。 2. 作用 ifconfig 用于查询和配置Linux系统上的网络参数和接口信…

    Linux 2023年3月28日
    00
  • Linux lpadmin命令

    Linux lpadmin 命令的作用与使用方法 Linux lpadmin 命令用于管理打印机和打印机队列。它可以帮助用户在 Linux 系统中添加、删除、修改打印机和打印机队列。 Linux lpadmin 命令使用方法 lpadmin 命令的基本语法如下: lpadmin [选项] [打印机名称] ` 其中,选项是可选的。打印机名称是要管理的打印机名称…

    Linux 2023年5月10日
    00
  • Linux用户管理

    1、基本介绍   用户管理图解           说明:     1)、Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。     2).、Linux的用户至少要属于一个组。 2、添加用户   基本语法     useradd  [选项]  用户名        细节…

    Linux 2023年4月12日
    00
  • Linux xargs 命令

    xargs(英文全拼: eXtended ARGuments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。 xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。 xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。 xargs 默认的命令是 echo,这意味着通过管道传…

    Linux 2023年4月13日
    00
  • Linux用户组

    1、介绍   类似于角色,系统可以对有共性的多个用户进行统一的管理 2、增加组   groupadd  组名     3、删除组   groupdel  组名     4、增加用户时直接为用户指定组   useradd  -g  用户组   用户名     5、修改用户组   usermod  -g  用户组  用户名    6、/etc/passwd 文件…

    Linux 2023年4月12日
    00
  • Apache 网站速度更快

    以下是“Apache网站速度更快”的完整使用攻略,包含两个示例说明。 Apache网站速度更快 以下是一些可以帮助您提高Apache网站速度的技巧: 1. 启用Apache服务器缓存 启用Apache服务器缓存可以减少服务器响应时间,提高网站速度。以下是启用Apache服务器存的示例: 安装mod_cache和mod_disk_cache: bash yum…

    Linux 2023年5月13日
    00
  • 一篇文章弄懂Linux磁盘和磁盘分区

    一篇文章弄懂Linux磁盘和磁盘分区 什么是磁盘 磁盘是计算机中常见的存储介质,主要由硬盘、闪存、光盘等组成。在Linux系统中,我们主要使用硬盘来进行数据存储和操作。 磁盘的组成 在Linux系统中,磁盘主要由磁盘分区和文件系统组成。 磁盘分区 磁盘分区是将硬盘划分为多个部分,每个部分可被格式化并安装文件系统以存储数据。 分区可分为主分区、扩展分区和逻辑分…

    Linux 2023年5月30日
    00
合作推广
合作推广
分享本页
返回顶部