Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

大数据技术 潘老师 4年前 (2020-07-22) 5008 ℃ (1) 扫码查看

如果在你在网上搜Hadoop分布式环境搭建的教程,结果可谓五花八门,有的甚至漏洞百出,很难找到一篇非常详细的文章,能把它的搭建全过程讲的清清楚楚,今天潘老师给大家整理了一套完整详尽的图文教程,并且亲自测试保证能正常运行hadoop,只要你跟着步骤耐心加细心地一步步操作,肯定不会出问题,而且能让你快速入门大数据开发,体会大数据的魅力。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

安装Vmware的教程之前在一篇博文中专门写过,请参考文章:

VMware12Pro虚拟机官方中文版下载安装教程,带永久许可证激活密钥

从事Java开发或者Hadoop大数据开发,免不了要和Linux系统打交道,而VMware Workstati […]

1、使用虚拟机一定要学会配置网络,因为基于虚拟机的很多任务都是需要网络支持或者需要你远程访问的,因此我们打开虚拟机的编辑,找到虚拟网络编辑器并打开
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
2、这里就用到我们刚才的配置,我们选择的是NAT网络,一般是Vment8,然后下面的界面就会显示他的各种配置情况,我们首先设置它的ip地址和子网掩码(如果已有,一般默认即可),也可以自己设置ip,但要保证和电脑ip在同一个网段(设置后新建的虚拟机的ip就会在该网段内自动生成),因为如果我们搭建集群将需要很多虚拟机,每台都应该是在这个网段里面的,设置的ip方便自己记住就可以。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、点击NAT设置,设置网关,前面部分和ip地址一样,最后一位是2,确定关闭即可。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

安装虚拟机的教程之前在一篇博文中专门写过,请参考文章:

Vmware安装Centos7图文教程详解,快速搭建Linux系统

Linux操作系统在实际Java学习和Hadoop大数据开发中,用的非常广泛,而入门最方便的方式就是在Vmwa […]

1.以root权限登录系统,我们可以输入如下指令可以查找到对应的网卡名称,由于我们之前修改过网卡命名为eth0,所以这里截图为eth0,如果没修改,名称可能是ens33

ip addr

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
2、接着输入如下指令(如果你的是ens33文件名就是ifcfg-ens33),打开eth0文件。

vi /etc/sysconfig/network-scripts/ifcfg-eth0

按enter继续,然后按 i 进入编辑模式,修改和添加配置参数。查看结果如图:
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、部分修改和添加的代码如下(具体设置及说明见图,有个地方需修改为static):

IPADDR="192.168.217.100"
GATEWAY="192.168.217.2"
NETMASK="255.255.255.0"
DNS1="192.168.217.2"
DNS2="114.114.114.114"

修改后结果如图:
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
4、按esc,输入:wq保存退出。
5、执行如下指令重启网络服务。

service network restart

一定记着运行该指令,重启你的网络服务,让我们的配置生效,否则上面的配置都是白用功,也可以重启虚拟机,但是太麻烦了,显示OK就可以了。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
6、重新运行ip addr查看我们配置是否成功
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
7、执行如下指令测试网络情况 ,然后ctrl+c停止。

ping www.baidu.com

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

注意:以下使用xshell进行操作,XShell安装必须选择English语言,否则rz上传文件会出错。
xshell下载地址:点击官方下载
xshell 使用方法不再次赘述。

1、使用xshell连接到master主机,执行如下格式指令,在这里我们修改master的主机名为master(新主机名也可以为域名格式,比如www.panziye.com),

hostnamectl set-hostname master

修改完后在再执行如下指令查看新主机名是否成功设置。

hostname

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
2、执行如下指令编辑主机的hosts文件

vi /etc/hosts

添加如下配置,配置格式为 ip 主机名,在这里我们是192.168.217.100 master
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、重启master,xshell重新连接主机,发现主机名改变。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

1、执行如下指令查看防火墙状态,发现状态为running。

firewall-cmd --state

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
2、执行如下指令禁止防火墙开机启动

systemctl disable firewalld.service

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、永久关闭selinux,selinux是Linux一个子安全机制,学习环境可以将它禁用。执行如下指令打开文件。

vi /etc/selinux/config

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
4、将SELINUX=enforcing改为SELINUX=disabled,然后esc,执行:wq保存退出
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
5、最后重启虚拟机使之生效。

在学习过程中我们可以跳过此步,直接用root,在实际开发中最好创建hadoop用户,虽然不创建直接使用root用户也可以,但root权限太大,容易出问题,所有一般会创建普通用户,注意在多台集群情况下要求每个主机的用户和用户组都要相同。

1、在master上使用如下命令来创建hadoop用户:

adduser hadoop

再使用如下指令设置hadoop用户密码,这里我们设置为123456(注意会提示输入两遍,两次要相同)。

passwd hadoop

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
2、使用如下指令查看用户信息,发现已经有了hadoop用户。

cat  /etc/passwd

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、使用如下指令把hadoop用户加入到hadoop用户组,前面一个hadoop是组名,后面一个hadoop是用户名。

usermod -a -G hadoop hadoop

接着用如下指令查看结果。

cat /etc/group |grep hadoop

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
4、使用如下命令编辑,把hadoop用户赋予root权限,让他可以使用sudo命令。

vi /etc/sudoers

添加内容如下:
root ALL=(ALL) ALL
hadoop ALL=(root) NOPASSWD:ALL

修改前截图:
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
修改后截图:
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
5、最后按esc,执行:wq!强制保存退出。

1、通过xshell,使用hadoop用户重新登录master虚拟机。
2、使用ssh方式测试登录本机,执行如下指令,发现需要正确输入密码才能正常登录。

ssh master

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、如果输入密码后成功登录了,执行exit指令退出,我们现在想使用SSH公私钥对方式实现免密登录。
4、使用如下指令生成公私钥对(这里使用的dsa加密算法,使用rsa也可以),执行后~/.ssh目录下会生成私钥和公钥的键值对 id_dsa 和 id_dsa.pub。

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
5、我们需要将公钥写入认证文件中,执行cd ~/.ssh 进入目录,在执行ls查看成的公私钥文件,最后执行如下命令将公钥写入认证文件authorized_keys中。

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

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
6、执行如下指令修改master主机下的authorized_keys权限为600,否则无法免密登录。

chmod 600 authorized_keys

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
7、再次使用ssh master指令登录(注意:部分第一次可能还需要密码,输入登录后再次退出重试第二次就不需要了,这取决于know_hosts中是否纪录),发现无需密码,直接登录成功。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

参考:

Linux系统如何安装jdk

1、去ORACLE官网下载Linux系统的JDK,这里我们使用版本为jdk-8u111-linux-x64.t […]

1、下载Hadoop,这里我们使用hadoop-3.2.1版本,官方下载地址:点击直达官方下载
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
2、参考安装jdk步骤,在/usr目录下新建hadoop目录,将hadoop安装包上传至usr的hadoop目录。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、执行如下命令将其解压到当前文件夹,然后ls查看。

sudo tar -zxvf hadoop-3.2.1.tar.gz

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
4、配置环境变量,执行sudo vi /etc/profile 添加如下环境变量:

export HADOOP_HOME="/usr/hadoop/hadoop-3.2.1"
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

这里建议和JAVA_HOME合并着写,如图:
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
5、保存退出后,执行source /etc/profile使修改生效,接着执行echo $PATH查看path。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
6、执行hadoop version看是否正常运行,能看到版本号说明配置成功。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

下图是需要修改的配置文件,这些文件的默认配置可以参考官方文档,文档左下角有个Configuration。

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
7、执行cd /usr/hadoop/hadoop-3.2.1/etc/hadoop/进入配置文件的所在目录,然后ls查看。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
8、修改hadoop-env.sh 配置运行环境变量,默认情况下,该文件没有任何配置,执行如下命令在文件末添加配置然后保存退出:

sudo vi hadoop-env.sh

配置如下:

export JAVA_HOME=/usr/java/jdk1.8.0_111
export HDFS_NAMENODE_USER=hadoop
export HDFS_DATANODE_USER=hadoop
export HDFS_SECONDARYNAMENODE_USER=hadoop
export YARN_RESOURCEMANAGER_USER=hadoop
export YARN_NODEMANAGER_USER=hadoop
JAVA_HOME:指定JDK路径
注意:如果是root用户如下全部指定为root即可!
HDFS_NAMENODE_USER:指定操作NameNode进程的用户
HDFS_DATANODE_USER:指定操作DataNode进程的用户
HDFS_SECONDARYNAMENODE_USER:指定操作 Secondary NameNode进程的用户,我们这里指定的用户是hadoop,具体应用时,据实际情况而定。
这三个配置是hadoop3.x为了提升安全性而引入的。
日志信息默认在${HADOOP_HOME}/logs中,也可以自行配置目录。

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
9、执行sudo vi core-site.xml修改core-site.xml,在configuration中添加如下配置:(如果为了让Windows浏览器能访问到,可以写虚拟机ip,无须windows访问可以使用master主机名,我们这使用主机名)。

<property>
  <name>fs.defaultFS</name>
  <value>hdfs://master:9820</value>
</property>

<property>
  <name>hadoop.tmp.dir</name>
  <value>/usr/hadoop/hadoopdata</value>
</property>

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

以上配置参数解释:
fs.defaultFs 指NameNode所在节点,value这里配置master;端口9820;hdfs指协议
hadoop.tmp.dir 指配置元数据存放的位置,默认值为”/tmp/hadoop-${user.name}”。Linux操作系统重启后,这个目录会被清空,这可能导致数据丢失,因此需要修改,
value这里配置为/usr/hadoop/hadoopdata, 后续如果查看fsiamge和edits文件,可以在这个目录下找

10、执行sudo vi hdfs-site.xml配置hdfs-site.xml,添加如下代码:

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

参数解释:dfs.replication:配置副本数量,默认是3,一般我们副本数量要小于等于DataNode数量

注意一下这两个默认配置:
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
11、执行sudo vi mapred-site.xml配置mapred-site.xml ,添加如下代码:

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

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

这是配置mapreduce调度模式,默认是local本地模式,这里我们使用yarn模式。

12、执行sudo vi yarn-site.xml配置yarn-site.xml ,添加如下代码:

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

<property> 
<name>yarn.nodemanager.env-whitelist</name> 
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CL 
ASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> 
</property> 

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

1、执行如下指令将/usr/hadoop目录赋予777权限,否则后面HDFS格式化会出错,提示无法创建目录。

sudo chmod -R 777 /usr/hadoop

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
2、执行如下命令进入hadoop-3.2.1目录。

cd /usr/hadoop/hadoop-3.2.1

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
3、执行如下指令格式化hdfs文件系统。

bin/hdfs namenode -format
注意:只需要格式化一次,不需要每次使用都格式化,如果格式化出错,最好先删除/usr/hadoop/hadoopdata目录再重新格式化

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
4、执行如下指令启动hadoop所有进程。

sbin/start-all.sh

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
5、启动完成后,执行如下命令查看已启动进程

jps

有如下进程,说明Hadoop正常启动。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
7、在浏览器中输入:http://192.168.217.100:8088/cluster 即可看到YARN的ResourceManager的界面。
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
8、namenode查看地址:http://192.168.217.100:9870
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
9、datanode查看地址:http://192.168.217.100:9864
Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发
10、执行sbin/stop-all.sh停止hadoop,下次启动只需进入hadoop-3.2.1目录直接执行sbin/start-all.sh即可。

附:端口变化:Hadoop3.x相较于之前的版本来说,在端口的设置上发生了一些变化,先就这些端口变化总结如下图:

Hadoop3.x伪分布式环境搭建图文详解教程,让你快速入门大数据开发

不得不说,Hadoop伪分布式环境搭建是很复杂的一个过程,对于第一次尝试搭建的同学,整个过程搭建起来起码需要几个小时甚至更久,而且还需要绝对的耐心与细心,只要一步走错,可能启动就失败了,这是很令人抓狂的事情,但作为一名合格的程序员,这些磨炼都是必须的呢!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/java/bigdata/287.html
喜欢 (15)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】

(1) 个小伙伴在畅所欲言
  1. 用户头像
    您好。为什么教程没有 master 主机没有分机的安装过程呢。
    黑白 2022-04-25 18:11 回复