基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)

基于CentOS7搭建Hadoop的完全分布式模式

0.软件版本

镜像文件:CentOS-7-x86_64-Minimal-2009.iso
百度网盘链接:https://pan.baidu.com/s/1DWlPCRX5HlmKAqwMIRW4_w
提取码:lo0a

Hadoop:hadoop-2.9.2.tar.gz
百度网盘链接:https://pan.baidu.com/s/1T140oYVnLOUkP-cqMBvIIQ
提取码:96as

JDK:jdk-8u201-linux-x64.tar.gz
百度网盘链接:https://pan.baidu.com/s/1NDjAvVIP0BhfNflaLeA_fw
提取码:fpc5

HBase:hbase-2.2.6-bin.tar.gz
百度网盘链接:https://pan.baidu.com/s/1FB3ETvheJI66fwUwkS4jnQ
提取码:nty9

1. 准备工作

在Win10中安装VMware Workstation Pro(以下简称VM)。
在VM中新建1台虚拟机(建议配置2核CPU,4G内存),选择下载的CentOS7镜像文件进行安装,安装时,软件选择为默认的“最小安装”,系统安装位置为默认的“自动分区”(需要点击确认),网络设置要将默认的“未连接”改为“打开”(记录下IP地址和网关信息),网络选择NAT模式,修改电脑主机名为hadoop01(记得点击应用)。

具体安装步骤:(若熟悉虚拟机创建的同学可以跳过此步)

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第1张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第2张图片

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第3张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第4张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第5张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第6张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第7张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第8张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第9张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第10张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第11张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第12张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第13张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第14张图片
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第15张图片
打开新建好的虚拟机
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第16张图片
其余的都默认选择
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第17张图片

按照以上方法再搭建hadoop02、hadoop03、hadoop04和hadoop05(此处不克隆的原因是克隆的ip地址一样,主机名也一样,虽然修改即可,但为了防止后续出错因此没有选择克隆)
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第18张图片

在Win10中安装XShell和XFtp

免费版XShell和XFtp下载网址
注意:后续对CentOS的操作都通过Xshell,使用root用户执行!

编辑Win10的hosts文件
(所在目录为C:\Windows\System32\drivers\etc,建议使用Notepad++或Sublime Text软件编辑该文件,不要使用win10自带的记事本)
hosts文件中增加以下内容(实际IP地址以安装CentOS时记录的地址为准):
192.168.76.140 hadoop01
192.168.76.141 hadoop02
192.168.76.142 hadoop03
192.168.76.143 hadoop04
192.168.76.144 hadoop05
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第19张图片

此次用三台虚拟机来搭建完全分布式。hadoop01是主节点,运行进程NameNode、SecondaryNameNode、ResourceManager;hadoop02、hadoop03、hadoop04、hadoop05是从节点,运行进程DataNode、NodeManager。

2. 设置静态网卡(五台虚拟机都需要操作,此处以hadoop01为例)

在hadp01虚拟机上设置静态网卡,操作步骤如下:
查看本机IP:ip addr
切换工作目录:cd /etc/sysconfig/network-scripts
编辑网卡文件:vi ifcfg-ens33

注:vi的基本用法
(打开文件后,按下i键,进入insert模式,开始编辑
编辑完成后,按下ESC,输入:wq,即可保存并退出,输入:q,表示不保存并退出)

将BOOTPROTO的值修改为static(默认是dhcp)
在文件末尾增加以下内容(注意:IPADDR和GATEWAY的值要与本机实际数据保持一致)

IPADDR=192.168.76.140
NETMASK=255.255.255.0
GATEWAY=192.168.76.2
DNS1=114.114.114.114
DNS2=119.29.29.29

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第20张图片

保存后,执行systemctl restart network,即可重启网卡,使设置生效
在这里插入图片描述

3. 配置主机名(五台虚拟机都需要操作,此处以hadoop01为例)

在虚拟机上编辑hosts文件vi /etc/hosts
在虚拟机的hosts文件中增加以下内容

192.168.76.140 hadoop01
192.168.76.141 hadoop02
192.168.76.142 hadoop03
192.168.76.143 hadoop04
192.168.76.144 hadoop05

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第21张图片

4.在CentOS中关闭防火墙和Selinux(五台虚拟机都需要操作,此处以hadoop01为例)

在虚拟机上关闭防火墙

systemctl stop firewalld.service

禁止防火墙开机时启动。

systemctl disable firewalld.service

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第22张图片

在虚拟机上关闭Selinux

vi /etc/selinux/config
将SELINUX=enforcing修改为SELINUX=disabled

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第23张图片

执行reboot重启CentOS系统,使设置生效

5.配置SSH免密登录(五台虚拟机都需要操作,此处以hadoop01为例)

在hadoop01上执行ssh-keygen -t rsa生成公私钥,按三次回车键,执行完毕后,将在用户主目录下生成.ssh文件夹,其中包括公私钥文件。
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第24张图片

执行命令ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop01
把公钥发送到hadoop01、hadoop02、hadoop03、hadoop04和hadoop05

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop02
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop03
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop04
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop05

执行过程中提示Are you sure you want to continue connecting (yes/no)?时,输入yes
执行过程中根据提示输入root用户密码(密码输入时没有显示)
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第25张图片

6.传输jdk和hadoop的安装文件(五台虚拟机都需要操作,此处以hadoop01为例)

在Win10中下载jdk-8u201-linux-x64.tar.gz和hadoop-2.9.2.tar.gz

在hadoop01上创建目录用于保存安装文件mkdir -p /home/root/apps
通过Xftp软件,将保存在Win10中的jdk-8u201-linux-x64.tar.gz和hadoop-2.9.2.tar.gz传递到hadoop01的/home/root目录中
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第26张图片

7.安装jdk(五台虚拟机都需要操作,此处以hadoop01为例)

在hadoop01上执行命令cd /home/root,切换到目录/home/root下

执行命令tar -xzvf jdk-8u201-linux-x64.tar.gz -C apps/ 将jdk解压到指定目录中(/home/root/apps)

执行命令vi /etc/profile 编辑/etc/profile文件,在文件的末尾设置JAVA环境变量

export JAVA_HOME=/home/root/apps/jdk1.8.0_201 
export PATH=$PATH:$JAVA_HOME/bin

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第27张图片

执行命令source /etc/profile ,让/etc/profile文件修改后立即生效

查看jdk版本信息java -version ,如果能够显示正确版本信息,说明配置成功
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第28张图片

8. 安装Hadoop2.9.2

(1)五台虚拟机都需要操作,此处以hadoop01为例

在hadoop01上执行命令cd /home/root,切换到目录/home/root下
执行命令tar -xzvf hadoop-2.9.2.tar.gz -C apps/将hadoop解压到指定目录中(/home/root/apps)
在这里插入图片描述
可以删除目录中的文档

cd /home/root/apps/hadoop-2.9.2/share
rm -rf doc

在这里插入图片描述
vi /etc/profile 编辑/etc/profile文件,设置Hadoop环境变量

export JAVA_HOME=/home/root/apps/jdk1.8.0_201
export HADOOP_HOME=/home/root/apps/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第29张图片
执行命令source /etc/profile ,让/etc/profile文件修改后立即生效

执行命令cd /home/root/apps/hadoop-2.9.2/etc/hadoop,切换到目录/home/root/apps/hadoop-2.9.2/etc/hadoop下
可以执行ll命令,查看当前目录中的内容
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第30张图片

(2)下面操作只在hadoop01上进行

编辑core-site.xml文件

vi core-site.xml

fs.defaultFS:
1)指定hadoop的文件系统为hdfs,默认值为file:///,表示本地文件系统,
2)指定hdfs的namenode节点为哪台机器

hadoop.tmp.dir:
默认值为/tmp/hadoop-${user.name},当CentOS系统重启后,由于/tmp目录内容会被清除,可能导致Hadoop无法正常启动,建议在第一次安装时修改默认值。当Hadoop系统运行后再修改,需要重新格式化namenode才有效。


    fs.defaultFS</name>
hdfs://hadoop01:9000</value>
</property>

    hadoop.tmp.dir</name>
/home/root/apps/hadoop-2.9.2/tmp</value>
</property>

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第31张图片

编辑hdfs-site.xml文件

vi hdfs-site.xml

dfs.replication:指定文件副本数量,默认值为3,完全分布式方式改为2
dfs.name.dir:指定namenode软件存储元数据的本地目录
dfs.data.dir:指定datanode软件存放文件块的本地目录
dfs.namenode.secondary.http-address:指定SecondaryNamenode的地址


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

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第32张图片

编辑mapred-site.xml文件

根据模板创建mapred-site.xml文件:
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

mapreduce.framework.name:指定资源管理器,默认值是local,应该修改为yarn


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

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第33张图片

编辑yarn-site.xml文件

vi yarn-site.xml

yarn.nodemanager.aux-services:指定辅助服务
yarn.resourcemanager.hostname:指定resourcemanager的地址


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

    yarn.resourcemanager.hostname</name>
hadoop01</value>
</property>

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第34张图片

编辑hadoop-env.sh文件

vi hadoop-env.sh

将默认的export JAVA_HOME=${JAVA_HOME}替换为export JAVA_HOME=/home/root/apps/jdk1.8.0_201

在这里插入图片描述

编辑yarn-env.sh文件

vi yarn-env.sh

将默认的# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
替换为export JAVA_HOME=/home/root/apps/jdk1.8.0_201
记得删除这一行最前面的#
在这里插入图片描述

编辑mapred-env.sh文件

vi mapred-env.sh

将默认的# export JAVA_HOME=/home/y/libexec/jdk1.6.0/
替换为export JAVA_HOME=/home/root/apps/jdk1.8.0_201
记得删除这一行最前面的#
在这里插入图片描述

编辑slaves文件

vi slaves

将默认的localhost改为hadoop02、hadoop03、hadoop04、hadoop05
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第35张图片

将hadoop01的配置文件传送给hadoop02、hadoop03、hadoop04、hadoop05

cd /home/root/apps/hadoop-2.9.2/etc/
scp -r hadoop hadoop02:/home/root/apps/hadoop-2.9.2/etc/
scp -r hadoop hadoop03:/home/root/apps/hadoop-2.9.2/etc/
scp -r hadoop hadoop04:/home/root/apps/hadoop-2.9.2/etc/
scp -r hadoop hadoop05:/home/root/apps/hadoop-2.9.2/etc/

格式化namenode节点:

hdfs namenode -format

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第36张图片

启动Hadoop集群

cd /home/root/apps/hadoop-2.9.2/sbin
./start-all.sh

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第37张图片
提示Are you sure you want to continue connecting (yes/no)?时,输入yes
在这里插入图片描述
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第38张图片

输入jps显示当前所有java进程pid,查看Hadoop是否启动成功(hadoop01是主节点,运行进程NameNode、SecondaryNameNode、ResourceManager;hadoop02、hadoop03、hadoop04、hadoop05是从节点,运行进程DataNode、NodeManager)。

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第39张图片
hadoop02、hadoop03、hadoop04、hadoop05的pid进程一样
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第40张图片

在Windows中启动浏览器查看运行情况(推荐使用Google Chrome浏览器)
HDFS的Web端口号是50070
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第41张图片

YARN的Web端口号是8088
基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第42张图片

9.运行Hadoop示例程序(在hadoop01上进行)

在Hadoop的share目录里,自带了一些jar包,里面带有一些mapreduce实例小例子,位置在share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar,可以运行这些例子体验刚搭建好的Hadoop平台,我们这里来运行计算PI值的实例

cd /home/root/apps/hadoop-2.9.2/share/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-2.9.2.jar pi 10 1000

基于CentOS7搭建Hadoop完全分布式模式和HBase完全分布式(超详细)_第43张图片

10.停止Hadoop(在hadoop01上进行)

cd /home/root/apps/hadoop-2.9.2/sbin
./stop-all.sh

11. 关闭虚拟机

CentOS 关机:init 0
关闭Xshell
关闭VMware workstation

到此Hadoop完全分布式已搭建成功!
后续将继续更新关于HBase的完全分布式搭建,
感谢观看!
(注:第一次发文,如有错误和疑问,欢迎在评论区指出)

补充:HBase的完全分布式搭建已更新,https://blog.csdn.net/qq_47527477/article/details/120169183

你可能感兴趣的:(大数据基础,hadoop,hbase,虚拟机)