Hadoop超详细入门(一)介绍及虚拟机安装

要求

  • 有Java基础
  • 有Linux基础
  • 有程序设计及算法能力

背景及介绍

  • 1.ApacheHadoop:https://hadoop.apache.org/。
  • 2.Apache Hadoop 软件库是一个框架,它允许使用简单的编程模型跨计算机集群分布式处理大型数据集。它旨在从单个服务器扩展到数千台机器,每台机器都提供本地计算和存储。库本身不是依靠硬件来提供高可用性,而是设计用于检测和处理应用层的故障,因此在计算机集群之上提供高可用性服务,每台计算机都可能容易出现故障。
  • 3.不会因为硬件错误,而影响整体运行。

模块

common

  • 1.用于提供下面三个工具类
  • 2.封装rpc通信框架

hdfs

  • 1.Hadoop Distributed File System 分布式文件存储系统
  • 2.海量数据储存
  • 3.将一个文件切割成小文件储存在不同节点上
  • 4.架构:主从架构
    主 => jave进程,namenode =>只能有一个
    从 => 从进程,datanode =>存在多个
    助理 => secodarynamenode =>分担主进程压力

yarn

  • 1.集群的资源调度框架,类似于Windows系统
  • 2.负责管理集群资源
  • 3.启动的时候存在Java进程
  • 4.架构:主从架构
    主 => resourcemanger,负责统筹资源
    从 => nodemanger

mapreduce

  • 1.分布式计算框架
  • 2.有计算任务的时候,才会有相应的进程

虚拟机安装

  • 推荐Centos7,并安装图形化桌面
  • 3台虚拟机,省略虚拟机安装步骤
    192.168.10.20 hadoop1
    192.168.10.21 hadoop2
    192.168.10.22 hadoop3

搭建准备

IP配置

  • 1 vim /etc/sysconfig/network-scripts/ifcfg-ens33
  • 2 修改文本内容
BOOTPROTO=static #dhcp改为static(修改)
ONBOOT=yes #开机启用本配置,一般在最后一行(修改)
IPADDR=192.168.25.111 #静态IP(增加)
GATEWAY=192.168.25.1 #默认网关,虚拟机安装的话,通常是2,也就是VMnet8的网关设置(增加)
NETMASK=255.255.255.0 #子网掩码(增加)
DNS1=192.168.25.1 #DNS 配置,虚拟机安装的话,DNS就网关就行,多个DNS网址的话再增加(增加)
  • 3 service network restart
  • 4 shutdown –r ·now重启

配置主机

hostnamectl set-hostname <新主机名>

主机映射

192.168.10.20   hadoop1
192.168.10.21   hadoop2
192.168.10.22   hadoop3

关闭防火墙和selinux

service iptables stop

将系统的启动级别改为3

  1. vim /etc/inittab
# 0 - halt (Do NOT set initdefault to this) 为停机,机器关闭。
# 1 - Single user mode为单用户模式。
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking) 为多用户模式,但是没有网络连接支持。
# 3 - Full multiuser mode 为完整的多用户模式,是标准的运行级。
# 4 – unused 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
# 5 - X11 图形化界面。
# 6 - reboot (Do NOT set initdefault to this) 为重启,运行init 6机器就会重启。
  • 各个运行级的详细解释:
  1. 0和6一般不用;
  2. 一般使用的时候,都是init num
  3. 若是centos7或以上版本,你会发现: runlevels被targets所取代,即CentOS7采用加载target的方式来替代之前的启动级别。其中有两个重要的target:multi-user.target与graphical.target。它们分别表示运行级别中的3与5级别。
  4. 通过systemctl get-default可获得默认启动的target
  5. 通过systemctl set-default设置默认启动的target
  6. 那么,想修改为多用户状态只需执行:
    systemctl set-default multi-user.target
  7. hadoop文档排行 hadoop官方文档_big data


创建普通用户,并为普通用户添加sudolers权限,普通用户有修改文件权限

  1. 添加新用户 useradd username
  2. 修改已知用户 usermod –l newname oldname
  3. 为新用户添加密码 passwd username
  4. vim /etc/sudoers
  5. hadoop文档排行 hadoop官方文档_hadoop文档排行_02


会提示是只读文件,请强制执行 :wq!

配置免密登录

  1. 先切换到普通用户 su hadoop1<用户>
  2. 分别在三台机器中修改hosts 文件,文件位置 /etc/hosts 一定要重复3次,在三台机器hadoop中分别对应,并分别在hosts中操作。
  3. 生成私钥和公钥ssh-keygen -t rsa 然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
  4. hadoop文档排行 hadoop官方文档_big data_03


hadoop文档排行 hadoop官方文档_big data_04

  1. 将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop1@172.16.12.170
ssh-copy-id hadoop2@172.16.12.171
ssh-copy-id hadoop3@172.16.12.172

hadoop文档排行 hadoop官方文档_hdfs_05

  1. 每台机器都要重复以上两个步骤

重启完成生效!