Linux CentOS 大数据集群的基础配置(1) 通用基本配置
创建三台相同配置的虚拟机
首先创建3个空文件夹,分别用来装3台虚拟机。
打开VMware
点击创建新的虚拟机,选择自定义,点击下一步
选择Workstation15.x或者Workstation14.x都行
选择稍后安装操作系统
选择Linux CentOS64位
这是第一个,选择node01,下一步
更改虚拟机名称为node01,下一步
双核处理器,下一步
4G内存,下一步
使用NAT,下一步
选择LSI Logic,下一步
选择SCSI,下一步
创建新的虚拟磁盘,下一步
磁盘40G,拆分多个文件,下一步
直接下一步
点击完成
到这里就创建成功了
现在,按照上述步骤,把node01的部分改为node02,node03,再创建两个相同配置的虚拟机
步骤参照上面的就行。
第二台
第三台
到这里,第一部分就完成了,下一部分是三台虚拟机分别安装操作系统
打开VMware,选中三台中的第一台虚拟机,点击开启此虚拟机
如果出现这个窗口,点击否
开机后,卡在这里,说明没使用iso镜像
关机
编辑此虚拟机设置
点击浏览,找到你的iso镜像文件
然后打开
勾选启动时连接,点击确定
开启此虚拟机
在这里直接按回车
稍等片刻,出现如下界面,点击skip
点next
选择中文简体,再next
键盘选美国英语式,next
使用基本存储设备,next
出现一个窗口,选择 是,忽略所有数据
主机名修改为node01,下一步
时间地区 选 亚洲,上海,下一步
根密码,就是root用户密码,这里我用123456
无论如何,都要用123456
点击使用所有空间,下一步
在弹出的对话框中,选择将修改写入磁盘
选择basic server,下一步
等待安装完成…
安装完成了,点击重新引导
到这里就安装完成了
接下来,你需要为另外两台虚拟机,按照上述步骤分别安装相同的操作系统
刚才,你使用了所有空间,而大数据集群的配置需要使用自定义空间。
创建虚拟机,安装系统,一直到下面这一步
首先创建一个标准分区
挂载到/ 根目录下 ext4 类型 指定大小20480MB (20G)
再按照相同步骤,创建引导分区
挂载到/boot ext4类型 固定大小200MB
再创建标准分区 swap类型 指定空间大小4096MB
再创建标准分区 挂载/mnt/disk1 ext4类型 指定大小8192MB
再创建标准分区 挂载/mnt/disk2 ext4类型 指定大小7990MB
分区完毕后格式化
将修改写入磁盘
再下一步,其它步骤按照正常安装进行。
总结:
5个都是标准分区
挂载到/ 根目录下 ext4 类型 指定大小20480MB
挂载到/boot ext4类型 固定大小200MB
swap类型 指定空间大小4096MB
再创建标准分区 挂载/mnt/disk1 ext4类型 指定大小8192MB
再创建标准分区 挂载/mnt/disk2 ext4类型 指定大小7990MB
完成图是这样的
动态网络的配置
刚安装完系统,输入用户名和密码进入系统
输入ifconfig查看ip信息。
输入如下命令,进入网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 编辑网络配置文件
把ONBOOT=no改为ONBOOT=yes,保存退出
输入如下命令,重启网络服务
service network restart
或者
/etc/init.d/network restart
联网状态下输入如下命令,检测动态网络是否配置完成,如果出现如下效果,则完成
ping www.baidu.com
静态网络的配置
配置静态网络之前,确保你完成了动态网络的配置
输入如下命令,选择进入Network configuration
setup
进入Device configuration
进入eth0
在红色箭头处选中*,按空格打开下方信息输入栏
按空格后变成这样
Static IP 自己定义IP
第一台虚拟机建议配置为192.168.100.201
第二台虚拟机建议配置为192.168.100.202
第三台虚拟机建议配置为192.168.100.203
Netmask 固定格式255.255.255.0
Default gateway IP 必须与下面的截图内的相同
DNS 固定格式 8.8.8.8
点击编辑,虚拟网络编辑器
选择VMnet8模式 ,点击NAT设置按钮
出现网关IP的信息,这个就是上面要填的Default gateway IP
最终填入信息如下,选择ok,回车
出现如下界面,选择save,回车
出现如下界面,选择save&quit,回车
出现如下界面,选择quit,回车
返回到黑窗口了。
输入如下命令,重启网络服务
service network restart
或者
/etc/init.d/network restart
联网状态下输入如下命令,检测静态网络是否配置完成,如果出现如下效果,则完成
ping www.baidu.com
输入如下命令,查看静态ip,正是我们配置的192.168.100.201
ifconfig
到这里,第一台的静态网络就配置成功了,按照上述步骤,分别配置第二台和第三台
(第二台静态ip为192.168.100.202,第三台静态ip为192.168.100.203,方便后续操作)
关闭防火墙
由于虚拟机使用内网环境 安全性比较高, 防火墙开启会影响效率, 所以 关闭防火墙
(1)输入如下命令,暂时关闭防火墙
service iptables stop
(2)输入如下命令,设置开机不启动防火墙,相当于永久关闭
chkconfig iptables off
(3)输入如下命令,查看防火墙的状态,是否关闭
service iptables status
其它两台同样按上述步骤配置
关闭selinux
输入如下命令,进入selinux配置文件
vim /etc/selinux/config
将SELINUX=enforcing注释,并新增一行SELINUX=disabled,退出并保存(强制 wq!)
其它两台同样按上述步骤配置
更改主机名
输入如下命令,进入主机名配置文件
vim /etc/sysconfig/network
将node01改为hadoop01,保存退出
另外两台仿照上述步骤操作,三台主机名分别更改为:
node01 改为 hadoop01
node02 改为 hadoop02
node03 改为 hadoop03
给ip地址起别名
输入如下命令,进入ip地址起别名的配置文件
vim /etc/hosts
在文件尾添加如下内容,保存退出
192.168.100.201 hadoop01
192.168.100.202 hadoop02
192.168.100.203 hadoop03
测试,ping自己,ping hadoop01,成功起别名
其它两台同样按上述步骤配置
也可以使用scp命令,把已经配置好的/etc/hosts文件拷贝到其它虚拟机的
/etc/目录下面,看情况使用。
ssh免密登录
首先测试ssh登录
ssh hadoop02
输入密码后,登陆成功
现在,设置免密登录
(1)把你的node01,node02,node03虚拟机都开启
(2)在hadoop01,hadoop02,hadoop03上分别执行
ssh-keygen,连续按三次回车,出现如下效果
cd /root/.ssh/ [enter]
ssh-keygen [enter]
[enter]
[enter]
[enter]
切换到 /root/.ssh/目录
ll
# 查看当前目录下的文件和文件夹的详细信息
发现有俩文件,一个id_rsa,一个id_rsa.pub,前者是密钥,后者是公钥
(3)然后执行如下命令,创造hadoop01的免密通行证
ssh-copy-id hadoop01
# 把你的钥匙信息放入一个文件中
输入yes,回车,出现如下界面,让你输入hadoop01的密码
你这次输入密码之后,以后再访问hadoop01都不用再输入密码了,不信咱们试试
现在ssh访问hadoop01试试,果然,不需要密码了
退出ssh连接,再试一次
同理,记录hadoop02,hadoop03的密码,以后就都免密登录了。
同理,分别在hadoop02,hadoop03也这样配置一遍,它们之间就可以互相免密登录了!
也可以使用scp命令,把已经配置好的/root/.ssh目录拷贝到其它虚拟机的
/root/目录下面,达到快速配置的目的,看情况使用。
集群时钟同步
在hadoop01,hadoop02,hadoop03中分别执行如下代码
ntpdate ntp4.aliyun.com
下面以hadoop03为例展示效果
这样,三台hadoop集群设备的时间,就与ntp4.aliyun.com统一了。
然而大数据集群是不联网的,所以,需要把其它设备的时间,与第一台设备的时间统一。
我们这里以hadoop01的时间为准,让其它设备与它统一时间。
(1)首先设置hadoop01 的时间为2012年12月21日 12:00:00(方便查看效果)
date -s "2012-12-21 12:00:00"
(2)检查hadoop01是否安装了ntpd服务
rpm -qa | grep ntpd
发现已经安装了
没有安装的可以使用如下命令安装
yum -y install ntpd
(3)查看ntpd服务的状态
service ntpd status
发现这个服务处于关闭状态
(4)打开ntpd服务,设置开机自启动ntpd服务
service ntpd start
# 打开ntpd服务
chkconfig ntpd on
# 设置ntpd服务开机自启动
(5)编辑ntpd的配置
vim /etc/ntp.conf
在文件末尾添加以下内容,用来配置时钟广播地址
restrict 192.168.100.0 mask 255.255.255.0 nomodify notrap
注释以下四行内容:
server0.centos.pool.ntp.org
server1.centos.pool.ntp.org
server2.centos.pool.ntp.org
server3.centos.pool.ntp.org
去掉以下内容的注释,如果没有这两行注释,那就自己添加上
server 127.127.1.0 # localclock
fudge 127.127.1.0 stratum 10
最后保存退出即可。
(6)配置以下内容,保证BIOS与系统时间同步
vim /etc/sysconfig/ntpd
新开一行添加以下内容,保存退出
SYNC_HWLOCK=yes
重启ntpd服务
service ntpd restart
注意: 如果更改ntp时钟服务器的时间,也需要重启 ntpd 服务
到这里,hadoop01就被配置成了一个时钟服务器= =
接下来只需要让hadoop02 和hadoop03与hadoop01时钟同步即可
切换到hadoop02和hadoop03,分别输入以下内容
npddate hadoop01
(扩展)设置每隔一小时就同步一次时间
crontab -e
# 编辑定时任务
加入以下命令保存退出即可
* */1 * * * /usr/sbin/ntpdate hadoop01