环境搭建
一、安装虚拟机后主要的设置
1、先临时性设置虚拟机ip地址:ifconfig eth0 192.168.31.248,在/etc/hosts文件中配置本地ip(192.168.31.248)到host(spark1)的映射
2、配置windows主机上的hosts文件:C:\Windows\System32\drivers\etc\hosts,192.168.31.248 spark1
3、使用Xmanager从windows上连接虚拟机
4、永久性配置CentOS网络
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.31.248
NETMASK=255.255.255.0
GATEWAY=192.168.56.1
备注:另外两台的ip和domain别为
192.168.31.249(spark2)
192.168.31.250(spark3)
5、重启网卡
service network restart
6、即使更换了ip地址,重启网卡,可能还是联不通网。那么可以先将IPADDR、NETMASK、GATEWAY给删除,将BOOTPROTO改成dhcp。然后用service network restart重启网卡。此时linux会自动给分配一个ip地址,用ifconfig查看分配的ip地址。然后再次按照之前说的,配置网卡,将ip改成自动分配的ip地址。最后再重启一次网卡。
二、关闭防火墙
1、关闭防火墙
service iptables stop
chkconfig iptables off
vi /etc/selinux/config
SELINUX=disabled
自己在win7的控制面板中,关闭windows的防火墙!
2、配置dns服务器
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
验证网络是否正常
pingwww.baidu.com
三、修改repo(Error: Cannot retrieve repository metadata (repomd.xml) for repository)
1、修改repo
使用WinSCP(网上很多,自己下一个),将CentOS6-Base-163.repo上传到CentOS中的/usr/local目录下
cd /etc/yum.repos.d/
rm -rf *
mv 自己的repo文件移动到/etc/yum.repos.d/目录中:cp /usr/local/CentOS6-Base-163.repo .
修改repo文件,把所有gpgcheck属性修改为0
2、配置yum
yum clean all
yum makecache
yum install telnet
四、安装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
5、rm -f /etc/udev/rules.d/70-persistent-net.rules
说明:
1、安装上述步骤,再安装两台一模一样环境的虚拟机,因为后面hadoop和spark都是要搭建集群的。
2、集群的最小环境就是三台。因为后面要搭建ZooKeeper、kafka等集群。
3、另外两台机器的hostname分别设置为spark2和spark3即可,ip分别为192.168.31.249和192.168.31.250
4、在安装的时候,另外两台虚拟机的centos镜像文件必须重新拷贝一份,放在新的目录里,使用各自自己的镜像文件。
5、虚拟机的硬盘文件也必须重新选择一个新的目录,以更好的区分。
6、安装好之后,记得要在三台机器的/etc/hosts文件中,配置全三台机器的ip地址到hostname的映射,而不能只配置本机,这个很重要!
7、在windows的hosts文件中也要配置全三台机器的ip地址到hostname的映射。
五、免密登录设置
1、首先在三台机器上配置对本机的ssh免密码登录
生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下
ssh-keygen -t rsa
将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了
cd /root/.ssh
cp id_rsa.pub authorized_keys
2、接着配置三台机器互相之间的ssh免密码登录
使用ssh-copy-id -i spark命令将本机的公钥拷贝到指定机器的authorized_keys文件中(方便好用)
--------------------------------------------------------------------------------------------------------------
一、双方机器都是root用户登陆方法
A为本地主机(即用于控制其他主机的机器) ;
B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;
A和B的系统都是Linux
在A上运行命令:
# ssh-keygen -t rsa (连续三次回车,即在本地生成了私钥(id_rsa) 与公钥 (id_rsa.pub),不设置密码)
# ssh root@10.9.192.44 "mkdir .ssh" (需要输入密码)
# scp ~/.ssh/id_rsa.pub root@192.168.60.110:.ssh/id_rsa.pub (需要输入密码)
在B上的命令:
# touch /root/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)
# cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys (将id_rsa.pub的内容追加到authorized_keys 中)
回到A机器:
# ssh root@192.168.60.110 (不需要密码, 登录成功)
二、远程主机不是root用户(比如普通用户test)登陆方法
A为本地主机(即用于控制其他主机的机器) ;
B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;
A和B的系统都是Linux
在A上运行命令:
# ssh-keygen -t rsa (连续三次回车,即在本地生成了公钥和私钥,不设置密码)
# ssh test@192.168.60.110 "mkdir .ssh" (需要输入密码)
# scp ~/.ssh/id_rsa.pub test@192.168.60.110:.ssh/id_rsa.pub (需要输入密码)
在B上的命令:
# touch /home/test/.ssh/authorized_keys (如果已经存在这个文件, 跳过这条)
# cat /home/test/.ssh/id_rsa.pub >> /home/test/.ssh/authorized_keys (将id_rsa.pub的内容追加到authorized_keys 中)
修改test/.ssh和authorized_keys的权限
#chmod 700 test
#chmod 700 .ssh
#chmod 600 authorized_keys
回到A机器:
# ssh test@192.168.60.110 (不需要密码, 登录成功)
------------------------------------------------------------------------------------------------------------