Hadoop安装指南

本文最后更新于:几秒前

Hadoop一步完成安装指南

本博客部分参考于 Hadoop集群安装和搭建(全面超详细的过程)_小汤TYT的博客-CSDN博客_hadoop环境搭建与安装并稍有修改。

Hadoop是一个开源的、可运行与Linux集群上的分布式计算平台,用户可借助Hadoop存有基础环境的配置(虚拟机安装、Linux安装等),Hadoop集群搭建,配置和测试。可以借用Hadoop实现高效化的集群环境的搭建与分布式计算。

以下是hadoop的安装步骤:

VMware的安装

这个不再本博客再赘述了,大家可以参考此博客:

虚拟机VMware下载与安装教程(详细)

虚拟机安装

首先到镜像网站将Linux系统的镜像包下载下来,这里使用的是CentOS7(mini)的安装包

centos-7-isos-x86_64安装包下载_开源镜像站-阿里云 (aliyun.com)

安装虚拟机

点击【Vmware->文件->新建虚拟机】

image-20221109125241400

安装程序光盘映像文件。

这里需要定向到刚刚下载的iso文件。

image-20221109125316431

修改名称与安装位置

image-20221109125410623

分配内存。

一般是默认系统的安装内存(20G),我的电脑内存剩余太小了,怕炸掉所以用了10G,注意选择将虚拟磁盘拆分成多个文件

image-20221109125433164

完成之后点击配置,即可以看到现有的系统配置,可以选择默认配置,下一步。

image-20221109125532816

点击完成就结束了单个虚拟机的硬件安装过程。

image-20221109125600940

运行CentOS系统,开始安装系统软件

image-20221109125656849

选择时区为上海,语言为中文

image-20221109125810622

配置系统网络并连接

注意设置主机名

image-20221109125925832

image-20221109130110416

点击开始安装,设置用户名和密码,不创建用户(默认为root)。

image-20221109130134791

image-20221109130211492

完成安装,重启。

使用root账户【用户名:root;密码为自设密码】登录系统

image-20221109130708748

image-20221109130743254

使用ping指令测试一下网络是否联通

image-20221109130840614

地址配置

安装net-tools工具

net-tools工具可以便于之后操作网络地址信息

1
2
yum upgrade
yum install net-tools

查看MAC物理地址和ip地址范围

1
ifconfig

将【enter】后面的mac地址记录下来,之后用到。

image-20221109131307436

然后点击当前虚拟机下的网络编辑器,【编辑->虚拟网络编辑器】,选择NAT模式下的VMnet8网络,点击【DHCP配置】

image-20221109131354974

这里的起始和结束地址就是虚拟机的公用地址范围,可以默认将【192.168.XX.131】记下来作为hadoop1的ip地址,如我这里就是【192.168.47.131】。

image-20221109131415451

修改网络配置文件

进入网络配置文件,修改之

1
vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改BOOTPROTO的镜像模式为”static”,若ONBOOT为=”no”则修改为”yes”,然后在配置文件后加入下面的配置信息

1
2
3
4
5
6
IPV6_PRIVACY="yes"
WADDR="00:0c:29:XX:XX:XX" #mac地址
IPADDR="192.168.XX.131" #IP地址
GATEWAY="192.168.XX.2" #网关地址,默认为ip最后一段改为2
NETMASK="255.255.255.0" #子网掩码,照抄
DNS1="8.8.8.8" #DNS定位,用谷歌的免费DNS1

image-20221109132519558

重启网络和系统,然后查看是否配置成功

1
2
3
4
systemctl restart network
reboot
ifconfig
ping www.baidu.com

image-20221109134137887

虚拟机克隆

完成单个虚拟机的配置之后,将虚拟机克隆两次,并另外命名为hadoop2和hadoop3,作为数据节点。

克隆

右键hadoop1虚拟机,【管理->克隆】,注意创建完整克隆

image-20221109134346446

image-20221109173253406

image-20221109173318270

image-20221109134453256

二次地址配置

完成克隆之后,需要按照第一个虚拟机的方法再次进行两次地址配置,这里不再赘述过程,放出来图片供大家参考

1
ifconfig

image-20221109134812016

1
vi /etc/sysconfig/network-scripts/ifcfg-ens33

image-20221109135849928

1
2
3
ping www.baidu.com
systemctl restart network
ifconfig

image-20221109135902333

image-20221109140207521

免密登录

为了以免之后主机链接客机的时候每次都得填密码(那会累死的),设置一下ssh的免密登录。

修改hosts文件

首先修改hosts文件的配置,将主机和客机都加进去

1
vi /etc/hosts

image-20221109140636069

生成密钥文件

1
ssh-keygen -t rsa

回车三次即可,如果是已有密钥文件,回车四次。

image-20221109140938883

复制密钥

将本机公钥文件复制到其它虚拟机上(接收方需先开机),在三个主机上都需要分别输入下列复制文件,保证三台主机都能够免密登录。

1
2
3
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

image-20221109141259437

image-20221109141157065

image-20221109141225064

使用ssh指令测试一下是否成功

1
2
#比如在hadoop1主机下输入
ssh hadoop2

image-20221109141621838

安装Hadoop和JDK

首先在每个主机下创建三个文件夹,data用于存数据、servers用于存储服务器配置、software用于存储软件包等。

1
2
3
mkdir -p /export/data
mkdir -p /export/servers
mkdir -p /export/software

下载安装包

推荐使用更为稳定的hadoop-2.7.4版本和jdk8。

hadoop-2.7.4.tar.gz :Apache Hadoop

jdk-8u161-linux-x64.tar.gz :Java Archive Downloads - Java SE 8 (oracle.com)

安装Xshell

安装Xshell软件,这个软件能够方便的进行多主机协同,相对于虚拟机在UI和功能上更为友好。

家庭/学校免费 - NetSarang Website (xshell.com),直接用免费的就好,然后和普通软件一样下一步*n。

配置Xshell中的节点环境

打开Xshell后点击文件并选择新建,名称填hadoop1,主机填写hadoop1的IP地址。

image-20221109155443676

image-20221109155533585

再点击用户身份验证,把hadoop1的账号,密码输入,就可以通过Xshell控制虚拟机,方便后续软件的传输。

image-20221109155613472

重复步骤新建会话控制hadoop2,hadoop3。

image-20221109155655906

上传文件(以hadoop1为例)

安装一个插件方便上传文件,提供资源管理器的UI

1
2
3
cd /export/software
yum -y install lrzsz
rz

rz指令之后会进入资源管理器,将hadoop文件和jdk文件上传到系统中

image-20221109155919795

image-20221109160145263

之后解压hadoop和jdk的压缩包到software文件夹下。

1
2
3
4
5
6
cd /export/software
tar -zxvf jdk-8u161-linux-x64.tar.gz -C /export/servers/
tar -zxvf hadoop-2.7.4.tar.gz -C /export/servers/
#重命名jdk文件夹
cd /export/servers
mv jdk1.8.0_161 jdk

软件配置(以hadoop1为例)

将hadoop和jdk的配置信息加到全局配置中

1
vi /etc/profile #进入全局配置文件
1
2
3
4
5
6
7
#tip:在配置文件末尾追加
export JAVA_HOME=/export/servers/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#tip:在文件末尾追加
export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

image-20221109161459940

更新配置文件使之生效

1
source /etc/profile

这样就完成了两个软件的配置,可以分别使用java -versionhadoop version查看是否成功安装。

image-20221109161201657

image-20221109161354682

上述两个小步骤需要在hadoop2和hadoop3分别完成。

Hadoop集群配置

(vi编辑器:i为编辑模式,esc为退出编辑模式,:wq为保存并退出)

首先进入主节点hadoop1的配置目录

1
cd /export/servers/hadoop-2.7.4/etc/hadoop/

java地址配置

修改hadoop中对于java环境地址的配置

1
2
3
vi hadoop-env.sh
#tip:找到相应位置,添加这段话
export JAVA_HOME=/export/servers/jdk

image-20221109161744733

核心配置文件

修改core-site.xml文件

1
vi core-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#tip:下图中乱码部分为注释代码,可以删掉,不影响
<configuration>
<!--配置Hadoop的文件系统,由URI指定-->
<property>
<name>fs.defaultFS</name>
<!--配置namenode的地址到hadoop1-->
<value>hdfs://hadoop1:9000</value>
</property>
<!--配置Hadoop的临时目录,默认/tem/hadoop-${user.name}-->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/servers/hadoop-2.7.4/tmp</value>
</property>
</configuration>

image-20221109161949003

修改hdfs-site.xml文件,其中hdfs的每个部分的含义可以参见以下链接。

hadoop配置文件详解系列(二)-hdfs-site.xml篇 - 程序员姜小白 - 博客园 (cnblogs.com)

1
vi hdfs-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
<configuration>
<!--指定HDFS的数量,默认不变就可以-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--secondarynamenode 所在主机的IP和端口-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop2:50090</value>
</property>
</configuration>

image-20221109162339041

附属配置文件

修改mapred-site.xml文件。

1
2
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
1
2
3
4
5
6
7
<configuration>
<!--指定MapReduce运行时的框架,这里指定在YARN上,默认在local-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

image-20221109163300911

修改yarn-site.xml文件

1
vi yarn-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
<configuration>
<!--指定YARN集群的管理者(ResourceManager)的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<!--指定yarn节点的管理逻辑-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

image-20221109162829388

节点配置

修改slaves文件

1
2
3
#tip:将文件中的localhost删除,添加主节点和子节点的主机名称
#tip:如主节点hadoop1,子节点hadoop2和hadoop3
vi slaves

image-20221109162752736

复制配置到子结点

将主节点中配置好的文件和hadoop目录copy给子节点,其中主节点为hadoop1,子结点为hadoop2和hadoop3。

1
2
3
4
scp /etc/profile hadoop02:/etc/profile
scp /etc/profile hadoop03:/etc/profile
scp -r /export/ hadoop02:/
scp -r /export/ hadoop03:/

去到hadoop2和hadoop3主机中,使新传过来的配置信息生效

1
2
#tip:返回hadoop2和hadoop3节点执行下面命令
source /etc/profile

格式化文件系统

在主节点格式化文件系统,初始化hadoop的文件系统配置。如图片中的红框,给出【successfully formatted】即代表已经成功格式化文件系统。

1
hdfs namenode -format

image-20221109163720042

集群启动

启动进程

在主节点启动dfs和yarn服务进程

1
2
3
start-dfs.sh
start-yarn.sh
jps

在主节点会显示ResourceManager(Yarn)、Namenode(主节点)、NodeManager(Hadoop)、在次主节点会显示SecondaryNamenode。

image-20221109165428445

关闭进程可以使用stop进程

1
2
stop-dfs.sh
stop-yarn.sh

关闭防火墙(所有虚拟机都要操作)

1
2
systemctl stop firewalld    #关闭防火墙
systemctl disable firlewalld #关闭防火墙开机启动

本次配置

打开window下的【C:\Windows\System32\drivers\etc】,以管理员权限打开hosts文件,在文件末添加三行代码:

1
2
3
192.168.121.134 hadoop01
192.68.121.135 hadoop02
192.168.121.136 hadoop03

在windows系统下访问http://hadoop1:50070,即可查看hdfs集群状态;访问http://hadoop1:8088,查看Yarn集群状态。

这样就完成了整个hadoop文件系统的配置,个人觉得比较麻烦,需要一步步很细节的去完成。


Hadoop安装指南
http://paopao0226.site/post/383a95d9.html
作者
Ywj226
发布于
2022年11月9日
更新于
2023年9月23日
许可协议