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
- 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机器就会重启。
- 各个运行级的详细解释:
- 0和6一般不用;
- 一般使用的时候,都是init num
- 若是centos7或以上版本,你会发现: runlevels被targets所取代,即CentOS7采用加载target的方式来替代之前的启动级别。其中有两个重要的target:multi-user.target与graphical.target。它们分别表示运行级别中的3与5级别。
- 通过systemctl get-default可获得默认启动的target
- 通过systemctl set-default设置默认启动的target
- 那么,想修改为多用户状态只需执行:
systemctl set-default multi-user.target
创建普通用户,并为普通用户添加sudolers权限,普通用户有修改文件权限
- 添加新用户
useradd username
- 修改已知用户
usermod –l newname oldname
- 为新用户添加密码
passwd username
vim /etc/sudoers
会提示是只读文件,请强制执行 :wq!
配置免密登录
- 先切换到普通用户
su hadoop1<用户>
- 分别在三台机器中修改hosts 文件,文件位置
/etc/hosts
一定要重复3次,在三台机器hadoop中分别对应,并分别在hosts中操作。 - 生成私钥和公钥
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
- 将公钥拷贝到要免密登录的目标机器上
ssh-copy-id hadoop1@172.16.12.170
ssh-copy-id hadoop2@172.16.12.171
ssh-copy-id hadoop3@172.16.12.172
- 每台机器都要重复以上两个步骤
重启完成生效!