序言:通过文章简要介绍简要介绍Hadoop集群的重要性和应用场景,以及搭建和配置Hadoop集群的基本步骤和难点
一、学习背景
在大数据时代,Hadoop以其高效处理海量数据的能力,成为了企业和研究机构不可或缺的工具。本次学习,我深入了解了Hadoop集群的搭建和配置过程,旨在提升对Hadoop集群管理的实际操作能力。
二、Hadoop集群搭建步骤
在此之前我们需要安装VMware,在VMware里面安装Centos7系统
还需要下载一个hadoop安装包并安装,这个在后面的应用中非常重要。
-
设置静态IP
切换超级用户,命令:su
固定IP:
查看和修改文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
点击 i 键,更改当前编辑模式(切换为输入模式insert),Esc键退出编辑模式,:wq保存并退出,如果出现错误不能退出 !q 强制退出。
在编辑ifcfg-ens33
文件时,您可能会修改以下一些常见的参数:
BOOTPROTO
:设置网络启动协议,通常设置为static
(静态)或dhcp
(动态主机配置协议)。IPADDR
:静态IP地址(如果BOOTPROTO
设置为static
)。NETMASK
:子网掩码。GATEWAY
:默认网关地址。DNS1
和DNS2
:首选和次选DNS服务器地址。
YPE="Ethernet"PROxY METHOD="none"BROWSER ONLY="no""BOOTPROTo"static"DEFROUTE=yes"
IPv4FAILURE_FATAL="no"IPv6INIT="yes"
IPv6_AUTOCONF="yes"IPv6_DEFROUTE="yes"
IPv6_FAILURE_FATAL=" no"
IPv6ADDR_GEN_MODE="stable-privacy"NAME="ens33"
UUID="c23e67f1-dd7e-464b-bfcd-eea2f949c11c"DEVICE="ens33"
ONBOOT='yes'
IPADDR=192.168.53.100
GATEWAY=192.168.53.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
IP网段查询:
编辑->虚拟网络编辑器->查看VMnet8的子网地址,前面3个就是我们的IP网段192.168.53.XXX
一切成功后重启网关:
service network restart
显示OK ,我们继续下一步
三、远程连接虚拟机
-
准备虚拟机:
- 确保虚拟机已经安装并运行,例如CentOS、Ubuntu等。
- 在虚拟机中安装并启动SSH服务。对于Ubuntu或Debian系统,可以使用
sudo apt install openssh-server
命令来安装SSH服务。对于CentOS或Red Hat系统,可以使用sudo yum install openssh-server
(或在新版本中可能是sudo dnf install openssh-server
)。 - 启动SSH服务后,可以使用
sudo systemctl start sshd
命令来确保SSH服务正在运行。 - 在虚拟机中关闭防火墙或允许SSH连接通过防火墙。对于使用firewalld的系统,可以使用
sudo systemctl stop firewalld
命令来停止防火墙服务,或者使用sudo firewall-cmd --add-service=ssh --permanent
和sudo firewall-cmd --reload
命令来允许SSH连接。
-
获取虚拟机的IP地址和用户名:
- 在虚拟机中打开终端,输入
ifconfig
或ip addr
命令来查看网络接口的IP地址。找到虚拟机用于外部连接的网络接口(如eth0或ens33),并记下其IP地址。 - 虚拟机的用户名通常是你在安装虚拟机时设置的用户名,或者你可以使用root用户(但出于安全考虑,通常不建议使用root用户进行远程连接)。
- 在虚拟机中打开终端,输入
- 使用MobaXterm连接虚拟机:
- 打开MobaXterm软件。
- 点击界面左上角的“Session”按钮,或者从菜单栏中选择“Session”选项。
- 在弹出的窗口中,选择“SSH”作为连接类型。
- 在“Remote host”字段中输入虚拟机的IP地址。
- 在“Specify username”字段中输入虚拟机的用户名。
- 点击“OK”按钮。
- 如果虚拟机设置了SSH密钥认证,你需要在MobaXterm中配置相应的私钥文件。如果设置了密码认证,则需要在弹出的窗口中输入虚拟机的密码。
- 显示页面:
- 验证连接:
- 如果连接成功,你将在MobaXterm的终端窗口中看到虚拟机的命令提示符。
- 现在你可以通过MobaXterm远程执行虚拟机上的命令和操作了。
四、防火墙
查看防火墙状态:systemctl status firewalld
active(running)表示防火墙在启动状态
2.关闭防火墙:systemctl stop firewalld
inactive(dead)表示已经关闭防火墙了
3.查看防火墙是否开机自启:systemctl is-enabled firewalld
- enabled:表示开机自启
- disabled:表示开机不自启
4.禁止防火墙开机自启,命令:systemctl disable firewalld
五、设置主机名
hostnamectl set-hostname master
master是主机名,使用logout命令登出,再重新登录,用户名改变。
设置主机名和IP的映射
vi /etc/hosts
一般ip+主机,如192.168.203.200 master
需要添加当前主机名和其他副本
需要安装java和hadoop这个不过多解释,请自行查找资料
六、配置文件修改
- 编辑
core-site.xml
,设置Hadoop核心参数,如文件系统类型、NameNode地址等。 - 编辑
hdfs-site.xml
,配置HDFS相关参数,如数据块大小、副本数等。 - 编辑
mapred-site.xml
(可能需从mapred-site.xml.template
复制),配置MapReduce框架参数。 - 编辑
yarn-site.xml
,配置YARN资源管理器参数,如NodeManager地址、内存分配等。
集群启动与测试
- 使用
start-dfs.sh
和start-yarn.sh
脚本启动Hadoop集群。 - 使用
jps
命令检查NameNode、DataNode、ResourceManager、NodeManager等进程是否启动成功。 - 通过HDFS命令行工具进行文件上传、下载、查看等操作,验证HDFS功能。
- 提交MapReduce任务,测试Hadoop集群的数据处理能力
hdfs namenode -format开启集群(注意只开一次)
- 启动集群
进入Hadoop安装目录:cd $HADOOP_HOME
sbin/start-dfs.sh
sbin/start-yarn.sh
mapred --daemon start historyserver
2.关闭集群
cd $HADOOP_HOME
sbin/stop-yarn.sh
sbin/stop-dfs.sh
mapred --daemon stop historyserver
监控Hadoop集群
1.HDFS监控--sbin/start-dfs.sh
http://192.168.53.100:9870/
2.Yarn监控--sbin/start-yarn.sh
http://master:8088/或者http://192.168.53.100:8088/
3.日志监控--mapred --daemon start historyserver
http://master:19888/或者http://192.168.53.100:19888/
请根据自己的网络IP改
七、学习难点与解决方案
- SSH免密登录配置:在配置SSH免密登录时,可能会遇到权限问题或密钥不匹配的问题。解决方案是仔细检查密钥文件的权限和格式,确保密钥匹配并正确放置。
- 配置文件参数设置:Hadoop的配置文件参数众多,初学者容易混淆。解决方案是参考官方文档和社区经验,结合实际需求进行配置。
- 集群启动失败:在启动Hadoop集群时,可能会遇到进程启动失败的情况。解决方案是查看日志文件,根据错误信息进行排查和修复。
八、学习感悟
通过本次学习,我深刻体会到Hadoop集群搭建和配置的复杂性和挑战性。然而,在不断尝试和解决问题的过程中,我也收获了很多宝贵的经验。我明白了在搭建Hadoop集群时,需要充分考虑硬件环境、操作系统和Hadoop版本之间的兼容性;在配置Hadoop时,需要仔细阅读官方文档和社区经验,确保每个参数都设置得合理和准确。同时,我也意识到在大数据领域,持续学习和实践是非常重要的。当然,学会查找资料,网络分析的去解决问题是必要的,想要长期的发展,只有不断学习和实践,才能更好地掌握Hadoop等大数据技术,为企业创造更大的价值。