Hadoop集群安装

Hadoop

一、Hadoop的组成

1. HDFS

Hadoop分布式文件系统 海量数据的存储

  • NameNode 集群中的主节点,用来管理元数据(文件属性信息)

  • DataNode 集群中的从节点,用来管理文件块

  • SecondaryNameNode 集群中的辅助节点,用于NameNode的存储优化和数据恢复

2. YARN

分布式资源(cpu、内存等计算资源)调度服务

  • ResourceManager 集群中的主节点,用于接收客户都提交的任务,并将任务分发给NodeManager

  • NodeManager 集群中的从节点,用于启动容器运行RM分发的任务

3. MapReduce

分布式计算框架

  • Map 将数据进行一一映射

  • Reduce 将Map执行完的结果进行聚合

二、hadoop集群搭建的准备工作

  • 设置静态IP

# 检查网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 将网卡启动方式设置为none或者static
# 如果是dhcp 则每次重启都会重新分配IP
BOOTPROTO=none
或者
BOOTPROTO=STATIC
# 修改之后需要重启网络
systemctl restart network
  • 修改主机名

# 查看当前主机名
hostname
# 修改主机名
hostnamectl set-hostname 主机名
# 关闭防火墙
systemctl stop firewalld
# 禁用防火墙的开机启动
systemctl disable firewalld
# 查看防火墙服务状态
systemctl status firewalld
  • 安装JDK

    1. 上传安装包到Linux服务器

    2. 解压安装包

# tar命令用来解压tar类型的存档文件
# z 进行gzip格式文件的压缩或解压
# x 解开压缩包
# v 显示解压或压缩细节
# f 将文件解压到当前目录
tar zxvf jdkxxxx.tar.gz
# 使用mv将文件夹修改为更简短的名称
# 软件名称-软件版本
  1. 配置环境变量

# 可以在三个文件中配置环境变量
# 系统环境变量  /etc/profile
# 当前用户的环境变量  ~/.bashrc  ~/.bash_profile
  • 将服务器克隆为3台,并分别设置静态IP,分别设置主机名

192.168.110.71 192.168.110.72 192.168.110.73

  • 设置ip和主机名映射

# Linux中使用/etc/hosts文件记录IP和主机名的映射
# 配置映射是为了将来访问其他机器时不需要记忆ip地址
# 配置映射 可以在所有的软件配置文件中使用主机名代替IP,将来IP改动时,只需要改动hosts文件,不需要改动软件配置文件
vim /etc/hosts
192.168.30.71  bd01
192.168.30.72  bd02
192.168.30.73  bd03
  • 设置SSH免密登录

# 分布式程序中 集群之间需要进行大量的数据传输和通信,需要使用SSH协议进行远程连接,如果每次都需要验证密码,效率极差
# 可以通过配置免密登录 实现集群内部通畅的通信
# 1.移除之前的残留文件
rm -rf ~/.ssh
# 2.创建密钥文件
ssh-keygen -t rsa
# 3.分发密钥
ssh-copy-id bd0701
yes
密码
ssh-copy-id bd0702
yes
密码
ssh-copy-id bd0703
yes
密码

三、安装完全分布HDFS服务

http://archive.apache.org/ apache组件下载

  • 关于版本:

    • 几乎所有的大数据组件,版本都有三组数字组成 x.y.z

    • x : 大版本,通常x不同的版本之间,API有差异,不互相兼容

    • y : 中版本,通常x相同y不同的版本之间,api相互兼容,会有少量的优化和重构

    • z : 小版本,通常x,y相同,z不同的版本之间,功能和性能完全一样,修复了一些紧急的漏洞,不要使用小版本为0的版本

  • 2.7.x是目前企业中使用的相对稳定版本,应用最广泛,与Spark兼容性优良

  • 2.6.x 和3.0.x也是企业中常见版本

  1. 上传解压安装包

# 由于Hadoop的安装和使用是在Linux服务器上,所以可以直接删除所有的*.cmd的windows命令
bin # Hadoop集群的操作命令
etc # Hdoop的配置文件
include # \
lib  #    ->  需要依赖的c语言库
libexec # /
LICENSE.txt# \
NOTICE.txt # -> 声明和说明文档
README.txt # /
sbin  # 集群启动关闭之类的管理命令
share # Hadoop运行需要依赖的jar文件
  1. 修改配置文件

    • hadoop-env.sh

# 设置JavaHome
export JAVA_HOME=/opt/jdk1.8
  • core-site.xml

<configuration>
  <property>
<!-- 设置Hadoop用来存储数据的目录,设置到Hadoop安装目
录中 -->
    <name>hadoop.tmp.dir</name>
    <value>/opt/hadoop-2.7.7/data</value>
  </property>
  <property>
<!-- 设置HDFS使用的默认连接url -->
    <name>fs.defaultFS</name>
    <value>hdfs://bd0701:8020</value>
  </property>
</configuration>
  • hdfs-site.xml

<configuration>
  <property>
 <!-- 配置SecondaryNameNode启动的机器 -->
     <name>dfs.namenode.secondary.http-address</name>
     <value>bd0703:50090</value>
  </property>
</configuration>
  • slaves 设置启动DataNode服务的节点

bd0701
bd0702
bd0703
  1. 分发安装包

# r 递归发送文件夹
# q 静默发送 不显示细节
scp -rq 本地文件夹  目标主机:目标路径
scp -rq /opt/hadoop-2.7.7  bd0702:/opt
  1. 配置环境变量

echo 'export HADOOP_HOME=/opt/module/hadoop-2.7.7' >> /etc/profile
echo 'export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH' >> /etc/profile
source /etc/profile
  1. 对Namenode进行格式化

hdfs namenode -format

注意:如果有修改core hdfs 文件,需要删除data 重新格式化

  1. 启动集群尝试操作

start-dfs.sh
[root@bd01 ~]# jps
24952 DataNode
24827 NameNode
[root@bd02 ~]# jps
5124 DataNode
[root@bd03 ~]# jps
20851 DataNode
20924 SecondaryNameNode
  • 访问NameNode的webUI

192.168.30.71:50070

  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值