2016-07-24 | Spark | UNLOCK

Spark 开发环境搭建(二)-virtual box 虚拟机配置静态IP 和上网

1. 设置机器名字

为了方便集群中集群相互访问及辨识,我们把当前的机器名字修改为master,其他机器命名为slave1,slave2

1
2
3
sudo hostnamectl -sethostname "master"   // 设置主机名字
hostnamectl status --transient // 查看临时主机名字
hostnamectl status --static

1.修改主机名字

此时已经完成了主机名字的修改。

2. 网络设置

如果你是跟随着上一节内容而来,那么此时你已经完成了一个虚拟机的安装,接下来我们将要进行其他其他必要的设置。

2.1 关闭防火墙

打开刚才新建的虚拟机,查看防火墙状态,具体操作如下

1
systemctl status firewalld.service  // 查看防火墙状态

2.查看防火墙状态

看到绿色的 active(running) 表示防火墙已打开,通过下面的步骤关闭防火墙

1
2
3
systemctl stop firewalld.service  // 关闭防火墙
systemctl disable firewalld.service //永久停用防火墙
systemctl status firewalld.service // 再次查看防火墙状态

3.查看防火墙停用后的状态

备注:如果修改不生效,尝试重启机器。

3. 系统更新并安装工具

首先确定机器是否成功连接互联网

1
ping www.baidu.com

如果系统未联网,则上条命令会执行出错。
更新系统、安装工具

1
2
3
sudo yum update
sudo yum install -y net-tools // 安装ifconfig 工具
sudo yum install -y vim

4. IP配置

利用ifconfig命令查看当前网卡状态

4.网络状态

你看到的应该和我的不一样,因为我的是已经配置过得。左边的enp0s3enp0s8是我们再创建虚拟机时添加的网卡,前面是NAT连接用来连接互联网,后面是HOST ONLY连接用来指定静态IP,有可能你的只有前面网卡,而没有后面的网卡,不过不要紧,我们可以手动创建。进入到网卡配置网卡的位置

1
cd /etc/sysconfig/network-scripts/

5.网卡配置

接下来我们要在第二个网卡也就是enp0s8中配置固定IP,如果该文件不存在,那么执行如下命令(最好在安装虚拟机时就添加该网卡)

1
sudo cp ifcfg-enp0s3 ifcfg-enp0s8

网卡默认配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
HWADDR="08:00:27:13:32:7F"   
TYPE="Ethernet"
BOOTPROTO="dhcp" // 需要修改,启动方式,dhcp是动态生成,static 是静态
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="4fc4d4b5-bf4a-44d1-b929-2dbfabd50b8d"
ONBOOT="yes" // 是否开机启动

修改后的配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
TYPE=Ethernet
BOOTPROTO=static // 静态IP
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp0s8
UUID=3f19ccd2-06a3-4052-b370-37ad9178a6d4
ONBOOT=yes // 开机启动
ADDR=192.168.56.112 // 新添加的ip地址,与ifconfig查看时一致,也可以设置成其他
DNS=255.255.255.0 // 新添加网关

之后修改hosts内容,将机器名字与IP地址进行绑定,这样通过机器名字就可登录

1
sudo vim /etc/hosts

看到的内容如下:

1
2
3
4
5
6
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.112 master // 新添加,机器IP 机器名字
192.168.56.108 slave1 // 新添加, ip地址可以在所有机器修改完之后再进行修改
192.168.56.109 slave2 // 新添加, ip地址可以在所有机器修改完之后再进行修改
master 192.168.56.112 // 新添加,

之后重启机器。

5. ssh 设置

前面的步骤基本完成了一台机器的配置,但ssh还没有安装,所以还没发测试能ssh登录,安装ssh秘钥

1
2
ssh-keygen -t rsa  // 一直回车,直到结束为止
 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys // 记录机器key的文件,下次免认证

修改sshd config文件,无密码ssh 登录

1
sudo vim /etc/ssh/sshd_config

确保以下内容可用(去掉注释#)

1
2
3
4
5
RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

重启服务

1
service sshd restart

测试验证,

1
2
3
ssh localhost     // 第一次登录,会提示是否记录秘钥,输入yes即可,以后免密码登录
exit
ssh master

备注:以后再集群中就可以ssh无密码登录到其他机器了,此步为止,我们所有的操作只是针对一台机器,另外两台机器我们稍后会virtual box的clone 工具进行创建。

6. jdk 安装

因为Hadoop和spark都运行在java7以上版本,所有最好按照较新版本的jdk这里选择安装java8
下载链接为 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
这里选择下载的是 jdk-8u91-linux-x64.tar.gz
这种类型的jdk只需解压,并配置环境变量即可,由于java的一般安装路径在/usr/java下面,所以将解压之后的文件拷贝到/usr/java,如果没有java目录,则新建即可。

1
2
tar zxvf jdk-8u91-linux-x64.tar.gz
sudo cp -r jdk1.8.0_91 /usr/java/

在/etc/profile配置环境变量

1
sudo vim /etc/profile

添加一下内容

1
2
3
4
5
6
export JAVA_HOME=/usr/java/jdk1.8.0_91
export JRE_HOME=/usr/java/jdk1.8.0_91/jre
export JAVA_BIN=/usr/java/jdk1.8.0_91/bin
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME JAVA_BIN PATH CLASSPATH

让修改立即生效:

1
source /etc/profile

测试jdk是否安装成功

1
java --version

如果正确显示java版本信息,则说明安装成功。
测试java是否能正常运行,建立测试用例

1
2

vim test.java

添加测试内容

1
2
3
4
5
6
class Test {       
public static void main(String[] args)       
{       
System.out.println("Hello World!");    
    }
}

运行结果

1
2
javac test.java
java Test // 不需要带.class

如果成功输出结果,这说明java功能正常。
通过以上所有的设置,已经完成了在机器上搭建spark集群的所有准备工作,目前所有配置都是针对一台机器,本测试集群采用一个master和两个slave的结构,另外两台机器在安装完Hadoop和spark之后进行创建。

评论加载中