最详细的教程以及相关概念讲解请看http://www.aboutyun.com/forum.php?mod=viewthread&tid=6780
目标:傻瓜式创建三个虚拟机分别为master,slave1,slave2,并安装Hadoop,建立集群
准备工作:
了解Hadoop相关概念
了解Linux相关操作
下载ubuntu桌面版ubuntu-16.04.3-desktop-i386.iso(32位)
安装虚拟机软件VMware
开始:
一 单个虚拟机的安装
以master为例
1 新建虚拟机使用ubuntu镜像
输入相关信息
2关掉防火墙
sudo -i #进入root权限
ufw disable #关掉防火墙
3 安装java(jdk)
方法有两种一种是使用使用ppa/源方式安装,另一种是下载压缩包手动安装,这里使用前一种,比较简单且不用配置环境变量
首先添加ppa
$ sudo add-apt-repository ppa:webupd8team/java
然后更新系统,刷新软件源
$ sudo apt-get update
最后开始安装
$ sudo apt-get install oracle-java8-installer
查看jdk版本,如图显示说明安装成功
$ java -version
4 安装ssh服务
sudo apt-get install ssh openssh-server
ssh-****** -t rsa -P "" #敲两次回车,出现一个图形,出现的图形就是密码
cd .ssh
cat id_rsa.pub >> authorized_keys #实现免密登陆
ssh localhost #测试是否成功,如图
5安装Hadoop
在Hadoop首页找到下载页连接
http://hadoop.apache.org/releases.html
里面有source和binary两种,source下载后需要重新编译,不方便,所以我们下载binary的
$wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.0/hadoop-2.9.0.tar.gz #下载
$tar -zxvf hadoop-2.9.0.tar.gz #解压
配置Hadoop中相应的文件,需要配置hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,所有的文件均位于hadoop2.9.0/etc/hadoop下面
修改home/hadoop-2.9.0/etc/hadoop/hadoop-env.sh文件:
$sudu apt-get install vim #安装vim编辑器
$cd hadoop-2.9.0/etc/hadoop/
$vim hadoop-env.sh
修改JAVA_Home的值为jdk的路径,如图
退出编辑并保存:ESC :wq 回车
修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml文件,如图
$vim core-site.xml
修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/hdfs-site.xml文件
$vim hdfs-site.xml
修改/home/mwq/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml.template文件
$vim mapred-site.xml.template
修改/home/hadoop/hadoop-2.9.0/etc/hadoop/slaves文件
修改/etc/profile文件,加入以下内容
以上配置文件修改好后,进入hadoop-2.9.0目录
$ cd /hadoop-2.9.0
$ bin/hadoop version #查看hadoop版本
$ bin/hdfs namenode -format #初始化
配置yarn,主要修改yarn-env.sh,yarn-site.xml和mapred-site.xml,master节点修改好之后,复制到slave1和salve2节点即可
yarn-env.sh 添加jdk目录
默认情况下,/usr/local/hadoop/etc/hadoop/文件夹下有mapred.xml.template文件,我们要复制该文件,并命名为mapred.xml,该文件用于指定MapReduce使用的框架
mapred-site.xml
$ cp mapred-site.xml.template mapred-site.xml
全部修改好后
进入hadoop2.9.0目录
$ sbin/start-all.sh #开启服务
$ jps #查看进程
显示Datanode 和NodeManager都已开启,表明hadoop已经安装成功