hadoop之旅2-centerOS7: 搭建分布式hadoop环境

大家可能在网上一搜索大数据,巴拉巴拉一大堆的理论性的东西扑面而来,都是这样过来的,当时一脸懵逼,所以在此就不给大家再介绍理论性的知识了,直接带大家搭建分布式的开发环境。

hadoop的分布式架构 (一主二从)

主机名 ip地址 namenode datanode
master 192.168.6.133
slave1 192.168.6.131
slave2 192.168.6.132

第一步

虚拟机,java环境准备

需要有一台centerOS7虚拟机,同时已经搭建好了jdk的环境,如有疑问可移驾
hadoop之旅1-centerOS7: 搭建java环境

第二步

软件准备

准备好hadoop的开发包

  1. apache官网下载
  2. apache历史版本库下载
  3. 我给大家分享的百度云链接下载 版本:hadoop-2.7.3
  4. 我使用filezilla软件将解压包放入linux系统,大家也可以通过wget命令直接下载到linux系统中

第三步

解压hadoop,重命名

  1. 在下载的hadoop压缩包的目录下解压hadoop压缩包
[root@localhost mmcc]# tar -zxvf hadoop-2.7.3.tar.gz 
....
//重命名目录名称(可选)
[root@localhost mmcc]# mv hadoop-2.7.3/ hadoop2.7.3
  1. 查看hadoop的根路径
[root@localhost mmcc]# cd hadoop2.7.3/
[root@localhost hadoop2.7.3]# pwd
/home/mmcc/hadoop2.7.3   //配置环境变量时会用到

第四步

配置环境变量

  1. /etc/profile最下面,hadoop之旅1-centerOS7: 搭建java环境章节配置的PATH,CLASSPATH上面增加环境变量配置
HADOOP_HOME=/home/mmcc/hadoop2.7.3
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH:.
  1. 使环境变量生效
[root@localhost jdk1.8]# source /etc/profile
  1. 配置hadoop的java环境,编辑hadoop根目录下/etc/hadoop/下的hadoop.env.sh脚本文件
vi /hadoop-2.7.3/etc/hadoop/hadoop.env.sh
export JAVA_HOME=/home/mmcc/jdk1.8  //配置java的环境目录
  1. 配置hadoop的启动环境,编辑hadoop根目录下/etc/hadoop/下的core-site.xml文件。

       fs.defaultFS
       hdfs://master:9000  (master处为当前主机ip或主机名)  

此处的master后面会教大家

第五步

分布式环境搭建

  1. 此处为了方便,直接通过虚拟机克隆的方式,将镜像克隆多份,这样在此之前搭建的所有环境都是同步存在的
image
  1. 使用该命令给每个节点的设置对应的主机名
[root@localhost mmcc]# hostnamectl set-hostname master/slave1/slave2
  1. 检测网络
[root@localhost mmcc]# ifconfig
ens33: flags=4163  mtu 1500
        inet 192.168.6.133  netmask 255.255.255.0  broadcast 192.168.6.255
        inet6 fe80::3d1d:5127:6666:c62d  prefixlen 64  scopeid 0x20
        ether 00:0c:29:f4:ef:5d  txqueuelen 1000  (Ethernet)
        RX packets 317168  bytes 315273916 (300.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 149675  bytes 14400069 (13.7 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1  (Local Loopback)
        RX packets 12826  bytes 3163428 (3.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12826  bytes 3163428 (3.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

如果查询不到ip地址,需要配置网络

cd  /etc/sysconfig/network-scripts/
vi ifcfg-ens33 (我的虚拟机版本,别的版本可能不一样)
ONBOOT="yes"  表开启网络。
  1. 设置网络别名,即IP对应的别名 如:hdfs://master:9000
[root@localhost network-scripts]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.6.133   master
192.168.6.131   slave1
192.168.6.132   slave2

重启网络

service network restart  重启网络

然后大家可以试着ping master/slave1/slave2如果ping通说明配置成功

  1. 格式化hdfs,在每台节点上执行以下命令
hdfs namenode -format

启动之前进行格式化,如果没有error和Exception 表示格式化成功

6. master主机配置hadoop集群节点

cd /home/mmcc/hadoop2.7.3/etc/hadoop
[root@localhost hadoop]# vi slaves 
//增加以下内容
slave1
slave2

7. 关闭每个节点防火墙,启动hdfs服务,

[root@localhost mmcc]# systemctl stop firewalld
[root@localhost mmcc]# hadoop-daemon.sh start namenode //主节点master
[root@localhost mmcc]# hadoop-daemon.sh start datanode //从节点slave1,slave2

然后可以在网页上输入主节点的地址master:50070ip地址:50070查看当前的状态及其节点状态哦。到此一个分布式的hadoop环境已经成功启动。
下一节会教大家如何进行免密登录,一键启动集群,及一些简单的hdfs文件存储命令,
大家在配置过程中如果有什么问题可以查看log日志进行问题排查。欢迎加我微信一起学习一起进步哈

你可能感兴趣的:(hadoop之旅2-centerOS7: 搭建分布式hadoop环境)