教程大纲
在虚拟机中安装CentOS
在每个CentOS中都安装Java和Perl
在4个虚拟机中安装CentOS集群
配置4台CentOS为ssh免密码互相通信
注意事项
从零开始,纯手工,一步一步搭建出一个4个节点的CentOS集群。
为我们后面的课程做准备,后面会讲解大型的分布式的redis集群架构,一步一步纯手工搭建redis集群,集群部署,主从架构,分布式集群架构。
后面的课程,会讲解一些实时计算技术的应用,包括storm,讲解一下storm的基础知识,对于java工程师来说,会用就可以了,用一些storm最基本的分布式实时计算的feature就ok了,搭建一个storm的集群。
部署我们整套的系统,nginx,tomcat+java web应用,mysql。
尽量以真实的网络拓扑的环境,去给大家演示一下整套系统的部署,不要所有东西,redis集群+storm集群+nginx+tomcat+mysql,全部放在一个节点上玩儿,也可以去试一试,但是作为课程来说,效果不是太理想。
redis集群,独立的一套机器
storm集群,独立的一套机器
nginx,独立部署
tomcat + java web应用,独立部署
mysql,独立部署
十几个机器,去部署整套系统,我在自己的笔记本电脑上来讲课的,这么玩儿撑不住的。
i5,8G+Mac OS 凶他
4台虚拟机,每台虚拟机是1G的内存,电脑基本还能撑住
电脑本身就6个G内存的话,学习这种大型的系统架构的课程,是有点吃力,给大家建议,几个G的内存条,也就几百块钱,给自己最好加个内存条,至少到8G以上
16G凑合,玩的很嗨。
纯手工,从零开始。
很多视频课程,里面讲师都是现成的虚拟机,自己都装好了,包括各种必要的软件
讲课的时候直接基于自己的虚拟机就开始讲解了
很多同学就会发现,想要做到跟讲师一样的环境都很难,自己可能照着样子装了个环境,但是发现,各种问题,各种报错,环境起不来。
学习课程的过程很艰难
学视频课程,肯定是要跟着视频的所有的东西自己去做一做,练一练,结果你却因为环境问题,做不了,连不了,那就太惨了
从centos的镜像文件,到所有的需要使用的软件,全都给你,在自己电脑上,下载一个虚拟机管理软件,virtual box,就可以跟着玩儿了
如果你一步一步跟着视频做,搭建起整个环境,应该问题不大
环境问题,给大家弄成傻瓜式的。
1、在虚拟机中安装CentOS
动一个virtual box虚拟机管理软件(vmware,我早些年,发现不太稳定,主要是当时搭建一个hadoop大数据的集群,发现每次休眠以后再重启,集群就挂掉了)
virtual box,发现很稳定,集群从来不会随便乱挂,所以就一直用virtual box了.
1.使用课程提供的CentOS 6.5镜像即可,CentOS-6.5-i386-minimal.iso。
2.创建虚拟机:
打开Virtual Box
点击“新建”按钮
点击“下一步”
输入虚拟机名称为eshop-cache01
选择操作系统为Linux,选择版本为Red Hat,分配1024MB内存,后面的选项全部用默认。
在Virtual Disk File location and size中,一定要自己选择一个目录来存放虚拟机文件,最后点击“create”按钮,
开始创建虚拟机。
3.设置虚拟机网卡:
选择创建好的虚拟机,点击“设置”按钮,在网络一栏中,连接方式中,选择“Bridged Adapter”。
4.安装虚拟机中的CentOS
6.5操作系统:选择创建好的虚拟机,点击“开始”按钮,选择安装介质(即本地的CentOS 6.5镜像文件),选择第一项开始安装-Skip-欢迎界面Next-选择默认语言-Baisc Storage Devices-Yes, discard any data-主机名:spark2upgrade01-选择时区-设置初始密码为hadoop-Replace Existing Linux System-Write changes to disk-CentOS 6.5自己开始安装。
5.Reboot
安装完以后,CentOS会提醒你要重启一下,就是reboot,你就reboot就可以了。
6.配置网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
配置内容如下所示:
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp
service network restart
ifconfig
BOOTPROTO=static
IPADDR=192.168.0.X
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
service network restart
7.配置hosts
vi /etc/hosts
配置本机的hostname到ip地址的映射
8.关闭防火墙
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
SELINUX=disabled
注意:一定要关闭本地宿主机上的防火墙。
后面要搭建集群,有的大数据技术的集群之间需要通信,在本地你设置了防火墙的话,可能会导致集群之前没办法互相连接,相互通讯,会导致搭建失败。
9.配置yum
yum clean all
yum makecache
yum install wget
2、在每个CentOS中都安装Java和Perl
1.安装JDK
1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中
2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm
3、配置jdk相关的环境变量
vi .bashrc
export JAVA_HOME=/usr/java/latest
export PATH=$PATH:$JAVA_HOME/bin
source .bashrc
4、测试jdk安装是否成功:java -version
2.安装Perl
yum install -y gcc
wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz
tar -xzf perl-5.16.1.tar.gz
cd perl-5.16.1
./Configure -des -Dprefix=/usr/local/perl
make && make test && make install
perl -v
为什么要装perl?我们整个大型电商网站的详情页系统,复杂。java+nginx+lua,需要perl。
perl,是一个基础的编程语言的安装,tomcat,跑java web应用
3.在4个虚拟机中安装CentOS集群
(1)按照上述步骤,再安装三台一模一样环境的linux机器
(2)另外三台机器的hostname分别设置为eshop-cache02,eshop-cache03,eshop-cache04
(3)安装好之后,在每台机器的hosts文件里面,配置好所有的机器的ip地址到hostname的映射关系
比如说,在eshop-cache01的hosts里面
192.168.31.187 eshop-cache01
192.168.31.xxx eshop-cache02
192.168.31.xxx eshop-cache03
192.168.31.xxx eshop-cache04
4、配置4台CentOS为ssh免密码互相通信
4.1
首先在三台机器上配置对本机的ssh免密码登录
ssh-keygen -t rsa
生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
cd /root/.ssh
cp id_rsa.pub authorized_keys
将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
4.2
接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中
java,在公司里做项目,有几个人是自己去维护linux集群的啊?????
几乎没有,很少很少,类似这一讲要做的事情,其实都是SRE,运维的同学,去做的
但是对于课程来说,我们只能自己一步一步做,才有环境去学习啊!!!
基于虚拟机的linux集群环境,都准备好了,手上有4台机器,后面玩儿各种redis、kafka、storm、tomcat、nginx,都有机器了.
利其事,必先利其器!下节继续!
个人博客:http://www.markfork.com
个人简书:https://www.jianshu.com/u/c169fce5179b
慕课网:https://www.imooc.com/u/2150709/articles
网友评论