阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在 Linux Ubuntu 18.04/18.10上安装Hadoop图文详解

128次阅读
没有评论

共计 5242 个字符,预计需要花费 14 分钟才能阅读完成。

Apache Hadoop 是一个开源框架,用于分布式存储以及在商用硬件上运行的计算机集群上的大数据的分布式处理。Hadoop 将数据存储在 Hadoop 分布式文件系统(HDFS)中,并使用 MapReduce 完成这些数据的处理。YARN 提供用于在 Hadoop 集群中请求和分配资源的 API。

Apache Hadoop 框架由以下模块组成:

  • Hadoop Common
  • Hadoop Distributed File System (HDFS)
  • YARN
  • MapReduce

本文介绍如何在 Ubuntu 18.04 上安装 Hadoop 2 版本。我们将在 Pseudo Distributed Mode 中的单节点集群上安装 HDFS(Namenode 和 Datanode),YARN,MapReduce,这是在一台机器上进行伪分布式安装。每个 Hadoop 守护进程 (如 hdfs、yarn、mapreduce 等) 都将作为单独的 Java 进程运行。

在本教程中,您将学习:

  • 如何为 Hadoop 环境添加用户
  • 如何安装和配置 Oracle JDK
  • 如何配置无密码 SSH
  • 如何安装 Hadoop 并配置必要的相关 xml 文件
  • 如何启动 Hadoop 集群
  • 如何访问 NameNode 和 ResourceManager Web UI

Namenode Web 用户界面。

使用的软件要求和约定

类别使用的要求,约定或软件版本
系统Ubuntu 18.04
软件Hadoop 2.8.5, Oracle JDK 1.8
其他以 root 身份或通过 sudo 命令以特权方式访问 Linux 系统。
约定#  – 要求使用 root 权限直接以 root 用户或使用 sudo 命令执行给定的 linux 命令
$ – 要求给定的 linux 命令作为常规非特权用户执行

添加 Hadoop 环境的用户

使用以下命令创建新用户和组:

# add user

linuxidc@linuxidc:~$ sudo adduser hadoop
[sudo] linuxidc 的密码:
正在添加用户 ”hadoop”…
正在添加新组 ”hadoop” (1001)…
正在添加新用户 ”hadoop” (1001) 到组 ”hadoop”…
创建主目录 ”/home/hadoop”…
正在从 ”/etc/skel” 复制文件 …
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
正在改变 hadoop 的用户信息
请输入新值,或直接敲回车键以使用默认值
 全名 []: Hadoop linuxidc
 房间号码 []:
 工作电话 []:
 家庭电话 []:
 其它 []:
这些信息是否正确?[Y/n] Y

为 Hadoop 添加新用户。

在 Linux Ubuntu 18.04/18.10 上安装 Hadoop 图文详解

安装和配置 Oracle JDK

下载 Java 归档文件并解压缩 / opt 目录下。

# cd /opt
# tar -xzvf jdk-8u192-linux-x64.tar.gz

或者

linuxidc@linuxidc:~/ 下载 $ sudo tar -xzvf jdk-8u192-linux-x64.tar.gz -C /opt

在 Linux Ubuntu 18.04/18.10 上安装 Hadoop 图文详解

要将 JDK 1.8 Update 192 设置为默认 JVM,我们将使用以下命令:

linuxidc@linuxidc:~$ sudo update-alternatives –install /usr/bin/java java /opt/jdk1.8.0_192/bin/java 100
[sudo] linuxidc 的密码:
linuxidc@linuxidc:~$ sudo update-alternatives –install /usr/bin/javac javac /opt/jdk1.8.0_192/bin/javac 100

在 Linux Ubuntu 18.04/18.10 上安装 Hadoop 图文详解

安装完成后验证 java 是否已成功配置,请运行以下命令:

linuxidc@linuxidc:~$ update-alternatives –display java
linuxidc@linuxidc:~$ update-alternatives –display javac

在 Linux Ubuntu 18.04/18.10 上安装 Hadoop 图文详解

配置无密码 SSH

使用以下命令安装 Open SSH Server 并打开 SSH Client:

linuxidc@linuxidc:~$ sudo apt-get install openssh-server openssh-client

在 Linux Ubuntu 18.04/18.10 上安装 Hadoop 图文详解

使用以下命令生成公钥和私钥对。终端将提示输入文件名。按 ENTER 键继续。在该复制之后,公钥从 id_rsa.pub 到 authorized_keys。

linuxidc@linuxidc:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory ‘/home/linuxidc/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/linuxidc/.ssh/id_rsa.
Your public key has been saved in /home/linuxidc/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:oWz3NsiiLRMdJMg7KLgQSNYQdDvXcPEszzOrWsBI3mI linuxidc@linuxidc
The key’s randomart image is:
+—[RSA 2048]—-+
|+B+o . o.        |
|+ +.o = o        |
|.o = + o.o      |
|= = *…+.      |
|o. E =+.S=      |
|. . o.oo o+      |
|    …o.+      |
|    oo…. .    |
|    .+o.        |
+—-[SHA256]—–+

在 Linux Ubuntu 18.04/18.10 上安装 Hadoop 图文详解

linuxidc@linuxidc:~$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

使用以下命令验证无密码 ssh 配置:

linuxidc@linuxidc:~$ ssh localhost

安装 Hadoop 并配置相关的 xml 文件

从 Apache 官方网站下载并解压缩 Hadoop 2.8.5。

linuxidc@linuxidc:~$ tar -xzvf hadoop-2.8.5.tar.gz

设置环境变量

通过设置以下 Hadoop 环境变量,为 Hadoop 用户编辑 bashrc:

nano ~/.bashrc

export HADOOP_HOME=/home/linuxidc/hadoop-2.8.5
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_OPTS=”-Djava.library.path=$HADOOP_HOME/lib/native”

在当前登录会话中获取.bashrc。

$ source ~/.bashrc

编辑 Hadoop 安装目录中 /etc/hadoop 中的 hadoop-env.sh 文件,并进行以下更改并检查是否要更改任何其他配置。

nano /etc/hadoop/hadoop-env.sh

export JAVA_HOME=/opt/jdk1.8.0_192
export HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-“/home/linuxidc/hadoop-2.8.5/etc/hadoop”}

更改 core-site.xml 文件中的配置

使用 vim 编辑 core-site.xml,或者您可以使用任何编辑器。该文件位于 hadoop 主目录下的 / etc / hadoop 下,并添加以下条目。

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadooptmpdata</value>
</property>
</configuration>

另外,在 hadoop 主文件夹下创建目录。

$ mkdir hadooptmpdata

hdfs-site.xml 文件中的配置更改

编辑位于同一位置的 hdfs-site.xml,即 hadoop 安装目录中的 / etc / hadoop,并在 hadoop 用户主目录下创建 Namenode / Datanode 目录。

$ mkdir -p hdfs/namenode
$ mkdir -p hdfs/datanode

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<name>dfs.name.dir</name>
<value>file:///home/hadoop/hdfs/namenode</value>
<name>dfs.data.dir</name>
<value>file:///home/hadoop/hdfs/datanode</value>
</property>
</configuration>

配置更改 mapred-site.xml 文件

使用 cp 命令从 mapred-site.xml.template 复制 mapred-site.xml,然后使用以下更改编辑位于 hadoop instillation 目录下的 /etc/hadoop 中的 mapred-site.xml。

$ cp mapred-site.xml.template mapred-site.xml

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

在 yarn-site.xml 配置文件中更改

使用以下条目编辑 yarn-site.xml。

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

启动 Hadoop 集群

首次使用之前格式化 namenode。由于 HDFS 用户运行以下命令来格式化 Namenode。

$ hdfs namenode -format

格式化 Namenode 后,使用 start-dfs.sh 脚本启动 HDFS。

要启动 YARN 服务,您需要执行纱线启动脚本,即 start-yarn.sh

要验证所有 Hadoop 服务 / 守护程序是否已成功启动,您可以使用 jps 命令。

/opt/jdk1.8.0_192/bin/jps
20035 SecondaryNameNode
19782 DataNode
21671 Jps
20343 NodeManager
19625 NameNode
20187 ResourceManager

现在我们可以在命令下检查您可以使用的当前 Hadoop 版本:

$ hadoop version

或者

$ hdfs version

HDFS 命令行界面

要访问 HDFS 并在 DFS 之上创建一些目录,您可以使用 HDFS CLI。

$ hdfs dfs -mkdir /test
$ hdfs dfs -mkdir /hadooponubuntu
$ hdfs dfs -ls /

从浏览器访问 Namenode 和 YARN

您可以通过任何浏览器(如 Google Chrome / Mozilla Firefox)访问 NameNode 的 Web UI 和 YARN Resource Manager。

Namenode Web UI – http://<hadoop cluster hostname/IP address>:50070

YARN 资源管理器(RM)Web 界面将显示当前 Hadoop 集群上的所有正在运行的作业。

 资源管理器 Web UI- http://<hadoop cluster hostname/IP address>:8088

总结

世界正在改变目前的运作方式,大数据在这一阶段发挥着重要作用。Hadoop 是一个框架,可以在处理大量数据时简化生活。所有方面都有改进。未来是令人兴奋的。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-21发表,共计5242字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中