1.本文介绍
本文包括如下内容
- Ubuntu虚拟机安装过程
- Ubuntu配置静态IP
- 配置SSH免密登录
- Ubuntu国内APT软件源的配置
- JDK,Scala,MySQL软件安装
- Hadoop集群安装
- Spark集群安装
- Anaconda安装
使用到的软件的版本及下载地址
- VMware Workstation 12.5.2
- ubuntu-14.04.1-server-amd64
- XShell 5
- XFTP 5
- JDK 1.8
- Scala 2.12.1
- Hadoop 2.7.3
- Spark-2.1.0-bin-hadoop2.7
- Anaconda2-4.3.1-Linux-x86_64
2.准备虚拟机
本次搭建的集群包含2台机器,一台master,一台slaver,所以需要安装2台虚拟机,步骤如下:
2.1新建虚拟机
打开VMware Workstation,点击文件->新建虚拟机
连续点击下一步,在这里选择稍后安装操作系统
下一步,选择客户机操作系统,这里我选择的是Ubuntu 64位
下一步,命名虚拟机
下一步,CPU和内存配置,根据自己的机器性能决定,我选择了双核和2G内存
下一步,网络类型,默认使用NAT
下一步,IO控制器类型吗,默认LSI Logic(L)
下一步,磁盘类型,默认SCSI(S)
下一步,选择磁盘,默认创建新的虚拟磁盘
下一步,指定磁盘容量,默认分配20GB,将虚拟磁盘拆分成多个文件
下一步,指定磁盘文件,默认即可
下一步,点击完成,新建结束
2.1 安装虚拟机
下一步,点击编辑虚拟机设置
下一步,选择下载好的选择下载好的虚拟机ISO镜像
接下里,就可以开启虚拟机了
选择系统语言,默认English
选择Install Ubuntu Server
再次选择语言,默认English
选择位置,Other->Asia->China
配置键盘,默认不检测即可,选择English(US)即可
现在开始它会自动执行一些操作,大约半分钟
配置Hostname,我这里配置为master
创建新用户,我这里使用的用户名还是master
设置密码,并确认密码,我这里设置的是123456
因为密码太简单,所以会询问是否使用弱密码,选择YES即可
是否加密家目录,默认选择NO即可
再等待半分钟左右的,系统自动配置一些操作
确认时区
选择磁盘分区方式,默认即可,选择唯一的那个默认分区
写入分区
接下来就点击Continue和确认即可,开始真正安装系统
默认为空,不配置代理
关闭自动更新
选择安装的软件,这里选择了OpenSSH Server
安装启动引导
安装完成,选择Continue进行重启
看见如下界面,安装启动完成,输入用户名和密码即可登录。按照相同的步骤,再安装一台虚拟机,Hostnaem设置成slaver,作为从节点,这里不再重复安装过程。
登录进系统后,配置root用户密码,输入sudo passwd命令,然后先输入master用户密码,然后就可以设置root用户密码了
2.3 Ubuntu配置静态IP
安装完系统后,默认使用的是DHCP分配的动态IP地址,为了使用方便,给机器配置一个静态的IP地址。
打开VMWare Workstation,点击编辑->虚拟网络编辑器,点击更改设置
选择VMnet8,查看子网IP和子网掩码,如果需要修改,可以点击NAT设置
在NAT设置中,也可以看到子网IP和子网掩码等信息,还可以配置网关IP
输入命令vi /etc/network/interfaces,编辑网卡配置文件
设置静态IP地址,根据上面查到的子网信息,子网掩码,和网关来设置。这里master的IP设置成192.168.10.51
配置好以后,:wq保存,reboot重启虚拟机,用root用户登录。
接下里配置SSH连接,输入命令vi /etc/ssh/sshd_config/,编辑SSH配置文件,将PermitRootLogin 设置为yes
输入命令service ssh restart来重启SSH服务
这里我使用一款比较好用的SSH客户端软件xshell,来连接虚拟机,新建一个连接
成功连接xshell
以同样的方式来设置salver虚拟机。
宿主机的IP可以通过控制面板->网络和 Internet->网络连接->VMware Network Adapter VMnet8来设置
我这里设置成了静态IP:192.168.10.10
2.4 配置SSH免密登录
首先配置2台虚拟机的hosts,打开hosts文件
root@master:~/.ssh# vi /etc/hosts
加入以下配置
192.168.10.51 master
192.168.10.52 slaver
登录master机器,创建密钥,一直按回车键即可,此时会在/root/.ssh目录下生成2个文件id_rsa 和 id_rsa.pub
root@master:~# ssh-keygen -t rsa
复制公钥id_rsa.pub,并重命名为authorized_keys
root@master:~/.ssh# cp id_rsa.pub authorized_keys
在slaver的root目录下创建.ssh文件夹
root@slaver:~# cd /root
root@slaver:~# mkdir .ssh
复制authorized_keys到slaver虚拟机的/root/.ssh目录下
root@master:~/.ssh# scp /root/.ssh/authorized_keys slaver://root/.ssh/authorized_keys
第一次要确认连接,并输入slaver虚拟机root用户的密码
完成后尝试ssh到slaver,不用输密码即可成功
root@master:~/.ssh# ssh root@slaver
4. Ubuntu国内APT源配置
首先设置一下DNS服务器
root@master:~/.ssh# echo "nameserver 221.12.1.227" > /etc/resolv.conf
备份原来的文件
root@slaver:~# cp /etc/apt/sources.list /etc/apt/sources.list.old
修改文件/etc/apt/sources.list的内容如下
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
更新软件
apt-get update
apt-get upgrade
5. 安装JDK,Scala,MySQL
先上传所有用到的软件,这里使用xftp软件进行操作,上传到/opt目录下
5.1 安装JDK
进入/opt目录,解压jdk-8u121-linux-x64.tar.gz
root@master:/opt# cd /opt/
root@master:/opt# tar -zxvf jdk-8u121-linux-x64.tar.gz
配置环境变量
root@master:/opt# vi /etc/profile
在最后加上下面几行配置
export JAVA_HOME=/opt/jdk1.8.0_121
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
刷新/etc/profile文件
root@master:/opt# source /etc/profile
判断环境变量是否生效
root@master:/opt# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
从节点安装同上
5.2 安装Scala
进入/opt目录,解压scala-2.12.1.tgz
root@master:/opt# cd /opt/
root@master:/opt# tar -zxvf scala-2.12.1.tgz
配置环境变量
root@master:/opt# vi /etc/profile
更改最下面几行配置
export JAVA_HOME=/opt/jdk1.8.0_121
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export SCALA_HOME=/opt/scala-2.12.1
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$SCALA_HOME/bin:$PATH
刷新/etc/profile文件
root@master:/opt# source /etc/profile
判断环境变量是否生效
root@master:/opt# scala -version
Scala code runner version 2.12.1 -- Copyright 2002-2016, LAMP/EPFL and Lightbend, Inc.
从节点安装同上
5.3 安装MySQL
root@master:/opt# apt-get install mysql-server
输入root用户密码,并重复
设置MySQL字符集,先查看一下当前字符集情况,有一些latin1格式
root@slaver:/opt# mysql -uroot -p123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.54-0ubuntu0.14.04.1 (Ubuntu)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
编辑配置文件
root@master:/opt# vi /etc/mysql/my.cnf
在[mysql]和[client]标签下加入配置
default-character-set=utf8
在[mysqld]标签下加入配置
character-set-server=utf8
在bind-address = 127.0.0.1前加上#号,以注释掉这行,便于客户端连接
重启MySQL服务
root