记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

想试用hadoop,可是没配置好怎么用呢,所以我们来装它。安装过程中有一些小尝试会看到。

之前已经装过虚拟机了,把它的信息附上:VMware® Workstation 12 Pro 12.5.5

目录

一、准备工作
    下载jdk
    下载Ubuntu镜像
    VMware配置

二、配置Ubuntu虚拟机
    新建虚拟机
    设置静态ip
    DNS设置
    修改hostname和hosts文件
    关闭防火墙

三、安装Java
    安装VMware Tools和设置共享文件夹
    安装Java

四、克隆成三台虚拟机并配置
    克隆虚拟机
    更换镜像源
    安装ssh server
    创建root权限新用户
    修改slave的hostname和ip

 

一、准备工作

下载jdk:https://www.oracle.com/technetwork/java/javase/downloads/index.html
我下的jdk-8u181-linux-x64.tar.gz
唔,还有openjdk这种,我还是选择了Oracle的jdk。还有linux里直接下载wget命令。

下载Ubuntu镜像:https://www.ubuntu.com/download/alternative-downloads
我下的ubuntu-16.04.5-desktop-amd64.iso,迅雷BT下载挺快的。

VMware配置:打开空空的VM,虚拟网络编辑器里选择VMnet8  NAT模式,不勾选“使用本地DHCP服务将IP地址分配给虚拟机”。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

点开“NAT设置”,记住网关,设置静态ip时要用。

二、配置Ubuntu虚拟机

新建虚拟机:

自定义设置,可以调整名字、内存(这个后期调整简单)、虚拟磁盘容量(这个后期调整较麻烦),其他大多默认。存储位置看个人。唔,我居然贴了这么多图。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

 看看镜像,可以在CD/DVD那里选择前面下载的操作系统镜像文件(或者之后更改镜像)。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

现在让我们开启它来安装操作系统。一路默认设置。填写姓名、计算机名、用户名、密码。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

你看断网了它时间显示的都不准,现在是晚上7点半。右键可以打开终端。

设置静态IP:

呃,我想看看网卡名称,终端里输入ipconfig,结果......

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

咳咳,应该输入ifconfig,现在可以看了:ens33

(还可以通过Ubuntu图形界面设置静态IP,见参考资料,我是修改配置文件)

网卡配置文件设置:终端里输入  sudo gedit /etc/network/interfaces
出来编辑器,里面的内容是下面左图。记得我们前面说要记住的网关吧,写在gateway那里,address那里前三段和gateway保持一样,第四段网关是2而我编了一个,把原来的内容全注释掉了,下面右图是修改结果,保存。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

DNS设置:

我先输入了 sudo gedit /etc/resolv.conf,但是打开的文件显示手动修改会被覆盖,也就是会白改了。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

再试试 sudo gedit /etc/resolvconf/resolv.conf.d/base,打开是空的,写进去阿里的DNS,见 http://www.alidns.com/index.html
(还可以试试这个 sudo gedit /etc/resolvconf/resolvconf.d/head 也是空文件,加上nameserver 253.5.5.5)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

再 sudo resolvconf -u 之后 sudo gedit /etc/resolv.conf 看看它,结果没变化,我就重启了虚拟机,咳咳,再打开看,嗯,自动加上了。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

修改hostname和hosts文件:

sudo gedit /etc/hostname ,里面就是我们前面安装时设置的“您的计算机名”,将它修改为master,还没完,

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

sudo gedit /etc/hosts ,将第二行的原计算机名也改为master,master前面的ip地址改为前面interfaces里面设置的address。哦对了,改完以后可以再在命令行里写新的语句,你会发现它迟迟无结果,它发现了自己的名字对不上。。。看命令行前面的用户名@计算机名,所以重启。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

关闭防火墙:

输入 sudo ufw version 如果有防火墙版本信息说明安装了防火墙,那么查看它状态 sudo ufw status,**(active)的话就关闭它:sudo ufw disable 。可以用 sudo ufw status 查看是否关闭,关了的话就是不活动(inactive)。开启是 sudo ufw enable。我发现我的防火墙本来就关的。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

三、安装Java

安装VMware Tools和设置共享文件夹:

先把之前下载的jdk传到虚拟机里才行。VMware最上方工具栏里,虚拟机-->安装VMware Tools,弹出选是,会看到挂载的已经从Ubuntu镜像变成了VMware Tools,点开它。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

可是,忧伤,我的点开是空的,我不知道怎么了。于是,按光驱旁边的三角加横把所有光驱弹出,直到为空,如下左图。然后再点虚拟机-->安装VMware Tools,点开VMware Tools就有文件啦,如下右图。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

第一个问题我输了yes,后面一直按enter,好多。等Enjoy出来以后就安装成功了。然后VMware最上方工具栏 虚拟机-->设置,点击选项这个,选择共享文件夹,选择总是启用,然后按照向导添加我刚刚自己新建的一个文件夹mastershare,完成,确定。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

安装Java:

现在打开/mnt/hgfs就出现了一个mastershare文件夹,打开就有我新建完文件夹后放在里面的jdk啦。 然后我在根目录下新建了一个文件夹:
cd /
sudo mkdir softwares
将jdk解压到这个文件夹,sudo tar -zxvf jdk-8u181-linux-x64.tar.gz -C /softwares
现在可以将共享文件夹里的jdk删了。然后配置环境变量 sudo gedit /etc/profile 追加:
export JAVA_HOME=/softwares/jdk1.8.0_121
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

终端里输入 source /etc/profile 使配置立即生效,然后输入 java -version检查是否装成功,嗯,我的好了。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

四、克隆成三台虚拟机并配置

克隆虚拟机:

先把master关机。然后VMware最上方工具栏 虚拟机-->管理-->克隆,出来克隆向导。把克隆的第一台第二台起个名字放好。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

 克隆完第一台,会发现多出来一台虚拟机的选项卡。然后选中我们的master那台的选项卡,再克隆一台,如下右图。下左图是接上两图的,所以用红线分隔。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

更换镜像源:

master开机,sudo apt-get update 更新一下,结果不行,显示 暂时不能解析域名“cn.archive.ubuntu.com”

于是按照前面修改DNS的方法又加了一行 nameserver 8.8.8.8 现在好了,可以 sudo apt-get update 了
呃,太慢了,换一个国内的源,清华的,阿里的,网易的,我换一个阿里的好了。
sudo gedit /etc/apt/sources.list
我把原文里所有未被注释的语句复制一遍在它下方,把复制的那句里网址前半部分cn.archive.ubuntu.com修改成阿里的mirrors.aliyun.com,后半部分不变,把上面那句再注释掉。例如第一句:

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

sudo apt-get update  一个字,快。
哎呀,Ubuntu说它需要更新了,好吧,让它更新一下。重启。

安装ssh server:

再 sudo apt-get install openssh-server 安装ssh server,输入y来继续安装
然后输入 ps -e | grep ssh 来检查,有sshd说明ssh服务已开启,没有开的话就 service ssh start 或者 sudo /etc/init.d/ssh start ,关闭是 service ssh stop 或者 sudo /etc/init.d/ssh stop

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

然后我连了一下master自己,终端里输入 ssh [email protected]***.***.107 问继续连接吗选了yes,再输入密码。出来几段,如下。再输入 exit 断开连接。

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

创建root权限新用户:

创建一个具有root权限的用户叫hadoop, sudo adduser hadoop 根据提示设置密码
(sudo useradd hadoop 的话,需要再 sudo passwd hadoop 设置密码,且创建的用户没有/home目录下的用户主目录。用户删除是 sudo userdel -r hadoop)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

授予hadoop用户root权限,sudo gedit /etc/sudoers 在 root    ALL=(ALL) ALL 下面添一句 hadoop  ALL=(ALL) ALL (hadoop和ALL之间是tab键)

记录安装Hadoop2.8.0(上篇)(一台电脑,三个Ubuntu虚拟机,伪分布式。从Ubuntu16安装开始,设共享文件夹,改了镜像源,克隆)

修改slave的hostname和ip:

另两台虚拟机开机,同上面master的方法,克隆的两台虚拟机从master分别修改为slave1,slave2,ip分别比master的加1加2,设为192.***.***.108和192.***.***.109(interfaces和hosts两处的ip)
sudo gedit /etc/network/interfaces 
sudo gedit /etc/hostname 
sudo gedit /etc/hosts

 

贴图多了有点长,分成两篇吧。安装Hadoop下篇写。

 

 

参考资料:

Hadoop大数据分析与挖掘实战

https://gitbook.cn/books/5954c9600326c7705af8a92a/index.html

https://blog.****.net/fanxin_i/article/details/80425461

设置静态ip:https://www.linuxidc.com/Linux/2017-02/140135.htm

装了openjdk和Oracle的jdk两种可以切换:https://www.linuxidc.com/Linux/2017-11/148695.htm

Ubuntu图形界面设置静态IP:https://blog.****.net/liumiao1128/article/details/52449683

DNS:https://www.cnblogs.com/zjdeblog/p/6128461.html

修改hostname:https://www.jb51.net/article/115258.htm

添加用户:https://blog.****.net/qq_32166627/article/details/51942715

adduser和useradd:https://www.linuxidc.com/Linux/2012-06/62985.htm

三种root权限的授予方法:https://blog.****.net/u012995201/article/details/70598588