VMware中搭建Hadoop集群简易步骤(文字版)

VMware中搭建Hadoop集群(文字版)

所用各工具版本:

  • 系统镜像:CentOS-7-x86_64-DVD-1810
  • VM version:VMware Workstation Pro15
  • Java version:jdk-8u221-linux-x64
  • Hadoop version:hadoop-2.7.7

准备步骤:

  • 下载CentOS-7镜像、下载匹配的Sun JDK包、下载匹配的Hadoop包
  • 将Vmware中的VMnet8网络设置成“NAT模式”,设置子网IP、子网掩码、网关

集群规划:

  • 集群搭建之前,应该进行 集群规划 ,文件中的某些配置需要基于对集群的规划,进行配置之前,需要先计划好Hadoop中的各个组件服务器应该搭载在哪台主机上,实现 负载均衡,避免由于宕机而造成不可逆损失,集群规划 是搭建分布式环境之前的最重要步骤之一,本次实验中具体规划如下:
hadoop101 hadoop102 hadoop103
HDFS NameNode
DateNode
DateNode DateNode
SecondaryNameNode
YARN NodeManager ResourceManager
NodeManager
NodeManager

正式步骤:

1. 安装系统镜像

  • “软件安装” 选择“Server with GUI”,这样就具备了如ssh、UI界面等一系列基本工具,“磁盘划分” 选择默认或者自己手动分区都可,自定义最好

2. 创建root用户和普通用户

  • 注意普通用户的用户名必须要全部小写,本次创建的用户名为tomandersen

3. 安装Vmware Tools

  • 打开桌面自带的磁盘镜像,解压tar.gz到桌面,执行文件夹中vmware-install.pl文件,安装完成后,在Linux系统中调整分辨率到合适配置

4. 添加普通用户sudo权限并实现免密使用sudo命令

  • 方法1: 使用 visudo命令 或者直接手动修改 /etc/sudoers配置文件,在root ALL=(ALL) ALL后方添加设置,格式为 <用户名> ALL=(ALL) NOPASSWD:ALL,如tomandersen ALL=(ALL) NOPASSWD:ALL即可实现指定用户使用sudo命令无需密码,也可以使用命令“sudo -s”实现无密码登录root用户。
  • 方法2: 或者也可以使用实现组内用户全部免密使用sudo命令:①创建名为hadoop的用户组,②将用户添加到hadoop组,③将root组成员设置成全部免密:格式为%<组名> ALL=(ALL) NOPASSWD:ALL,如%hadoop ALL=(ALL) NOPASSWD:ALL

5. 修改网卡名(可以不修改)

6. 设置静态IP:

7. 修改主机名:

  • 方法1: 可以手动编辑 /etc/sysconfig/network文件,添加或者设置NETWORKING=yesHOSTNAME=<新主机名>HOSTNAME=hadoop101重启生效
  • 方法2: 使用命令格式为hostnamectl set-hostname <新主机名>,如hostnamectl set-hostname hadoop101立即生效
  • 方法3: 修改/etc/hostname文件,直接添加进这个文件的字符串即为主机名,如hadoop101重启生效

8. 配置/etc/hosts文件

  • 添加集群中各个主机IP地址与主机名的映射关系,如
192.168.126.101 hadoop101
192.168.126.102 hadoop102
192.168.126.103 hadoop103

9. 禁用防火墙 firewalld

  • systemctl disable firewalld.service
  • 注意:在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理

10. 在/opt/下创建module和software文件夹并将所属权赋给之前创建的普通用户

  • 创建文件夹:sudo mkdir modulesudo mkdir software
  • 改变文件夹所属组和所属用户:sudo chown tomandersen:tomandersen module/ software/

11. 使用XShell工具远程连接主机Hadoop101将JDK和Hadoop包传入到/opt/software/路径下

  • 可以在XShell中使用rz命令,或者直接拖拽文件到对应区域

12. 卸载现有JDK

  • 使用yum命令查看是否安装有JDK:sudo yum list installed | grep java,然后将jdk相关包删除:sudo yum remove <包名>
  • 自带的是Open JDK,这里我们使用Sun JDK

13. 重装JDK

  • /opt/software/路径下的JDK解压到/opt/module/路径下:tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/module/(因为解压目录不在当前路径下所以使用tar命令需要增加-C参数)
  • 设置和添加全局环境变量JAVA_HOMEPATH:使用sudo+vi命令修改/etc/profile文件,在末尾添加export JAVA_HOME=/opt/module/jdk1.8.0_221export PATH=$PATH:$JAVA_HOME/bin
  • 重新加载/etc/profile文件使其生效:source /etc/profile,检查环境变量JAVA_HOME:which java

14. 安装Hadoop

  • 同样将/opt/software/路径下的Hadoop包解压到/opt/module/路径下:tar -xzvf hadoop-2.7.7.tar.gz -C /opt/module/
  • 设置和添加全局环境变量HADOOP_HOMEPATH:使用sudo+vi命令修改/etc/profile文件,在末尾添加export HADOOP_HOME=/opt/module/hadoop-2.7.7export PATH=$PATH:$HADOOP_HOME/bin
  • 重新加载/etc/profile文件使其生效:source /etc/profile,检查是否安装成功:hadoop version

15. 配置Hadoop

16. 完全拷贝虚拟机并且更改新其他主机名和IP

  • 完全拷贝虚拟机hadoop101,生成hadoop102hadoop103,这样hadoop101的配置信息也一并同步到了其他主机中
  • hadoop102hadoop103中将主机名分别设置成对应主机名:hostnamectl set-hostname hadoop102hostnamectl set-hostname hadoop103
  • 分别修改主机IP地址,本次实验中hadoop102hadoop103地址分别设置为192.168.126.102192.168.126.103,然后重启网卡更新IP地址

17. 设置各主机间ssh免密登录

18. 使用ntp进行集群时间同步

19. 格式化NameNode节点

  • 在第一次启动集群之前需要格式化NameNode节点hdfs namenode -format或者hadoop namenode -format,建议用前者,后者命令将被弃用
  • 如果不是第一次格式化NameNode,需要事先删除datalogs文件夹

20. 启动HDFS集群

  • 使用hadoop-2.7.7/sbin/路径下的start-dfs.sh脚本启动HDFS集群,在节点上使用jps命令查看Java进程,观察进程启动情况是否和集群规划中的匹配
  • 注意:只能在NameNode主机上启动HDFS集群,否则无法启动NameNode进程,而只能启动DataNode

21. 启动YARN集群:

  • 使用hadoop-2.7.7/sbin/路径下的start-yarn.sh脚本启动YARN集群,在节点上使用jps命令查看Java进程,观察进程启动情况是否和集群规划中的匹配
  • 注意:只能在ResourceManager主机上启动YARN集群,否则无法启动ResourceManager进程,而只能启动NodeManager

22. 运行测试:

  • 使用Hadoop自带的例子测试集群是否搭建成功,观察运行结果:
  • hadoop jar /opt/module/hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 10 10
全部评论

相关推荐

11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务