Hadoop集群安装-企业级

来源:互联网 发布:java map实现内存缓存 编辑:程序博客网 时间:2024/06/15 18:34

1.集群安装

操作系统准备

  • 安装RHEL/CentOS/Hanwate7操作系统
  • 插入操作系统光盘并且挂载
# mount /dev/cdrom /mnt/cdrom
  • 安装操作系统的核心软件
# cd /mnt/cdrom/Packges/base#rpm -ivh make*openssl-1*
  • 卸载光盘
# umount/mnt/cdrom

rpm 执行安装包
二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由 RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。
常用命令组合:
-ivh:安装显示安装进度–install–verbose–hash
-Uvh:升级软件包–Update;
-qpl: 列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];
-Va:校验所有的 RPM软件包,查找丢失的文件[View Lost];
-e:删除包

准备Hadoop光盘套件

  • 光驱中替换Hanwate HDP套件的光盘,并挂载
# mount /dev/cdrom /mnt/cdrom
  • 配置Hadoop套件的安装仓库/etc/yum.repos.d/hdp.repo
[HDP]name=HanWate-extras-1.0 #方括号里面的是软件源的名称,将被yum取得并识别baseurl=file:///mnt/cdrom/HanWate-etras-1.0 #这一行的意思是指定一个baseurl(源的镜像服务器地址)enabled=1   #这个选项表示这个repo中定义的源是启用的,0为禁用gpgcheck=1  #这个选项表示这个repo中下载的rpm将进行gpg的校验,已确定rpm包的来源是有效和安全的gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-CentOS-7   #定义用于校验的gpg密钥

安装LSB基础包

  • 安装Redhat-lsb
# yum install -y redhat-lsb

目 前 Linux 的发行版非常繁多,为了促进 Linux 不同发行版间的兼容性,LSB(Linux Standards Base)开发了一系列标准,使各种软件可以很好地在兼容 LSB 标准的系统上运行,从而可以帮助软件供应商更好地在 Linux 系统上开发产品,或将已有的产品移植到 Linux 系统上。

分配主机角色

主机 地址 组件 master1 191.168.x.1 NameNode,JobHistoryserver master2 191.168.x.2 ResourceManager,SecondaryNameNode slave1 191.168.x.3 Datanode,NodeManager slave2 191.168.x.4 Datanode,NodeManager slave3 191.168.x.5 Datanode,NodeManager

修改主机地址

  • 每台主机各自修改主机IP地址和主机名。
  • 修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-xxx
BOOTPROTO=noneIPADDR=191.168.x.1NETMASK=255.255.0.0

xxx指的是网卡名字:
1、前2个字符的含义

en  以太网    Ethernet
wl  无线局域网  WLAN
ww  无线广域网  WWAN
2、第3个字符根据设备类型选择

o on-board device index number
s hotplug slot index number
x MAC address
ps PCI geographical location
ps USB port number chain

  • 主机名配置文件 : /etc/hostname

配置主机名映射

  • 在所有机器上修改/etc/hosts:
191.168.x.1 master1191.168.x.2 master2191.168.x.3 slave1191.168.x.3 slave1191.168.x.3 slave1

应用配置文件

  • 所有主机同步/etc/hosts
  • 重启服务器
  • 检查主机名和其他节点是否可以访问
# for host in master1 master2 slave1 slave2 slave3    do         ping -c1 $host    done

hadoop基础依赖软件安装

  • 进入HDP安装目录,安装ranger包
# rpm -ivh ranger/ranger*-yarn-* ranger/ranger*-hdfs-*
  • 安装hdp-select
# rpm -ivh hdp-select/*.rpm
  • 安装zookeeper
# rpm -ivh zookeeper/*.rpm
  • 安装spark shuffle
# rpm -ivh spark/spark*-yarn-shuffle*# rpm -ivh spark2/spark*-yarn-shuffle*

hadoop核心包安装

  • 安装hadoop 2.7.3
# rpm -ivh hadoop/hadoop_2_6_1_0_129-2.7.3.2.6.1.0-129.x86_64.rpm
  • 安装依赖库
# rpm -ivh bigtop-jsvc/*.rpm# yum install -y libtirpc-devel# rpm -ivh hadoop/hadoop_2_6_1_0_129-hdfs-2.7.3.2.6.1.0-129.x86_64.rpm

安装Namenode

  • 以下命令在master1节点操作
# rpm -ivh hadoop/hadoop_2_6_1_0_129-hdfs-namenode-2.7.3.2.6.1.0-129.x86_64.rpm

安装SecondaryNamenode

  • 在master2执行以下操作
# rpm -ivh hadoop/hadoop_2_6_1_0_129-hdfs-secondarynamenode-2.7.3.2.6.1.0-129.x86_64.rpm 

安装Datanade

  • 在所有节点执行以下操作
# rpm -ivh hadoop/hadoop_2_6_1_0_129-hdfs-dataname*

配置集群文件

  • 进入/etc/hadoop/conf/
  • 配置集群core-site.xml
name:fs.defaultFSvalue:hdfs://master1:8020作用:HDFS访问入口#这个要写成xml文档,格式有模板
  • 配置集群hdfs-site.xml
1.name:dfs.namenode.name.dir  value:file///disk1/dfs/nn,file:///disk2/dfs/nn  作用:namenode数据的存放位置,至少两个磁盘目录2.name:dfs.namenode.data.dir  value:file///disk1/dfs/dn,file:///disk2/dfs/dn  作用:datanode数据块存放位置,至少一个

准备数据目录

  • 分别创建 /disk1和disk2 目录
# mkdir /disk1 /disk2
  • 挂在第二块硬盘到/disk2
# moount /dev/sdb1 /disk2
  • 保存到/etc/fstab,实现开机自动挂载
/dev/sdb1 /disk2 ext4 fefaults 0 2

第二块磁盘需要分一个区,然后格式化ext4后挂载:

fdisk /dev/sdb #分区,生成sdb1mkfs.ext4 /dev/sdb1 #格式化分区

/etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。
当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。

  • 创建子目录
# mkdir -p /disk{1,2}/dfs/{dn,nn}
  • 修改权限
 # chown -R hdfs.hadoop /disk[12] #用户为hdfs,组为hadoop

初始化hdfs文件系统

  • 在master1上操作
# sudo -u hdfs hdfs namenode -formate

启动服务

  • 首先更改/var下面的run目录权限
# chown hdfs.hadoop /var/run
  • 启动namenode服务,在master1上操作
# ln -s /usr/hdp/2.6.1.0-129/hadoop-hdfs/usr/lib/systemd/system/hadoop-hdfs-namenode.server /usr/lib/systemd/system/# systemctl start hadoop-hdfs-namenode
  • 启动secondarynamenode服务,在master2操作
# ln -s /usr/hdp/2.6.1.0-129/hadoop-hdfs/usr/lib/systemd/system/hadoop-hdfs-secondarynamenode.server /usr/lib/systemd/system/# systemctl start hadoop-hdfs-secondarynamenode
  • 启动datanode服务,所有节点操作
# ln -s /usr/hdp/2.6.1.0-129/hadoop-hdfs/usr/lib/systemd/system/hadoop-hdfs-datanode.server /usr/lib/systemd/system/# systemctl start hadoop-hdfs-datanode

2.用到的知识

  • yum文件配置
  • markdown使用指南
  • linux之fstab文件详解
  • LSB 简介
  • -
原创粉丝点击