当前位置:首页 > 新游发布 > 正文

Hadoop 3.x 单机模式的安装

这里是在版本上以单机模式安装Hadoop。而且Ubuntu中的用户名为frank安装JDK这里要安装的Java版本是jdk-8。执行命令sudoaptupdatesudoaptinstallopenjdk-8-jdk-y运行完安装程序后,会自动给jdk配置环境变量,所以下面测试一下jdk是否安装成功...

这里是在版本上以单机模式安装Hadoop。而且Ubuntu中的用户名为frank安装JDK这里要安装的Java版本是jdk-8。执行命令sudoaptupdatesudoaptinstallopenj......

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

安装JDK

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

执行命令

sudoaptupdatesudoaptinstallopenjdk-8-jdk-y

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

java-versionjavac-version

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

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

whichjavawhichjavac

得到的结果是:

/usr/bin/java

/usr/bin/javac

另外,jvm的安装路径是

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

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

下载Hadoop
cd/home/frank/Desktopwget

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

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

tar-zxvf/home/frank/Desktop//home/frank/

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

配置Hadoop

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

.bashrc

mapred-site-xml

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

.bashrc

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

sudogedit/home/frank//.bashrc

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

#HadoopRelatedOptionsexportHADOOP_HOME=/home/frank/_INSTALL=$HADOOP_HOMEexportHADOOP_MAPRED_HOME=$HADOOP_HOMEexportHADOOP_COMMON_HOME=$HADOOP_HOMEexportHADOOP_HDFS_HOME=$HADOOP_HOMEexportYARN_HOME=$HADOOP_HOMEexportHADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/nativeexportPATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/binexportHADOOP_OPTS="-=$HADOOP_HOME/lib/nativ"

然后让环境变量生效

source~/.bashrc

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

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

sudogedit$HADOOP_HOME/etc/hadoop/

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

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

保存退出该文件。

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

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

mkdir/home/frank/tmpdata
sudogedit$HADOOP_HOME/etc/hadoop/

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

/namevalue/home/frank/tmpdata/value//namevaluehdfs://127.0.0.1:9000/value/property

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

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

mkdirdfsdatacddfsdatamkdirnamenodemkdirdatanode

然后修改这个文件

在configuration标签之间添加

/namevalue/home/frank/dfsdata/namenode/value//namevalue/home/frank/dfsdata/datanode/value//namevalue1/value/property

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

在configuration之间添加

/namevalueyarn/value/property

这个文件是用来定义YARN的,里面包含了NodeManager,ResourceManager,Containers、ApplicationMaster

在configuration之间添加

/namevaluemapreduce_shuffle/value///value///value//namevalue0/value//namevalueJAVA_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服务和客户端

sudoaptinstallopenssh-serveropenssh-client-y

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

切换到frank用户

su-frank

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

ssh-keygen-trsa-P''-f~/.ssh/id_rsa

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

cat~/.ssh/id_~/.ssh/authorized_keys

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

chmod0600~/.ssh/authorized_keys

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

sshlocalhost

格式化HDFSNameNode

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

hdfsnamenode-format

开启Hadoop集群

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

./

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

这里主要看这三项,namenode,datanode和secondaryNameNode

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

./

这里就是开启了resourcemanager和nodemanager

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

jps

HadoopUI

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

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

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

查看YARNResourceManager状态http://localhost:8088

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

最新文章