Hadoop.2.x_集群初建

时间:2024-08-30 20:05:20

一、部分概念

1. 分布式:一个项目分为多个模块共同完成一个或多个任务,可部署在一个或多个机器
2. 集群:多个机器运行同一个项目或服务
3. 集群上可能运行着零个或多个分布式系统(比如Hadoop,Zookeeper...)
分布式系统可能运行或不运行在集群上

二、简单搭建Hadoop分布式集群(分布式指的是Hadoop,集群指在多台节点运行一个Hadoop系统)
  1. 做好规划:
    1> 需要哪些服务要先想好,因为配置文件后会分发到其他节点,避免重复修改配置
       比如:我将要运行的服务有hdfs,yarn,mapreduce,secondaryserver,jobhistoryserver
    2> 做好节点服务分布

hostname        hadoop09-linux-01.ibeifeng.com	hadoop09-linux-02.ibeifeng.com	hadoop09-linux-03.ibeifeng.com
ip 192.168.0.108 192.168.0.109 192.168.0.110
服务与插件 namenode,histroyserver resourcemanager,nodemanager secondarynamenode,nodemanager
datanode,nodemanager datanode datanode

  2. 准备三台节点,这里使用VMware克隆出两台,简单搭建一个三台节点的Hadoop集群
    部分细节:
    1> 克隆系统使用完全克隆
    2> 分别启动各个节点
    3> 配置各自的IP(Mac地址),hostname(注意选择好网络连接方式:桥接/nat)

a.Mac地址修改
[liuwl@hadoop09-linux-01 ~]$ sudo vim /etc/udev/rules.d/70-persistent-net.rules

[liuwl@hadoop09-linux-01 ~]$ sudo dmesg | grep eth
# 删除上面的PCI device,并复制下面PCI device的ATTR{address}值(这个值就是新的Mac地址)
[liuwl@hadoop09-linux-01 ~]$ vim /etc/sysconfig/network-scripts/ifcfg-eth0
# 将新的Mac地址替换上去,并修改相应IP
# PS:若是修改了虚拟机网络连接方式还要配置相应DNS1(可以设置为8.8.8.8)
# 修改完毕后重启网络设置并测试
[liuwl@hadoop09-linux-01 ~]$ sudo service network restart
[liuwl@hadoop09-linux-01 ~]$ ping www.baidu.com
b.Hostname修改
[liuwl@hadoop09-linux-01 ~]$ sudo vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.108 hadoop09-linux-01.ibeifeng.com
10.0.0.109 hadoop09-linux-02.ibeifeng.com
10.0.0.110 hadoop09-linux-03.ibeifeng.com
[liuwl@hadoop09-linux-01 ~]$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop09-linux-01.ibeifeng.com
# 测试一下:
[liuwl@hadoop09-linux-01 ~]$ ping hadoop09-linux-02.ibeifeng.com
c.删除用户目录下.ssh目录下所有文件(用于重新配置无秘钥),配置完毕分发公钥到其他节点
[liuwl@hadoop09-linux-01 ~]$ ssh-keygen -t rsa
[liuwl@hadoop09-linux-01 ~]$ ssh-copy-id 10.0.0.108 hadoop09-linux-01.ibeifeng.com

  4> 将Hadoop上传至自定义文件夹,并修改其中的自定配置文件,删除share目录下的doc目录
  5> 分发Hadoop文件夹到其他相应目录(目录结构与自定义的目录接口一致)

[liuwl@hadoop09-linux-02 hadoop-2.5.0]$ scp -r etc/hadoop/ liuwl@hadoop09-linux-02.ibeifeng.com:xx/

  6> 检查分发后的Hadoop文件夹权限

使用chown [用户组]:[用户组] 文件名 -R 递归修改

  7> 格式化hdfs

[liuwl@hadoop09-linux-01 hadoop-2.5.0]$ bin/hdfs namenode -format

  8> 启动

[liuwl@hadoop09-linux-01 hadoop-2.5.0]$ sbin/start-dfs.sh
[liuwl@hadoop09-linux-01 hadoop-2.5.0]$ sbin/start-yarn.sh
[liuwl@hadoop09-linux-01 hadoop-2.5.0]$ sbin/mr-jobhistory-daemon.sh start historyserver

  9> jps分别查看

[liuwl@hadoop09-linux-01 hadoop-2.5.0]$ jps
2987 DataNode
6306 Jps
2894 NodeManager
2826 NameNode
3333 JobHistoryServer
#===========================================
[liuwl@hadoop09-linux-02 ~]$ jps
2598 ResourceManager
3961 Jps
2751 DataNode
2693 NodeManager
#===========================================
[liuwl@hadoop09-linux-03 ~]$ jps
2674 SecondaryNameNode
4129 Jps
2558 NodeManager
2606 DataNode

  10> 打开web网页分别查看datanode节点和nodemanager节点
  11> have a nice job!