发布时间:2025-12-10 11:47:03 浏览次数:21
本案例使用VMware Workstation Pro虚拟机创建虚拟服务器来搭建hadoop集群,所用软件及版本如下:
这里我就不提供了,相信大家都有.
三台虚拟机再加上windows本身, 需要同时运行4台机器, 所以在分配的时候, 每台虚拟机的内存为: 总内存 ÷ 4,比如电脑总内存为16G,则每台虚拟机内存为4G即4096。
下面是以node1为例对内存进行配置:
node2和node3都是从node1克隆过来的,他们的MAC地址都一样,所以需要让node2和node3重新生成MAC地址,生成方式如下:
1、配置node2的MAC地址
1)使用VMware打开node2
2)右键点击node2,选择设置
3)生成新的MAC地址
2、配置node3的MAC地址
node3的配置方式和node2相同,不再重复
三台虚拟机的IP地址配置如下:
node1: 192.168.88.161
node2 192.168.88.162
node3: 192.168.88.163
node1的IP地址是原有的已经配置好了,接下来配置node2和node3:
1:配置node2主机IP
1)修改ip配置文件,设置IP地址vim /etc/sysconfig/network-scripts/ifcfg-ens33 2)重启网络服务systemctl restart network # 重启网络服务 3)查看ip地址ifconfig 4)测试网络连接ping www.baidu.com
2:配置node3主机IP
node3主机IP的配置方式和node2一样,将其IP地址设置为:192.168.88.163,在这里不再重复。
Selinux的默认工作模式是强制模式,配置如下:
将Selinux工作模式关闭:
1、为什么要免密登录
Hadoop 节点众多, 所以一般在主节点启动从节点, 这个时候就需要程序自动在主节点登录到从节点中, 如果不能免密就每次都要输入密码, 非常麻烦。
2、免密 SSH 登录的原理
3、实现步骤
第一步:三台机器生成公钥与私钥
在三台机器执行以下命令,生成公钥与私钥
执行该命令之后,按下三个回车即可,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),默认保存在/root/.ssh目录。
第二步:拷贝公钥到同一台机器
在执行该命令之后,需要输入yes和node1的密码:
第三步:复制第一台机器的认证到其他机器
第四步:测试SSH免密登录
可以在任何一台主机上通过ssh 主机名命令去远程登录到该主机,输入exit退出登录例如:在node1机器上,免密登录到node2机器上ssh node1exit效果如下:
为什么需要时间同步
因为很多分布式系统是有状态的, 比如说存储一个数据, A节点 记录的时间是1, B节点 记录的时间是2, 就会出问题。
在业务环境中,有时候为了安全,大数据集群的节点不允许连接外网,这时,我们可以采用第二种方式来进行时钟同步。
以192.168.88.161这台服务器的时间为准进行时钟同步
第一步:在node1虚拟机安装ntp并启动:
安装ntp服务yum -y install ntp启动ntp服务systemctl start ntpd 设置ntpd的服务开机启动#关闭chrony,Chrony是NTP的另一种实现systemctl disable chrony #设置ntp服务为开机启动systemctl enable ntpd第二步:编辑node1的/etc/ntp.conf文件
编辑node1机器的/etc/ntp.confvim /etc/ntp.conf 在文件中添加如下内容(授权192.168.88.0-192.168.88.255网段上的所有机器可以从这台机器上查询和同步时间)restrict 192.168.88.0 mask 255.255.255.0 nomodify notrap注释一下四行内容:(集群在局域网中,不使用其他互联网上的时间)#server 0.centos.pool.ntp.org#server 1.centos.pool.ntp.org#server 2.centos.pool.ntp.org#server 3.centos.pool.ntp.org去掉以下内容的注释,如果没有这两行注释,那就自己添加上(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)server 127.127.1.0 fudge 127.127.1.0 stratum 10 配置以下内容,保证BIOS与系统时间同步 vim /etc/sysconfig/ntpd 添加一行内容 SYNC_HWLOCK=yes
第三步:另外两台机器与第一台机器时间同步
到此结束!!! 一个完整的hadoop集群搞定.