Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

时间:2023-01-15 17:34:32

一、前言

目前Hadoop发行版非常多,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并作为开源或商业产品发布/销售。

Hortonworks这个名字源自儿童书中一只叫Horton的大象。雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks。

Hortonworks有两款核心产品:HDP和HDF

Hortonworks没有对产品收费,而是将这两款产品完全开放,将核心技术放在Hadoop开源社区中,每个人都可以看到并使用这两款产品

企业客户自己开发难度较大的话,就会选择合作。这就是Hortonworks的盈利模式,通过提供支持服务和后期维护,向企业级客户收费。

支持服务主要是通过订阅的方式,客户需要就某些功能预定一年或者几年的服务,提前付费。支持服务覆盖整个周期,从最初的开发和POC阶段,到中间的质量测试,直至产品交付。维护服务主要是对企业级客户的培训和一些咨询业务。

二、相关文档

Cluster Planning
Ambari
HDP

Hortonworks集群的安装过程说难不难说简单也不简单,中间稍有失误基本就得重装系统从头来过,所以实施安装前建议把官方的文档都过一遍,对于后续顺利完成集群安装很有帮助。

三、集群规划

截止当前,Hortonworks官方最新版本是Ambari 2.6.0.0、HDP 2.6.3,不过从之前我曾多次尝试安装Ambari 2.6.0.0+HDP 2.6.3失败的情况来看,基本确定最新版本存在BUG会导致无法顺利完成安装,初步定位BUG应该在包名称不匹配上面。

介于上述情况,我这里选择Ambari 2.5.2.0+HDP 2.6.2的组合经行安装。

Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

操作系统我这里选择CentOS 6.9(2.6.2的支持列表只到6.8,不过2.6.3的支持列表已经更新到6.9),JDK使用的Oracle 1.8,其余组件都是系统自带或者yum安装。
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

写这篇的时候正好有个生产集群需要部署,故直接使用生产集群作为例子,如果仅仅是想安装测试集群的话可以选择1头节点4数据节点的规划。

   头结点  备用头结点  数据节点1  数据节点2  数据节点3
namenode  是  是      
datanode      是  是  是
 resourcemanager  是  是      
 journalnode  是  是      
 zookeeper  是  是  是    

四、系统安装

除了需要注意系统语言和磁盘格式,其它注意事项官方文档里面都有,自行查阅。
系统语言必须是en_US,否则添加节点安装必备环境的时候就会卡在下图的步骤。
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

头结点的磁盘需要使用RAID 10,数据节点的磁盘不需要使用RAID,如果部分服务器走了RAID卡无法关闭,那么可以为每个磁盘做一个RAID 0。
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

磁盘格式官方建议使用ext3而不建议使用ext4,但是从各位运Hadoop维大佬实际运维经验来看,使用ext4比ext3有利,具体怎么抉择各位仁者见仁智者见智。
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

五、系统级别的基础配置

为了后续能顺利安装Hortonworks集群安装,完系统之后需要进行诸多系统层面的配置和调整,想要了解细节参见官方文档
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

我这里提供一个基于各方资料汇集而成的自动配置脚本,针对Centos 6.9 Base Server安装方式。

#!/usr/bin/env bash

SetConfig()
{
#主机名
input_hostname=$ #切换默认软件源为阿里云
tar -zcvf /etc/yum.repos.d/${starDate}_bak.tgz /etc/yum.repos.d/*.repo
rm -rf /etc/yum.repos.d/*.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-6.repo
rpm --import https://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-6
yum makecache #安装YUM源优先级插件
yum install -y yum-priorities
echo "[info] update yum repo end." #关闭IPV6
echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
echo "alias ipv6 off" >> /etc/modprobe.d/dist.conf
echo "[info] disabled ipv6 end." #关闭桌面版网络管理程序
service NetworkManager stop
chkconfig NetworkManager off
echo "[info] disabled NetworkManager end." #修改ulimit
echo "* soft nofile 10000" >> /etc/security/limits.conf
echo "* hard nofile 32832" >> /etc/security/limits.conf
echo "* soft nproc 10000" >> /etc/security/limits.conf
echo "* hard nproc 32832" >> /etc/security/limits.conf sed -i 's/1024/10000/g' /etc/security/limits.d/90-nproc.conf
echo "* hard nproc 32832" >> /etc/security/limits.d/90-nproc.conf
echo "[info] set ulimit end." #关闭iptables
chkconfig iptables off
/etc/init.d/iptables stop
chkconfig ip6tables off
/etc/init.d/ip6tables stop
echo "[info] disabled iptables end." #关闭 SELinux
setenforce 0
sed -i "/^SELINUX=/ c SELINUX=disabled" /etc/selinux/config
echo "[info] disabled SELinux end." #关闭 PackageKit
sed -i "/^enabled=/ c enabled=0" /etc/yum/pluginconf.d/refresh-packagekit.conf
echo "[info] disabled PackageKit end." #关闭 HUP
#sed -i "s/quiet/quiet transparent_hugepage=never/" /etc/grub.conf
echo "" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "[info] disabled HUP end." #打开从节点时间同步(所有的主机都需要打开)
sed -i "s/0.centos.pool.ntp.org iburst/time.pool.aliyun.com prefer/" /etc/ntp.conf
chkconfig ntpd on
service ntpd start
echo "[info] enabled ntpd end." #设置net.core.somaxconn和vm.swappiness参数
echo "net.core.somaxconn = 32768" >> /etc/sysctl.conf
echo "vm.swappiness = 0" >> /etc/sysctl.conf #修改节点HostName名称
echo "......InputHostName:${input_hostname}......"
hostname ${input_hostname}
sed -i "/^HOSTNAME=/ c HOSTNAME=${input_hostname}" /etc/sysconfig/network
#写入所有节点HostName到hosts文件
sed -i "1i\节点1IP地址 节点1hostname" /etc/hosts
sed -i "1i\节点2IP地址 节点2hostname" /etc/hosts
sed -i "1i\节点3IP地址 节点3hostname" /etc/hosts
sed -i "1i\节点4IP地址 节点4hostname" /etc/hosts
sed -i "1i\节点5IP地址 节点5hostname" /etc/hosts
} #没有参数
if [ x$1 == x ] ; then
echo "[error] please enter the parameters."
exit -1
fi SetConfig $1 reboot

使用方法:./666.sh 当前节点hostname

六、配置SSH免密登陆

通过Ambari安装各节点的时候,需要让运行Ambari的节点能SSH免验证登陆到各节点(包括它本身)。

#登录头节点利用以下命令生成RSA密钥
ssh-keygen -t rsa #登录数据节点从头节点复制秘钥,并继续执行后续操作(头节点也需要执行此步骤)
mkdir /root/.ssh
scp root@头结点hostname:/root/.ssh/id_rsa.pub /root/.ssh/
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
#启动公钥登录配置
sed -i "s/#PubkeyAuthentication/PubkeyAuthentication/"
/etc/ssh/sshd_config
sed -i "s/#AuthorizedKeysFile/AuthorizedKeysFile/" /etc/ssh/sshd_config
service sshd restart

七、搭建本地源

由于部署Ambari+HDP过程中需要安装大量组件,而且体积都比较大,因此选择在头节点搭建源服务器。

安装Apache
yum install -y httpd
service httpd start
chkconfig httpd on

手动下载下面几个压缩包到 /var/www/html/ 目录:
http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.2.0/ambari-2.5.2.0-centos6.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.2.14/HDP-2.6.2.14-centos6-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz

解压缩
cd /var/www/html/
tar -zxvf ambari-2.5.2.0-centos6.tar.gz
tar -zxvf HDP-2.6.2.14-centos6-rpm.tar.gz
mkdir HDP-UTILS-1.1.0.21
tar -zxvf HDP-UTILS-1.1.0.21-centos6.tar.gz -C HDP-UTILS-1.1.0.21

配置repo源,把ambari.repo里面的源地址改成实际地址
cp /var/www/html/ambari/centos6/ambari.repo /etc/yum.repos.d/
vi /etc/yum.repos.d/ambari.repo

配置完成之后运行 yum repolist 检查一下
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

准备工作到此结束,下一步就是安装Ambari+HDP了。

相关文章

Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作

Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari

Hadoop 发行版本 Hortonworks 安装详解(三) 通过Ambari添加主机并安装服务

Hadoop 发行版本 Hortonworks 安装详解(四) 开启Kerberos集群安全验证

Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作的更多相关文章

  1. Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari

    一.通过yum安装ambari-server 由于上一步我们搭建了本地源,实际上yum是通过本地源安装的ambari-server,虽然也可以直接通过官方源在线安装,不过体积巨大比较费时. 这里我选择 ...

  2. hadoop 0.20.2伪分布式安装详解

    adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...

  3. gcc5.2版本安装详解

    gcc5.2版本安装详解 1.下载gcc-5.2安装包 gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/gcc-5.2浏览地址:http://ftp.gnu.org/gnu ...

  4. Hadoop发行版本介绍

    前言 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘.开源界及厂商,所有数据软件,无一不向Hadoop靠拢.Hadoop也从小众的高富帅领域 ...

  5. CentOS 6.5的安装详解

    CentOS 6.5的安装详解 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS 免费: RedHat 和CentOS差别不大,Cent ...

  6. Phoenix和SQuirrel安装详解

    Phoenix安装详解 描述 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天的主角是Phoenix. phoenix,中文译为“凤凰” ...

  7. CentOS 7的安装详解

    不多说,直接上干货! CentOS 6.5的安装详解 主流:  目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS. 免费: RedHat 和Ce ...

  8. Hadoop 新 MapReduce 框架 Yarn 详解

    Hadoop 新 MapReduce 框架 Yarn 详解: http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ Ap ...

  9. 【转】Linux下Android ADB驱动安装详解

    原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...

随机推荐

  1. Unity 几种优化建议

    转: http://user.qzone.qq.com/289422269/blog/1453815561?ptlang=2052 Unity 几种优化建议 最简单的优化建议: 1.PC平台的话保持场 ...

  2. Perl ping

    <pre name="code" class="html">use Net::Ping; $p = Net::Ping->new(" ...

  3. mssql 判断sql语句的执行效率语句

    SET STATISTICS io ONSET STATISTICS time ONgo--========此处为sql代码段=============== select zxbh from t_yr ...

  4. NGINX----源码阅读---config配置脚本

    config文件为nginx的配置入口文件. 1. #!/bin/sh # Copyright (C) Igor Sysoev # Copyright (C) Nginx, Inc. LC_ALL=C ...

  5. HTML5对音视频的处理

      前  言 现在网上有许多的框架和插件,能够满足程序猿的各种需求,慢慢的,就有些忽视最基础的东西. 比如,大多数视频是通过插件(比如 Flash)来显示的.然而,并非所有浏览器都拥有同样的插件. H ...

  6. 关于C&num;中函数声明带参数的函数

    在C#语言的函数中,有一项至关重要的我们称之为参数. 对于参数的含义:要完成一件事,需要知道的额外条件 其语法: static void 函数名(参数列表){ //注释类容} 而其参数列表的语法为: ...

  7. Android中ViewPager实现滑动条及与Fragment结合的实例教程

    ViewPager类主要被用来实现可滑动的视图功能,这里我们就来共同学习Android中ViewPager实现滑动条及与Fragment结合的实例教程,需要的朋友可以参考下 自主实现滑动指示条先上一个 ...

  8. 网易郑栋:数据采集与分析的那些事——从数据埋点到AB测试

    本文由  网易云发布. 4月8日晚,DTalk邀请到了网易互联网分析产品.可视化 BI 产品的负责人—郑栋老师,进行了一次关于<网易郑栋:数据采集与分析的那些事第一弹: 数据篇>的主题分享 ...

  9. activemq5&period;11整合spring4&period;2&period;3

    前言 这篇博客记录 activemq5.11整合spring4.2.3的过程,免得以后忘记了 1.工程结构 2.pom.xml <project xmlns="http://maven ...

  10. django基于cors做跨域处理

    背景知识:跨域相关与cors策略 1.安装django-cors-headers pip install django-cors-headers 2.settings.py配置 INSTALLED_A ...