1、虚拟机采用Linux,Red hat32, CentOS-6.5-i386-minimal.iso ,精简版本。
网络采用桥接模式,和物理机公用一个IP段。
2、修改联网设置, cd /etc/sysconfig/network-scripts/, vi ifcfg-eth0 这个文件,
ONBOOT 修改为yes,打开上网开关,MM_CONTROLLED修改为yes,表示配置文件修改,不需要手动启动
BOOTTPROTO=dhcp, 自动分配IP. 然后输入命令ifconfig,可以查看路由和IP。
最后可以修改为static,固定IP,增加IPADDR,NETMASK,GATEWAY=192.168.1.1 一般这个。
9)关闭防火墙
service iptables stop
service ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
SELINUX=disabled
关闭windows的防火墙
后面要搭建集群,有的大数据技术的集群之间,在本地你给了防火墙的话,可能会没有办法互相连接,会导致搭建失败
(10)配置yum
yum clean all
yum makecache
yum install wget
------------------------------------------------------------------------------------------
2、在每个CentOS中都安装Java和Perl
WinSCP,就是在windows宿主机和linux虚拟机之间互相传递文件的一个工具
(1)安装JDK
cd /usr/local
rm -rf * 删除没有用的文件夹
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
很多讲师,拿着自己之前花了很多时间调试好的虚拟机环境,去讲课,这个很不负责任
下面2都市编译需要的包
yum install -y build-essential
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应用
------------------------------------------------------------------------------------------
cat /etc/hosts
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免密码互相通信
(1)首先在三台机器上配置对本机的ssh免密码登录
ssh-keygen -t rsa
生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
cd /root/.ssh
cp id_rsa.pub authorized_keys
将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
(2)接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中
java,在公司里做项目,有几个人是自己去维护linux集群的啊?????
几乎没有,很少很少,类似这一讲要做的事情,其实都是SRE,运维的同学,去做的
但是对于课程来说,我们只能自己一步一步做,才有环境去学习啊!!!
scp authorized_keys eshop-cache04:/root/.ssh
ssh-copy-id -i eshop-cache03
ssh eshop-cache04
------------------------------------------------------------------------------------------
基于虚拟机的linux集群环境,都准备好了,手上有4台机器,后面玩儿各种redis、kafka、storm、tomcat、nginx,都有机器了
cd /usr/local
ssh-keygen -t rsa
cd /root/.ssh
cp id_rsa.pub authorized_keys
ssh eshop-cahe01 (防火墙关闭的)
logout
(重复以上操作,在eshop-cache02\eshop-cache03 eshop-cache04)
回到cache01,
ssh-copy-id -i eshop-cache02 (需要确认 和密码)
ssh eshop-cache02 测试是否可以免密码SSH
logout
ssh-copy-id -i eshop-cache03
ssh eshop-cache03
logout
ssh-copy-id -i eshop-cache04 (需要确认 和密码)
ssh eshop-cache04 测试是否可以免密码SSH
logout
下面是 在其他电脑上注册eshop-cache01,
在cache02机器,如果前面已经操作过,在/root/.ssh/known_hosts中存在cach01的ID,需要删除:
分别在 eshop-cache02, eshop-cache03,eshop-cache04 重复操作
cd /root/.ssh
ssh-copy-id -i eshop-cache01
ssh eshop-cache01
共享key,避免重复操作。
scp authorized_keys eshop-cache02:/root/.ssh
scp authorized_keys eshop-cache03:/root/.ssh
scp authorized_keys eshop-cache04:/root/.ssh