Hadoop分布式集群搭建


————————————————————————————————————————

搭建前的准备

一台在虚拟机上完成网络配置且连上网络的CentOS7作为master,如果还没配置好,点击这里查看并完成

进入实验

关闭防火墙

以下是centOS7关闭防火墙的命令,另外假如是centOS6的小伙伴请看这里centOS6 关闭命令
查看防火墙状态:

firewall-cmd --state

查看的结果显示:如是关闭状态:not running ;如是启动状态:running。
关闭防火墙:

systemctl stop firewalld

启动防火墙:

systemctl start firewalld

安装JDK并配置环境

  1. 在这里我们的master是完成网络配置的了,我们可以搜索并下载自己需要的应用。以下指令是搜索JDK的指令,在命令行直接键入就可以。
yum search jdk

执行命令后会出现好多结果,那么我们应该怎么选择呢?
我们首先是选择jdk1.8的版本啦,还有就是开发环境(Development Environment),所以选择下图的版本:
在这里插入图片描述

  1. 找到之后把“:”前的版本名字复制下来(现在用XShell连接了,方便操作),然后用来执行以下命令下载并安装:
yum install java-1.8.0-openjdk-devel.x86_64
  1. 完成下载并安装后,查看安装在哪个目录并配置Java环境,以下方法查看jdk路径:
    java路径查看
  • 首先执行:whereis java;
  • 然后ls -l 第一个路径;
  • 继续l执行ls -l 第一次 ls 得出的结果路径;
  • 最后复制图片选中部分(/bin之前的路径)。
  1. 用上面复制的路径去配置Java环境,执行下面指令打开配置文件:
vi /etc/profile

打开配置文件后,在末尾添加以下配置环境内容:
java环境配置
然后,执行“Esc+:wq”保存退出。

  1. 执行以下指令使配置环境生效:
source /etc/profile

对master克隆两份镜像

点击查看我的另一篇克隆记录,在这里只需要克隆两个即可,这里演示是slave1和slave2。

修改克隆镜像的IP地址

因为是对原始主机克隆出来的,ip地址也是一样的,每台机器的ip都不一样的,所以需要进行修改。
进入liunx的网络配置文件进行修改ip,最好是连续的吧,即master的ip的ip是192.168.80.200,那么slave1的就为192.168.80.201,方便记忆;如不知道,具体查看linux网络配置

修改主机名及映射IP地址

执行“hostname”命令查看主机名,结果如下:
hostname
上图是输出默认的主机名,如果在集群里使用这个默认名字会不方便管理,所以我们要修改名字。
详细点击这IP映射主机名

免密登录

主服务器(master)配置免密登录(SSH)到从服务器(slave1)和从服务器(slave2)。

  1. 主节点(master)机器中创建ssh秘钥,输入如下命令,红框位置直接回车即可。
ssh-keygen -t rsa

在这里插入图片描述

  1. 将公钥拷贝到从节点1(slave1)机器,第一个红框位置输入yes,第二个红输位置输入root密码。
ssh-copy-id slave1

在这里插入图片描述

  1. 将公钥拷贝到从节点2(slave2)机器, 第一个红框位置输入yes,第二个红输位置输入root密码。
ssh-copy-id slave2

在这里插入图片描述

  1. 同样道理,将公钥拷贝到主节点(master)本机。
ssh-copy-id master
  1. 验证由主节点(master)机器通过ssh方式免密登录到从节点1(slave1)。
ssh slave1

在这里插入图片描述

  1. 退出从节点1(slave1)
exit

在这里插入图片描述

  1. 验证由主节点(master)机器通过ssh方式免密登录到从节点2(slave2)
ssh slave2

在这里插入图片描述

  1. 退出从节点2(slave2)
exit

在这里插入图片描述

  1. 以上只是实现了由master主机到slave1和slave2免密登录,那么slave1和slave2到master,还有slave1到slave2,这两种情况是还没有实现免密登录的,需要免密登录重复上述步骤就可以啦。

准备所需要的Hadoop安装包

  1. 用Xshell执行rz指令进行上传即可,然后解压指令:
tar xzvf (.tar.gz后缀名的安装包名) -C 指定解压到的目录

“ -C” 参数:大写,用来指定解压路径目录
在这里,以下就选择解压目录为 /opt

  1. 修改解压后为文件名为hadoop
mv /opt/hadoop-2.7.4 /opt/hadoop

在这里插入图片描述

配置master主机的相关文件

配置/etc/profile环境变量文件
在刚刚配置好的/etc/profile文件末尾加上以下的配置路径:
在这里插入图片描述
这里,我的hadoop路径是“/opt/hadoop”,你要寻找你的解压路径在哪了。
然后,按键Esc,按键:wq保存退出,刷新配置文件:

source /etc/profile

配置/opt/hadoop/etc/hadoop/hadoop-env.sh文件
执行命令打开配置文件:

vi /opt/hadoop/etc/hadoop/hadoop-env.sh

修改配置文件,注释方框里的第一行JAVA_HOME路径默认值,添加自己本机的java路径(可以参考java环境里的路径)。
在这里插入图片描述
配置/opt/hadoop/etc/hadoop/core-site.xml文件

vi /opt/hadoop/etc/hadoop/core-site.xml

在如下图位置添加以下内容:

<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>

在这里插入图片描述
配置/opt/hadoop/etc/hadoop/hdfs-site.xml文件

vi /opt/hadoop/etc/hadoop/hdfs-site.xml

在如下图位置添加以下内容:

<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/opt/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/hadoop/hdfs/data</value>
</property>

在这里插入图片描述
配置/opt/hadoop/etc/hadoop/mapred-site.xml文件
这个文件名的文件是不存在的,需要我们复制/opt/hadoop/etc/hadoop/mapred-site.xml.tmplate 文件改为名为mapred-site.xml 。

cp /opt/hadoop/etc/hadoop/mapred-site.xml.template /opt/hadoop/etc/hadoop/mapred-site.xml

接着编辑/opt/hadoop/etc/hadoop/mapred-site.xml文件,在如下图位置添加以下内容:

<property>
    <name>mapreduce.job.tracker</name>
    <value>hdfs://master:8001</value>
    <final>true</final>
</property>

<property>
    <name>mapred.job.tracker</name>
    <value>master:9001</value>
</property>


在这里插入图片描述
配置/opt/hadoop/etc/hadoop/yarn-site.xml文件

vi /opt/hadoop/etc/hadoop/yarn-site.xml

在如下图位置添加以下内容:

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

在如下图位置添加以下内容:
在这里插入图片描述
配置/opt/hadoop/etc/hadoop/slaves文件

vi /opt/hadoop/etc/hadoop/slaves

打开后,文件内容如下:
在这里插入图片描述
接着,按键dd删除首行,按键i添加如下内容;

slave1
slave2

在这里插入图片描述
为什么要这样做呢?很容易理解啦,作为老大的master,当然需要份作为小弟
slave的花名册啦!

拷贝配置文件到从服务器

  1. 拷贝主节点(master)主机/etc/profile到从节点1(slave1)主机/etc下
scp /etc/profile slave1:/etc

在这里插入图片描述

  1. 拷贝主节点(master)主机/etc/profile到从节点2(slave2)主机/etc下
scp /etc/profile slave2:/etc

在这里插入图片描述

  1. 拷贝主节点(master)主机/opt/hadoop到从节点1(slave1)主机/opt下
scp -r /opt/hadoop slave1:/opt
  1. 拷贝主节点(master)主机/opt/hadoop到从节点2(slave2)主机/opt下
scp -r /opt/hadoop slave2:/opt
  1. 切换到从节点1(slave1)机器上,输入如下指令:
source /etc/profile

在这里插入图片描述
6. 切换到从节点2(slave2)机器上,输入如下指令:

source /etc/profile

在这里插入图片描述

格式化HDFS

切换到主节点(master)机器上,命令行中执行如下指令,格式化hdfs:

hdfs namenode -format

图片示例:
在这里插入图片描述

启动集群并查看进程

  1. 主节点(master)机器命令行中执行如下指令,启动集群:
start-all.sh

在这里插入图片描述

  1. 主节点(master)机器命令行中执行如下指令,查看进程:
    命令“jps”用于查看进程情况
jps

主节点执行命令,进程正常启动:
在这里插入图片描述
slave1从节点执行命令,进程正常启动:
在这里插入图片描述
slave2从节点执行命令,进程正常启动:
在这里插入图片描述
到这里,所有的配置都完成了!

若有不足之处望留言!

——————END———————
Programmer:柘月十七

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值