Hadoop伪分布式集群搭建

安装JDK

(1)准备软件
准备jdk安装包: jdk-8u221-linux-x64.tar.gz
(2)解压压缩包

tar -zxvf jdk-8u221-linux-x64.tar.gz

(3)在此处我们配置系统环境变量,使用命令:

vim /etc/profile

(4)在最后加入以下两行内容:

export JAVA_HOME=/root/software/jdk1.8.0_221  # 配置Java的安装目录,我的在/root/software文件夹下
export PATH=$PATH:$JAVA_HOME/bin  # 在原PATH的基础上加入JDK的bin目录

一定要注意PATH值的修改,一定要在引用原PATH值,否则Linux的很多操作命令就不能使用了。

注意:

export 是把这两个变量导出为全局变量。
大小写必须严格区分。
(5)让配置文件立即生效,使用如下命令:

source /etc/profile

(6)检测JDK是否安装成功,使用命令查看JDK版本:

java -version

执行此命令后,若是出现JDK版本信息说明配置成功:
在这里插入图片描述

配置SSH免密登录

(1)下载SSH服务并启动
下载SSH服务(openssh-server和openssh-clients)
直接启动即可:

/usr/sbin/sshd

SSH服务启动成功后,默认开启22(SSH的默认端口)端口号,使用以下命令进行从查看:

netstat -tnulp

只要将SSH服务启动成功,我们就可以进行远程连接访问了。

(2)首先生成密钥对,使用命令:

ssh-keygen

或者

ssh-keygen -t rsa

上面一种是简写形式,提示要输入信息时不需要输入任何东西,直接回车三次即可。

从打印信息中可以看出,私钥id_rsa和公钥id_rsa.pub都已创建成功,并放在 /root/.ssh(隐藏文件夹(以.开头))目录中。

(3)将公钥放置到授权列表文件 authorized_keys中,使用命令:

cp id_rsa.pub authorized_keys

注意:一定要授权列表文件 authorized_keys写对,不能改名。

(4)修改授权列表文件 authorized_keys 的权限,使用命令:

chmod 600 authorized_keys

设置拥有者可读可写,其他人无任何权限(不可读、不可写、不可执行)。

(5)验证免密登录是否配置成功,使用如下命令:

ssh localhost  

或者

ssh e2d670ea9ad7

或者

ssh 10.141.0.42

localhost:意为“本地主机”,指“这台计算机”
e2d670ea9ad7:本机主机名,可以使用hostname命令进行查看
10.141.0.42:本机IP地址,可以使用ifconfig命令进行查看
(6)远程登录成功后,若想退出,可以使用exit命令。

安装hadoop

1. 解压Hadoop;

tar -zxvf hadoop-2.7.7.tar.gz -C /root/software

2. 配置Hadoop系统变量
(1) 首先打开/etc/profile文件(系统环境变量:对所有用户有效):

vim /etc/profile

(2) 在文件底部添加如下内容:

配置Hadoop的安装目录

export HADOOP_HOME=/root/software/hadoop-2.7.7

在原PATH的基础上加入Hadoop的bin和sbin目录

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效环境变量:

source /etc/profile

配置HDFS

1. 配置环境变量hadoop-env.sh
打开hadoop-env.sh文件:

vim /root/software/hadoop-2.7.7/etc/hadoop/hadoop-env.sh

找到JAVA_HOME参数位置,修改为本机安装的JDK的实际位置:
在这里插入图片描述

在命令模式下输入 :set nu 可以为vi设置行号。

2. 配置核心组件core-site.xml
该文件是Hadoop的核心配置文件,其目的是配置HDFS地址、端口号,以及临时文件目录。使用如下命令打开“core-site.xml”文件:

vim /root/software/hadoop-2.7.7/etc/hadoop/core-site.xml

将下面的配置内容添加到 中间:


<property>
<name>fs.defaultFSname>

<value>hdfs://localhost:9000value>
property>

<property>
<name>hadoop.tmp.dirname>
<value>/root/hadoopData/tempvalue>
property>

3. 配置文件系统hdfs-site.xml
该文件主要用于配置 HDFS 相关的属性,例如复制因子(即数据块的副本数)、NameNode 和 DataNode 用于存储数据的目录等。在完全分布式模式下,默认数据块副本是3 份。 使用如下命令打开“hdfs-site.xml”文件:

vim /root/software/hadoop-2.7.7/etc/hadoop/hdfs-site.xml

将下面的配置内容添加到 中间:


<property>
<name>dfs.namenode.name.dirname>
<value>/root/hadoopData/namevalue>
property>

<property>
<name>dfs.datanode.data.dirname>
<value>/root/hadoopData/datavalue>
property>

<property>
<name>dfs.replicationname>
<value>1value>
property>

4. 配置slaves文件(无需修改)
该文件用于记录Hadoop集群所有从节点(HDFS的DataNode和YARN的NodeManager所在主机)的主机名,用来配合一键启动脚本启动集群从节点(并且还需要保证关联节点配置了SSH免密登录)。

打开该配置文件:

vim /root/software/hadoop-2.7.7/etc/hadoop/slaves

我们看到其默认内容为localhost,因为我们搭建的是伪分布式集群,就只有一台主机,所以从节点也需要放在此主机上,所以此配置文件无需修改。

5.格式化文件系统

hdfs namenode -format

6. 脚本一键启动hdfs
启动集群最常使用的方式是使用脚本一键启动,前提是需要配置 slaves 配置文件和 SSH免密登录。

在本机上使用如下方式一键启动HDFS集群:

start-dfs.sh

在本机上执行 jps 命令,在打印结果中会看到4 个进程,分别是 NameNode、SecondaryNameNode、Jps、和DataNode,如果出现了这 4 个进程表示HDFS启动成功。

配置YARN

Yarn主要配置文件说明如下:

Hadoop伪分布式集群搭建_第1张图片

1. 配置环境变量yarn-env.sh
该文件是YARN框架运行环境的配置,同样需要修改JDK所在位置。

使用如下命令打开“yarn-env.sh”文件:

vim /root/software/hadoop-2.7.7/etc/hadoop/yarn-env.sh

找到JAVA_HOME参数位置,将前面的#去掉,将其值修改为本机安装的JDK的实际位置:
一般在23行
在命令模式下输入 :set nu 可以为vi设置行号。

2. 配置计算框架mapred-site.xml
在$HADOOP_HOME/etc/hadoop/目录中默认没有该文件,需要先通过如下命令将文件复制并重命名为“mapred-site.xml”:

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

接着,打开“mapred-site.xml”文件进行修改:

vim /root/software/hadoop-2.7.7/etc/hadoop/mapred-site.xml

将下面的配置内容添加到 中间:


<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>

3. 配置YARN系统yarn-site.xml
本文件是YARN框架的核心配置文件,用于配置 YARN 进程及 YARN 的相关属性。

使用如下命令打开该配置文件:

vim /root/software/hadoop-2.7.7/etc/hadoop/yarn-site.xml

将下面的配置内容加入中间:


<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>

4. 启动集群
在本机上使用如下方式一键启动YARN集群:

start-yarn.sh

ps:start-dfs.sh和start-yarn.sh也是sbin目录下的脚本文件。

在本机上启动了 ResourceManager守护进程
在本机上启动了 NodeManager 守护进程
使用jps命令查看

jps

通过本机的浏览器访问http://localhost:8088或http://本机IP地址:8088查看YARN集群状态。

你可能感兴趣的:(大数据,分布式,大数据,hadoop,linux,java)