0


hadoop保姆级安装教程

hadoop保姆级安装教程

文章目录

实现分布式集群安装,不再从入门到放弃!!

这是一篇超详细的Hadoop安装教程,历时两个星期,重装了三次!基本把能踩的坑全踩了,还好没放弃😂
下面标了注意的地方基本就是我踩过的坑了
以下分为三个大点:准备,配置网络环境,安装hadoop

一、准备步骤:虚拟机安装

1.VMware下载

官网下载,安装VMware Workstation 10以上版本。
没有什么技术含量,基本就是疯狂点击下一步,更改安装路径。

2.下载centos6.7镜像

网上找对应的资源下载即可
注意: 一定要下载centos6
为什么呢?
centos6支持从Windows系统拷贝文件等到linux操作系统,便于后续hadoop,Java的传输。

3.安装虚拟机

这里我用的是三个集群分布,所以要安装三台虚拟机。
注意: 要新建三个虚拟机,不要克隆,不要克隆!
(因为这里我只尝试了新建的方法,克隆的话后面要按照克隆的方法来进行配置,避免不必要的麻烦,直接按照相同的方法新建三个就好)


新建一台虚拟机步骤(另外两台一样)

  1. 打开VMware
  2. 点击左上角 :文件->新建虚拟机
  3. 点击下一步在这里插入图片描述
  4. 点击浏览,选择你下载的centos镜像文件在这里插入图片描述
  5. 全名和用户名可以是一样的,这里我设置的是hadoop,密码建议填写123456,便于后期维护在这里插入图片描述
  6. 点击浏览可选择安装位置List item
  7. 默认就好在这里插入图片描述
  8. 点击完成在这里插入图片描述 由于我已经安装过了,就不进行下面的步骤了
  9. 命名虚拟机:我填的是hadoop1 (后面两台可以填hadoop2,hadoop3)

接下来就是等待啦,可能需要一点时间。
在这里插入图片描述至此,第一台虚拟机就装好了,输入密码即可登录。

注意: 另外两台重复上面的步骤,用户名也一样,直接用一样的,不然后面会有问题

全部装好之后就可以打开三台虚拟机
准备步骤就绪

二、配置网络

1.设置

  1. 点击左上角:编辑->虚拟网络编辑器

在这里插入图片描述

  1. 选择NAT模式在这里插入图片描述
  2. 点击:更改设置在这里插入图片描述 选择允许对设备更改
  3. 选择NAT模式,取消使用本地dhcp服务的勾选在这里插入图片描述
  4. 点击NAT设置,查看子网,子网掩码,网关(后面要用到)在这里插入图片描述
  5. .点击确定在这里插入图片描述2.修改主机名

输入su root命令,再输入密码,(密码不会显示在屏幕上,只要输入正确,再按回车键即可)进入root用户
打开配置文件,按下i键进入插入模式,可以开始修改
进入文件,修改,命令:

vi /etc/sysconfig/network

第一台:

HOSTNAME=hadoop1

第二台:

HOSTNAME=hadoop2

第三台:

HOSTNAME=hadoop3

按下Esc键,退出插入模式输入:wq保存退出
用exit退出root用户


*(后面的修改配置文件都要先进入root用户,
修改文件是同样的:打开配置文件,按下i键进入插入模式,可以开始修改,修改完成后按下Esc键,退出插入模式输入:wq保存退出。用exit退出root用户。
为简化步骤过程,后面就省略了)*

3.配置IP地址

  1. 使用命令:ifconfig查看在这里插入图片描述
  2. 输入su root命令,再输入密码,(密码不会显示在屏幕上,只要输入正确,再按回车键即可)进入root用户若是eth0则使用命令:vi /etc/sysconfig/network-scripts/ifcfg-eth0 若是ens33则使用命令:vi /etc/sysconfig/network-scripts/ifcfg-ens33 打开配置文件,按下i键进入插入模式,可以开始修改修改信息:

BOOTPROTO="static"改为BOOTPROTO=“dhcp
IPADDR=192.168.40.110 # 前三位必须和前面查看的子网前三位一致,最后一位必须是三位数

第二台和第三台的IPADDR前三位和第一台设置成一样的(保证在同一个子网下)
#比如以我的为例,第二台:IPADDR=192.168.40.120
第二台:IPADDR=192.168.40.130

NETMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.XX.X #虚拟机里的网关IP一致
DNS1=8.8.8.8 #默认dns为谷歌的,也可以设置为别的,比如百度的

在这里插入图片描述按下Esc键,退出插入模式输入:wq保存退出

3.重启服务器
输入命令:service network restart
在这里插入图片描述

右上角显示这个字样即成功
在这里插入图片描述
3.主机名与IP地址做映射

修改配置文件,命令

vi /etc/hosts

加上

192.168.xxx.xxx hadoop1
192.168.xxx.xxx hadoop2
192.168.xxx.xxx hadoop3


最后:可以输入ping www.baidu.com看看能否ping通,或打开火狐浏览器看能不能正常访问网页,如果可以,那么说明网络配置成功。

三、免密登录

原理:把本机的公钥内容放到另一台机子里,免密登录时进行匹配,主机向另一台机子发送一段随机字符串,另一台用自己的私钥加密后,再发回来。本机用自己的公钥进行解密,如果成功,说明另一台是可信的。

实现操作:要实现三台虚拟机相互信任,每台机子上都要存储这三台机子的公钥,(本机本来就有公钥),则我们要做的就是把另外两台的公钥拷贝到本机。
方便起见,每台机子都在/home/hadoop/.ssh目录下建一个authorized_keys文件,里面放三台机子的公钥。

(能实现每台机子存储这三台的公钥即可,方法不限)
这里我分享一下我的方法

1.第一台主机下
生成密钥和公钥,命令:

ssh-keygen -t rsa

随后不断点击回车,
在这里插入图片描述
密钥文件就存储在/home/hadoop/.ssh目录下

2.把三台机子的公钥放到第二台的authorized_keys文件下,(第二台没有authorized_keys,需要创建)
命令:

cd /home/hadoop/.ssh

回车即可看到两个文件
id_rsa:私钥
id_rsa.pub:公钥

3.第二台机子下
同样做步骤1,2,
在/home/hadoop/.ssh目录下使用命令:

touch authorized_keys

新建一个空白文件
命令:

cat id_rsa.pub

查看公钥内容,选中右击,然后copy
命令:

vi authorized_keys

进入插入模式,右击,然后paste粘贴,即把本机公钥复制到了authorized_keys里


回到第一台主机,
命令:

cat id_rsa.pub

查看公钥内容,选中右击,然后copy


再到第二台机子,
继续粘贴,即把第一台主机的公钥复制到了第二台机子的authorized_keys文件下


第三台机子
同样做步骤1,2,
在/home/hadoop/.ssh目录下使用命令:

touch authorized_keys

新建一个空白文件
命令:

cat id_rsa.pub

查看公钥内容,选中右击,然后copy


再次回到第二台机子
继续粘贴,即把第三台主机的公钥复制到了第二台机子的authorized_keys文件下

保存退出

至此,第二台机子的/home/hadoop/.ssh目录下的authorized_keys文件里存储了三台机子的公钥。

4.把第二台机子的authorized_keys文件传到第一台和第三台机子的/home/hadoop/.ssh目录下即可。
使用命令:

scp authorized_keys hadoop@hadoop1:/home/hadoop/.ssh/authorized_keys

传输到第一台


使用命令:

scp authorized_keys hadoop@hadoop3:/home/hadoop/.ssh/authorized_keys

传输到第三台

三台机子的authorized_keys里都存储了三台机子的公钥,可以免密登录了。

修改权限:

chmod 644 authorized_keys

修改权限

6.关闭防火墙(root用户下)

chkconfig iptables stop

7.修改防火墙配置文件,命令

vi /etc/selinux/config

设置SELINUX=disabled


5.测试能否免密登录
注意: 第一次可能要输入密码,之后就不用了。
第一台主机下,
检测能否免密登录Hadoop2,
命令:ssh hadoop2
显示如下,则成功免密登录
inet addr:192.168.40.120即是当前ip地址
命令exit可退出
在这里插入图片描述检测能否免密登录Hadoop3,
命令:ssh hadoop3

如果成功,则第一台主机可免密登录第二台,第三台。
在第二台,第三台上也是同样的方法测试。


四、安装hadoop

hadoop是以java为基础运行的,所以要先安装java环境。


安装JDK

1.从windows网上下载hadoop-2.6.0-cdh5.11.2.tar和jdk-1.8.0-8u60-linux-x64

2.直接从windows复制到linux的hadoop1虚拟机里(centos6自带这个功能)
注意: 不能使用快捷键ctrl+c,ctrl+v,只能右击复制粘贴

3.安装jdk包
方法一:双击rpm包
方法二:命令

rpm -ivh jdk-1.8.0-8u60-linux-x64.rpm

4.验证:

java -version

结果:java -version
java version “1.8.0_60”
Java™ SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot™ 64-Bit Server VM (build 25.60-b23, mixed mode)


进入root用户,命令

su root

先看看防火墙是否关闭,命令

service iptables status

在这里插入图片描述如上则表示防火墙是开着的,
这时需要关闭防火墙,命令

service iptables stop

之后可再检查防火墙的状态是否关闭

service iptables ststus

在这里插入图片描述出现如图所示说明关闭防火墙


安装hadoop

1.解压

tar –xvf hadoop-2.6.0-cdh5.10.1.tar.gz -C /home/hadoop

为了方便后续操作
进入家目录

cd ~

修改hadoop的名字

mv hadoop-2.6.0-cdh5.10.1 hadoop

2.配置环境变量(在家目录下)

vi .bashrc

添加内容:

export HADOOP_HOME=/home/hadoop/hadoop
export PATH=

     P
    
    
     A
    
    
     T
    
    
     H
    
    
     :
    
   
   
    PATH:
   
  
 PATH:HADOOP_HOME/bin

使文件生效:

source .bashrc

把.bahsrc文件传送到hadoop2,使其生效

scp .bashrc hadoop@hadoop2:~/
source .bashrc

把.bahsrc文件传送到hadoop3,使其生效

scp .bashrc hadoop@hadoop3:~/
source .bashrc

3.配置系统文件

进入目录,命令

cd /home/hadoop/hadoop/etc/hadoop

(以下文件的内容复制过来会有缺失,所以选择图片形式)

  1. core-site.xml 在configutation,/configutation标签对内添加内容:(复制过来会有缺失,用了图片形式)在这里插入图片描述

2.hdfs-site.xml
在configutation,/configutation标签对内添加内容:
在这里插入图片描述


3.在家目录下新建hadoopdata目录,在该目录下创建dn,nn,log,yarn目录。
把Hadoopdata目录传送到第二,第三台虚拟机

mkdir ~/hadoopdata

cd ~/hadoopdata

mkdir dn nn log yarn

scp -r hadoopdata hadoop@hadoop2:~
scp -r hadoopdata hadoop@hadoop3:~

4.进入/home/hadoop/hadoop/etc/hadoop目录下

cd /home/hadoop/hadoop/etc/hadoop

配置mapred-site.xml.template文件
在configutation,/configutation标签对内添加内容:
在这里插入图片描述


5.yarn-site.xml
在configutation,/configutation标签对内添加内容:
在这里插入图片描述在这里插入图片描述


6.添加JAVA_HOME到hadoop-env.sh文件里
编辑hadoop-env.sh:

vi hadoop-env.sh

找到javahome,把路径改为:

export JAVA_HOME=/usr/java/default

7.添加所有主机名到slaves里
编辑slaves:

vi slaves

在文件里添加如下内容:

hadoop1
hadoop2
hadoop3


==注意:==如果是拷贝文件内容,则很可能会缺失部分字符,一定要仔细核对!!


8.新建一个hadoopdata目录,下面建4个目录(在家目录下,三台机子都要)
命令

mkdir hadoopdata
cd hadoopdata
mkdir nn dn yarn log

9.将hadoop目录传送到第二台,第三台

scp -r hadoop hadoop@hadoop2:~
scp -r hadoop hadoop@hadoop3:~

10.格式化namenode

hadoop namenode–format

在这里插入图片描述如果状态码为0,则说明格式化成功。


启动进程

单个启动

hadoop1

进入hadoop的sbin目录下,逐个启动结点

cd /home/hadoop/hadoop/sbin
./hadoop-daemon.sh start namenode
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start nodemanager

输入命令查看结点是否启动

jps

在这里插入图片描述显示上图结果,说明结点启动成功


hadoop2

进入hadoop的sbin目录下,逐个启动结点

cd /home/hadoop/hadoop/sbin
./hadoop-daemon.sh start secondarynamenode
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start nodemanager

输入命令查看结点是否启动

jps

同理


hadoop3

进入hadoop的sbin目录下,逐个启动结点

cd /home/hadoop/hadoop/sbin
./hadoop-daemon.sh start datanode
./yarn-daemon.sh start resourcemanager
./yarn-daemon.sh start nodemanager

输入命令查看结点是否启动

jps

同理。


批量启动

验证集群是否成功(启动集群后)

在linux的火狐浏览器中访问http://hadoop1:50070和http://hadoop3:8088
在这里插入图片描述

到此,安装完毕。


最后,终于安装完了,如有不足,欢迎指正。
虽然教程有点长,但是写的很详细,耐心一步步跟着步骤走,相信一定能够成功安装hadoop!!
写在最后,如果觉得教程有用一键三连呗老铁们,欢迎评论区留言技术交流。

标签: hadoop centos linux

本文转载自: https://blog.csdn.net/qq_52401562/article/details/120432002
版权归原作者 千槿° 所有, 如有侵权,请联系我们删除。

“hadoop保姆级安装教程”的评论:

还没有评论