Hadoop 3.x 单机模式的安装

Hadoop 3.x 单机模式的安装

首页枪战射击GZ穿越火线中文单机版更新时间:2024-05-09

这里是在Ubuntu 20.04版本上以单机模式安装Hadoop。而且Ubuntu中的用户名为 frank

安装 JDK

这里要安装的Java版本是 jdk-8。

执行命令

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

运行完安装程序后,会自动给jdk配置环境变量,所以下面测试一下jdk是否安装成功

java -version javac -version

如果都能显示出jdk的版本信息,则表示安装成功。

还可以通过执行查看一下java和javac的安装路径

which java which javac

得到的结果是:

/usr/bin/java

/usr/bin/javac

另外,jvm的安装路径是

/usr/lib/jvm/java-8-openjdk-amd64

这个路径在后续的Hadoop配置中要用得到。

下载Hadoop

cd /home/frank/Desktop wget https://archive.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

下载好之后,会在桌面上得到一个Hadoop的压缩包。

将这个压缩包解压缩,并放置在当前用户的根目录下(即 /home/frank/)

tar -zxvf /home/frank/Desktop/hadoop-3.2.1.tar.gz -C /home/frank/

这样就会在目录 /home/frank/ 目录下多了一个文件夹 hadoop-3.2.1

配置Hadoop

这里要配置的Hadoop文件有如下几个:

  1. .bashrc
  2. hadoop-env.sh
  3. core-site.xml
  4. hdfs-site.xml
  5. mapred-site-xml
  6. yarn-site.xml

这些文件都在目录 /home/frank/hadoop-3.2.1 的根目录下或者子目录下

.bashrc

这个文件是用来配置Hadoop的环境变量的。

sudo gedit /home/frank/hadoop-3.2.1/.bashrc

打开文件后,给这个文件的末尾追加以下内容并保存

#Hadoop Related Options export HADOOP_HOME=/home/frank/hadoop-3.2.1 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/nativ"

然后让环境变量生效

source ~/.bashrchadoop-env.sh

这个文件作为主程序来运行,用来配置 YARN、HDFS,MapReduce,以及Hadoop的相关项目的设置。当Hadoop作为单点模式时,需要定义之前安装的Java的路径。

因为在上一步已经创建出了一个环境变量 HADOOP_HOME,并且使之生效,那么后续的配置就可以直接利用这个环境变量了。

sudo gedit $HADOOP_HOME/etc/hadoop/hadoop-env.sh

打开文件后,把里面的 export JAVA_HOME 这段注释删掉,然后用这个内容替换

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

保存退出该文件。

这是在给Hadoop配置 JAVA_HOME 的运行环境的地址。因为Hadoop就是用Java开发出来的,那么它的运行肯定要依赖Java环境。那么这里的配置信息的地址,就是本文中Java的安装部分里标注的jvm的安装路径。

core-site.xml

这个文件用来定义HDFS和Hadoop核心属性。以单节点的方式安装Hadoop时,需要为NameNode来指定URL,还要指定临时文件夹让Hadoop用来进行map和reduce的计算。这里是要指定文件夹,所以需要事先创建好文件夹,然后才能在这个文件里修改。

mkdir /home/frank/tmpdata

sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml

在里面的 configuration 标签之间添加以下的代码

<property> <name>hadoop.tmp.dir</name> <value>/home/frank/tmpdata</value> </property> <property> <name>fs.default.name</name> <value>hdfs://127.0.0.1:9000</value> </property>hdfs-site.xml

这个文件里的属性用来定义保存的节点元数据,文件系统镜像文件,还有日志文件。所以修改这个文件就是在定义 NameNode、DataNode存储路径。

另外,里面的一个参数 dfs.replication 的值默认为 3,针对单点模式的话就要设置为 1。因为是单点模式,没有冗余,所以只能为 1

mkdir dfsdata cd dfsdata mkdir namenode mkdir datanode

然后修改这个 hdfs-site.xml 文件

在configuration标签之间添加

<property> <name>dfs.data.dir</name> <value>/home/frank/dfsdata/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>/home/frank/dfsdata/datanode</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property>mapred-site.xml

顾名思义,这个文件是用来配置 MapReduce的特性的

在configuration之间添加

<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>yarn-site.xml

这个文件是用来定义YARN的,里面包含了 Node Manager,Resource Manager,Containers、Application Master

在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> <property> <name>yarn.resourcemanager.hostname</name> <value>127.0.0.1</value> </property> <property> <name>yarn.acl.enable</name> <value>0</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PERPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property>

至此,Hadoop的单机安装模式的配置就完成了。接下来需要安装ssh,以保证用户可以免密登录系统。

安装OpenSSH

下面是在安装 OpenSSH 服务和客户端

sudo apt install openssh-server openssh-client -y

可以不需要创建新的用户,直接使用当前的frank用户来管理Hadoop,那么就为frank这个用户设定免密登录。

切换到frank用户

su - frank

创建一个ssh密钥对,即一个公钥一个私钥,并且定义这个密钥对存放的位置

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

然后通过 cat 命令把公钥以注册秘钥的形式保存到一个文件上

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

最后给当前用户设置一个针对注册秘钥的权限

chmod 0600 ~/.ssh/authorized_keys

到此,当前这个用户就可以不通过密码来使用SSH服务了。如果要验证免密ssh是否配置成功,可以运行下面的命令。测试当前用户是否可以不需要秘钥就可以登录本地

ssh localhost

格式化 HDFS NameNode

在开启Hadoop服务前,必须对NameNode进行格式化,也就是初始化。

hdfs namenode -format

开启 Hadoop 集群

导航到目录 ~/hadoop-3.2.1/sbin/ 目录下,然后执行下面的命令开启 NameNode 和 DataNode

./start-dfs.sh

这里的dfs 也就是 distributed file system 分布式文件系统的意思。也就是开启Hadoop的HDFS这个底层服务。

这里主要看这三项,namenode,datanode和 secondary NameNode

一旦这三项服务都开启了,就可以开始开启 YARN这个服务了。

./start-yarn.sh

这里就是开启了resourcemanager和nodemanager

最后可以用一个简单的命令来验证所有的守护进程是否都以Java进程的方式开启

jps

Hadoop UI

开启了一些服务器程序,Hadoop还提供了一个前端界面来查看和监听集群的参数和状态。

查看NameNode状态 http://localhost:9870

查看DataNode状态 http://localhost:9864

查看 YARN Resource Manager 状态 http://localhost:8088

至此,Hadoop的单点模式就安装配置完成了。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved