Hadoop集群安装-企业级

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 系统上。

分配主机角色

主机地址组件
master1191.168.x.1NameNode,JobHistoryserver
master2191.168.x.2ResourceManager,SecondaryNameNode
slave1191.168.x.3Datanode,NodeManager
slave2191.168.x.4Datanode,NodeManager
slave3191.168.x.5Datanode,NodeManager

修改主机地址

  • 每台主机各自修改主机IP地址和主机名。
  • 修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-xxx
BOOTPROTO=none
IPADDR=191.168.x.1
NETMASK=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 master1
191.168.x.2 master2
191.168.x.3 slave1
191.168.x.3 slave1
191.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.defaultFS
value: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 #分区,生成sdb1
mkfs.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.用到的知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值