Ubuntu+Virtualbox:傻瓜式大数据集群搭建教程

最近需要搞一点大数据分析相关的东西,今天捣鼓了一天搞这个生产集群,总算是弄完了,踩了不少的坑。这个教程适合那种初步上手的,按照这个一步步来,基本没什么问题。

我晕了,捣鼓了一天,结果人家20min教程就说明白了.B站搜索:BV1bA411b7vs。照着来就OK,哎,我咋没早点找到呢

首先是下载virtualbox(一个虚拟机软件),还有ubuntu 16.04.-desktop(一步一步来,不要一开始就硬扛命令行)这两个不多做赘述,可以参考:

https://www.bilibili.com/video/BV19J41157et?from=search&seid=13220585138641360838

手把手教学安装。这里我提几个会比较影响使用的坑:

强烈建议第一次安装的同学多用虚拟机的备份与快照功能,避免中间出岔子,给自己一个后悔药

  1. 首先是windows和ubuntu怎么实现相互的数据复制

image-20200522212216445

安装完成后,需要在这个界面进行设置,分别设置这两项:

image-20200522212310386

固态驱动器打钩。

image-20200522212334864

使用IO缓存这里也打钩。

image-20200522212420498

然后把把共享粘贴板和拖放都设置为双向的。这样就可以实现从windows到linux的复制和从linux到windows的复制了。

然后小伙伴可能会遇到一个问题,那就是画面会非常的小,这里需要借助virtualbox的安装增强功能来实现。

image-20200522212553389

不出意外的话会有一个提示让你运行,然后按照他的运行就好了。

准备工作做完了,这下我们来搭建集群。

  1. 重要)我们需要对linux的网络进行相关配置,这个是实现静态IP的重要前提。

这里千万不要做多余的步骤,先按照我的步骤一步步来

回到virtualbox的界面选择“工具”里的网络选项:

image-20200522212811548

  • 首先我们需要取消勾选"DHCP服务器",防止虚拟机自动分配IP,这样才可以设置静态IP。
  • 接下来要手动配置网卡,配置的规则需要我们返回windows打开命令行,输入:ipconfig,显示:

image-20200522213011467

由于我这里是校园网,和一般人不一样,我的网段是10.181.x.x的。因此所有集群必须以10.181开头,第三个地址段最好设置为一样的,我这里设置为10.181.56.x

  1. 还没完,接着我们关闭ubuntu,对虚拟机进行网卡的设置。

  2. 首先需要有一个网卡为**网络地址转换(NAT)**用于连接外网,这张网卡的设置就按照默认即可

image-20200522213336666

  1. 其次还需要一张网卡设置为**仅主机(Host-only)**网络,用于集群之间的连接,这里的界面名称就是用我们之前在网络-工具里面设置的网卡信息。

image-20200522213435682

打开Ubuntu,我们可以开始设置静态IP了。

开始之前,我们先进行换源,因为需要安装一些软件。

这里使用的是阿里的源:

# 先备份一下
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old 
#执行命令打开source.list文件
sudo gedit /etc/apt/sources.list

将打开的文件中的源替换为如下的阿里源:

deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

这里命令行中会有警告,无视即可。

#执行更新源的指令
sudo apt-get update

接下来下载一个东西

#超好用的linux编辑工具,谁用谁知道
sudo apt-get install vim

然后我们可以开始更改静态IP了。

执行如下命令:

# 这是linux下查询IP的方法,注意与windows的ipconfig区分
ifconfig

image-20200522214349563

这里的enp0s3是分配的NAT网卡,用于连接外网,而enp0s8则是我们用于布置集群的网卡,需要我们更改静态IP的(这里我已经改好了)。接下来执行:

# 修改网络接口
sudo vim /etc/network/interfaces

复制以下内容:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# 这个我不知道干啥的,反正加上吧
source /etc/network/interfaces.d/*

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

# 用于接入NAT,不做更改
# The primary network interface(NAT)
auto enp0s3
iface enp0s3 inet dhcp

# 用于布置集群的网卡
auto enp0s8
# 设置为static
iface enp0s8 inet static
# 更改为我们需要的IP
address 10.181.56.100
netmask 255.255.255.0

网络接口更改完毕,接下来需要更改hostname,以及在hosts文件中添加IP

#修改我们的主机名
sudo vim /etc/hostname

之后修改为我们需要的主机名,就相当于域名一样,这里我改成了dennis-0。

以后我们的控制台就会这样显示,前面是用户名,后面是主机名,以后需要用SSH访问主机也可以直接通过主机名访问,而不需要输入对应的IP:

image-20200522214923729

接下来修改hosts

sudo vim /etc/hosts

修改为:

# 可以通过127.0.0.1解析本地localhost -- 不要改,很多程序的用例用到了localhost
127.0.0.1       localhost
# 主机不需要通过127.0.0.1 解析dennis-0,即不需要通过dennis-0来访问外网
# 127.0.1.1     dennis-0
# 这里添加以后需要增设的集群IP和主机名
10.181.56.100   dennis-0
10.181.56.101   dennis-1
10.181.56.102   dennis-2

这样我们就实现了一个集群的单机了~

当未来我们需要增设集群的时候,只需要改主机名还有它的静态IP即可

  1. 接下来我们可以配置SSH,这样windows上也可以通过命令行来操控linux

首先在linux下安装openssh-server

sudo apt-get install openssh-server

安装完成后进行如下操作

sudo vi /etc/ssh/sshd_config
#增加以下配置允许通过ssh登录

#在打开的配置文件中修改这一项
#PermitRootLogin prohibit-password
PermitRootLogin yes

#修改完成后需要重启ssh服务命令如下
sudo service ssh restart

接下来设置ssh的登录密码:

sudo passwd root
Enter new UNIX password: #这里输入你的密码
Retype new UNIX password: #再次确认
passwd: password updated successfully
su root #即生效

下一步开启SSH,我就直接贴图了:

image-20200522215904201

最后做了一步检查SSH是否开启。

接着打开windows中的命令行,输入如下:

image-20200522215951551

这里的输入就是linux命令行最前面的那一坨,即 用户名@主机名

接下来输入我们在ssh中设置的密码

image-20200522220036154

这下就可以通过windows来调用ubuntu里的服务啦。

今天真的捣鼓了一天,踩了很多坑,这一套教程应该够完善了。如果有不明白可以在下方留言,我尽力解答

猜你喜欢

转载自blog.csdn.net/qq_41989109/article/details/106291808