使用虚拟机搭建Hadoop集群的步骤及出现问题总结

虚拟机搭建hadoop集群的步骤及问题总结

1. 总体描述

​ 尝试使用VMware搭建hadoop集群,共设置四台装有Hadoop环境的虚拟机,其中一台设置为主,其余为从,他们都在同一局域网下,网关为192.168.106.2:,各节点具体信息如下:

主机名 IP NameNode SecondNameNode DataNode
node1/hadoop-master 192.168.106.200
node2 192.168.106.202
node3 192.168.106.203
node4 192.168.106.204

2. 虚拟机安装centos7

参考文章: https://blog.csdn.net/qq_41938660/article/details/104184727

3. 虚拟机相关配置

3.1 设置固定IP

​ 默认情况下centos7安装好后,他的IP是通过DHCP协议动态分配的,但在我们实际的使用虚拟机的过程是通过xshell之类的远程连接工具连接虚拟机后操作的,这就带来了一个问题,初始一阵子没问题,但是过几天xshell就连接不上了,这是因为DHCP获取的动态IP改变了,不在是我们xshell中记录的那个IP,所以我们需要把IP地址设置成静态的,将它固定下来。

3.2 可能遇到的问题

配置错误:

  1. 要保证开启vm的服务,重点是nat,(搜索->服务)

    使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第1张图片

  2. 配置 vmware8虚拟网卡的地址,要和VMware中的网关在同一网段 win10 -> 设置 ->网络和Internet ->更改适配器

    使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第2张图片

**参考文章:**https://www.cnblogs.com/lfhappy/p/10798400.html

3.2 启动centos直接进入命令行界面

  1. 打开虚拟机,启动centos,默认进入图形界面,使用root用户登录后,右键终端terminal

  2. 终端输入“init 3” 回车进入命令行

  3. 输入“systemctl get-default” 获得当前系统启动模式(mult-user.target 为命令行)

  4. systemctl set-default multi-user.target 将图形改为命令行

  5. systemctl set-default graphical.target 将命令行改成图形

3.3 安装sftp服务

参考文章: https://blog.csdn.net/zhangyingchengqi/article/details/103566761

3.4 关闭防火墙

  1. 查看防火墙状态
  systemctl status firewalld 
  1. 关闭防火墙
systemctl stop firewalld
  1. 取消开机自动开启防火墙
systemctl disable firewalld.service

4. 基础环境搭建

4.1 jdk安装

参考文章: https://www.cnblogs.com/dai123/p/15736690.html

遇到的问题:

  1. 自己没有jdk安装包,需要去Oracle的官网下载,下错版本了

    错误提示:/bin/java: cannot execute binary file: Exec format error

    使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第3张图片

    参考文章:https://blog.csdn.net/qq_45699990/article/details/122004336?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122004336-blog-78974185.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-122004336-blog-78974185.pc_relevant_antiscanv2&utm_relevant_index=2

4.2 时间同步

**参考文件:**https://blog.csdn.net/Owen_goodman/article/details/122807721

4.3 配置host文件

这个就是为了地址映射,比如说node1就映射成192.168.106.200。

  1. 在centos 7中的 /etc/hosts中添加一下信息:

​ 192.168.76.200 node1 hadoop-master nn
​ 192.168.76.202 hadoop-node2 snn dn1
​ 192.168.76.203 hadoop-node3 dn2
​ 192.168.76.204 hadoop-node4 dn3

  1. windows 中的 C:\Windows\System32\drivers\etc\hosts也加入上述信息。

5. 横向扩展虚拟机数量

遇到的问题:

  1. 将hadoop-master虚拟机复制一份,重命名成hadoop-node2,然后将其IP地址改成192.168.102.4后,使用 xshell还是连接不上。

原因: 当我们通过(service sshd status)命令查看ssh服务,发现其启动失败

解决方案: https://blog.csdn.net/sj349781478/article/details/122859361

6. 免密设置

node1/hadoop-master免密登录

  1. 第一步,先尝试着在node1节点登录node1节点,我们发现还是需要输入密码的:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第4张图片

  1. 在node1节点上生成公钥和私钥:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第5张图片

  1. 将生成的公钥放入受信任的authorized_keys文件中去:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第6张图片

  1. 再次尝试着登录node1,我们发现不需要密码了:

image-20220607133905614

扩展到所有节点

  1. 通过scp将node1节点的公钥文件传入node2的/tmp目录,其余节点同理:

image-20220607134928075

查看一下,是否上传成功了:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第7张图片

  1. node2 节点生成公钥和私钥,并将自己的公钥和node1的公钥存入受信任文件中:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第8张图片

注意: 这个图中的authorized_key是个错的还需要加一个‘s’。

  1. 其余节点同理操作,测试一下,可见不需要密码了:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第9张图片

遇到问题

  1. scp命令不存在

    注意:发送方和接受方都必须安装好scp

    参考文章: https://blog.csdn.net/h254541060/article/details/48378489

7 Hadoop配置

在/etc/profile中配置hadoop的环境信息

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第10张图片

注意两点:1. HADOOP_NAME 的路径配置正确

​ 2.记得发布HADOOP_NAME ( export )

验证:

  1. 查看hadoop的版本信息和输入一个常用命令(hdfs)是否有如下提示:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第11张图片

修改hadoop配置文件

  1. 在hadoop271/etc/hadoop/hadoop-env.sh中添加 JAVA_HOME

image-20220607152609457

  1. 在hadoop271/etc/hadoop/core-site.xml中添加如下配置,

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第12张图片

注意:hadoopdata文件夹是不存在的,有hadoop自己创建,如果有请删除。

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第13张图片

  1. 在hadoop271/etc/hadoop/slaves 中指定 三台datanode:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第14张图片

  1. 自己创建masters文件,添加如下信息,指定secondaryNameNode:

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第15张图片

运行

​ 在hadoop-master(node1)节点中输入start-dfs.sh运行hadoop,看看自己的那么node,secondaryName,DataNode是不是和当初设想对的上(在总体描述中的表格里面)。

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第16张图片

8 测试

进程信息

  1. node1/hadoop-master

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第17张图片

  1. hadoop-node2(它既是datanode也是secondaryNameNode ,所以有两个进程)

    使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第18张图片

  2. hadoop-node3

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第19张图片

  1. hadoop-node4和hadoop-node3类似

web页面测试

  1. 浏览器测试namenode http://node1:50070

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第20张图片

  1. 浏览器测试node2 http://hadoop-node2:50090

使用虚拟机搭建Hadoop集群的步骤及出现问题总结_第21张图片

注意: 如果访问不了,先关闭node1和node2的防火墙。

你可能感兴趣的:(hadoop专题,hadoop,hdfs,linux)