Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作
一、前言
目前Hadoop发行版非常多,所有这些发行版均是基于Apache Hadoop衍生出来的,之所以有这么多的版本,完全是由Apache Hadoop的开源协议决定的:任何人可以对其进行修改,并作为开源或商业产品发布/销售。
Hortonworks这个名字源自儿童书中一只叫Horton的大象。雅虎主导Hadoop开发的副总裁,带领二十几个核心成员成立Hortonworks。
Hortonworks有两款核心产品:HDP和HDF
Hortonworks没有对产品收费,而是将这两款产品完全开放,将核心技术放在Hadoop开源社区中,每个人都可以看到并使用这两款产品
企业客户自己开发难度较大的话,就会选择合作。这就是Hortonworks的盈利模式,通过提供支持服务和后期维护,向企业级客户收费。
支持服务主要是通过订阅的方式,客户需要就某些功能预定一年或者几年的服务,提前付费。支持服务覆盖整个周期,从最初的开发和POC阶段,到中间的质量测试,直至产品交付。维护服务主要是对企业级客户的培训和一些咨询业务。
二、相关文档
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的组合经行安装。

操作系统我这里选择CentOS 6.9(2.6.2的支持列表只到6.8,不过2.6.3的支持列表已经更新到6.9),JDK使用的Oracle 1.8,其余组件都是系统自带或者yum安装。
写这篇的时候正好有个生产集群需要部署,故直接使用生产集群作为例子,如果仅仅是想安装测试集群的话可以选择1头节点4数据节点的规划。
| 头结点 | 备用头结点 | 数据节点1 | 数据节点2 | 数据节点3 | |
| namenode | 是 | 是 | |||
| datanode | 是 | 是 | 是 | ||
| resourcemanager | 是 | 是 | |||
| journalnode | 是 | 是 | |||
| zookeeper | 是 | 是 | 是 |
四、系统安装
除了需要注意系统语言和磁盘格式,其它注意事项官方文档里面都有,自行查阅。
系统语言必须是en_US,否则添加节点安装必备环境的时候就会卡在下图的步骤。
头结点的磁盘需要使用RAID 10,数据节点的磁盘不需要使用RAID,如果部分服务器走了RAID卡无法关闭,那么可以为每个磁盘做一个RAID 0。
磁盘格式官方建议使用ext3而不建议使用ext4,但是从各位运Hadoop维大佬实际运维经验来看,使用ext4比ext3有利,具体怎么抉择各位仁者见仁智者见智。
五、系统级别的基础配置
为了后续能顺利安装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 检查一下
准备工作到此结束,下一步就是安装Ambari+HDP了。
相关文章
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作
Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari
Hadoop 发行版本 Hortonworks 安装详解(三) 通过Ambari添加主机并安装服务
Hadoop 发行版本 Hortonworks 安装详解(四) 开启Kerberos集群安全验证
Hadoop 发行版本 Hortonworks 安装详解(一) 准备工作的更多相关文章
- Hadoop 发行版本 Hortonworks 安装详解(二) 安装Ambari
一.通过yum安装ambari-server 由于上一步我们搭建了本地源,实际上yum是通过本地源安装的ambari-server,虽然也可以直接通过官方源在线安装,不过体积巨大比较费时. 这里我选择 ...
- hadoop 0.20.2伪分布式安装详解
adoop 0.20.2伪分布式安装详解 hadoop有三种运行模式: 伪分布式不需要安装虚拟机,在同一台机器上同时启动5个进程,模拟分布式. 完全分布式至少有3个节点,其中一个做master,运行名 ...
- gcc5.2版本安装详解
gcc5.2版本安装详解 1.下载gcc-5.2安装包 gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/gcc-5.2浏览地址:http://ftp.gnu.org/gnu ...
- Hadoop发行版本介绍
前言 从2011年开始,中国进入大数据风起云涌的时代,以Hadoop为代表的家族软件,占据了大数据处理的广阔地盘.开源界及厂商,所有数据软件,无一不向Hadoop靠拢.Hadoop也从小众的高富帅领域 ...
- CentOS 6.5的安装详解
CentOS 6.5的安装详解 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS 免费: RedHat 和CentOS差别不大,Cent ...
- Phoenix和SQuirrel安装详解
Phoenix安装详解 描述 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天的主角是Phoenix. phoenix,中文译为“凤凰” ...
- CentOS 7的安装详解
不多说,直接上干货! CentOS 6.5的安装详解 主流: 目前的Linux操作系统主要应用于生产环境, 主流企业级Linux系统仍旧是RedHat或者CentOS. 免费: RedHat 和Ce ...
- Hadoop 新 MapReduce 框架 Yarn 详解
Hadoop 新 MapReduce 框架 Yarn 详解: http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ Ap ...
- 【转】Linux下Android ADB驱动安装详解
原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比 ...
随机推荐
- 移动端H5制作安卓和IOS的坑 持续更新...
移动端H5制作安卓和IOS的坑 持续更新... 前言:最近参加公司的H5页面创意竞赛,又遇到不少页面在不同系统上的坑.踩坑之余,觉得很多之前遇到的知识点都忘了,索性开一篇博文,把这些坑都统一归纳起来, ...
- SpringMvc+JavaConfig+Idea 搭建项目
1.介绍 之前搭建SpringMvc项目要配置一系列的配置文件,比如web.xml,applicationContext.xml,dispatcher.xml.Spring 3.X之后推出了基于Jav ...
- UWP 显示图片到Image控件
要想显示图片,前提是要有一个空间的啦 <Image x:Name="imageHidden"/> 然后一个响应选择图片得事件,注意使用asynchronous方法哦 F ...
- google软件测试之道读后感(一)
这几天在抽空读一本新书,久负盛名的<google软件测试之道>.之前在网络上一点一点地看过它的英文版,很受触动,还做了很长的读书笔记,现在看到了中文版,才恍觉之前的好些理解存在不恰当的地方 ...
- java学习笔记之集合家族2
集合体系 一.数据结构 List集合储存数据结构 <1>堆栈结构 特点:先进后出 <2>队列结构 特点:先进先出 <3>数组结构 特点:查询快,增删慢 <4& ...
- Android开发之漫漫长途 Ⅷ——Android Binder(也许是最容易理解的)
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...
- Oracle中用户(User)和模式(Schema)的概念
数据库理论中数据库用户和数据库模式并没有必定的联系.具体的数据库模式解释能够在这里找到: http://stackoverflow.com/questions/2674222/what-is-purp ...
- 7、创建ROS msg和srv
一.msg和srv介绍 msg: msg文件使用简单的文本格式声明一个ROS message的各个域. 仅须要创建一个msg文件,就能够使用它来生成不同语言的message定义代码. srv:srv文 ...
- Python笔记·第五章—— 列表(List) 的增删改查及其他方法
一.列表的简介 列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型比如:li = ...
- 初识homebrew
homebrew是MAC上的一个包管理工具,用于软件安装,非常方便. homebrew安装: 命令行执行: ruby -e "$(curl -fsSL https://raw.githubu ...