用Ambari2管理Hadoop_第一部分:环境

本系列文章说明

当我脑海里萌发要写这系列的文章时候,其实我是抗拒的!因为我觉得呀……这是大数据呀,我一个屌丝码农哪有这个能耐。但是又觉得博客总得写点内容,装逼装逼也得附和社会呀,加上看了看Evernote记录的内容甚乱,必须写……后来写着写着真觉得很DUANG~DUANG~DUANG~…..
其实在项目中用到Hadoop的功能甚少,一个HDFS来存储非结构数据,一个是Mapreduce来分布计算处理数据。然而,就算写个简单的Hello world也得把环境搭建起来。所以,本系列的文章,权当我从0开始学习Hadoop的笔记,希望能和像我一样的新手分享经验,同时也希望得到高人指点一二三四五…

本部分内容

  • Hadoop生态圈
  • 本系类文章的环境介绍
  • Ambari安装
    • 所有节点基础配置
    • 本地yum源配置
    • Ambari安装
  • 一个神奇的网址

    Hadoop生态圈

生态系统

大量 Apache Software Foundation 项目构成 Hadoop 的生态系统,提供企业部署、集成和使用 Hadoop 所需的服务。这些项目中的每一个都经过部署,提供明确的功能,都有自己的开发人员群体和各自的发布周期。
你肯定也听过YARN、 Apache HBase、Apache Hive或者Apache Spark、Apache Storm,Apache Ambari也是喔,等等等…
没听过没有关系,看看以下的图片:
用Ambari2管理Hadoop_第一部分:环境

看不懂图片没有关系,看看这个网址:http://zh.hortonworks.com/hadoop/

反正我是看不懂的。

Hadoop发行版

Hadoop最早是始于Yahoo,但是现在主要是由 HortonWorksCloudera 这2家公司在维护者。
Hadoop 发行版本将Hadoop生态系统所包含的不同项目打包在一起,提供打包、工具和商业支持。而这些不仅极大地简化了开发,而且也极大地简化了操作。脱颖而出的发行版有:

  • Cloudera:最成型的发行版本,拥有最多的部署案例。提供强大的部署、管理和监控工具。Cloudera开发并贡献了可实时处理大数据的Impala项目。
  • Hortonworks:拥有任何私有(非开源)修改地使用了100%开源Apache Hadoop的唯一提供商。因为开源,所以我喜欢。
  • MapR:百度告诉你…

环境介绍

我是在自建的 Openstack 创建云服务器。
用Ambari2管理Hadoop_第一部分:环境

  • Ambari Server:用来安装Ambari,一站式部署、管理和监控Hadoop
  • DB Server:独立一台服务器用做数据库服务器,安装Mysql6.6
  • Node1~Node9:安装Hadoop以及生态系统

所有服务器安装Centos6.6-64Bit-minimal,当然我这里用的是自制的Openstack的Centos6.6-64Bit-minimal镜像。

我创建云服务器时候,登录验证是采用密钥形式无密码SSH的,所以云服务器之间是可以通过秘钥无密码相互访问SSH的,Or not,你需要配置你服务器之间无密码SSH,请问百度君。

环境配置

讲了一堆废话,终于可以上机折腾了,这酸爽…

所有节点基础配置

全体节点的服务器(node1~node9)都需要配置以下内容。
NND,这么多服务器是否怀念 Puppet,硬着头皮先续个服务器敲命令吧…

更新系统

 upgrade -y

禁用Selinux

vi /etc/sysconfig/selinux

编辑/etc/sysconfig/selinux文档,把SELINUX的值设置为disabled

关闭防火墙

chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop

修改hosts,本地解析DNS

vi /etc/hosts

编辑/etc/hosts,增加内容如下:

192.168.111.5 ambari.hdp.novalocal
192.168.111.8 node1.hdp.novalocal
192.168.111.6 node2.hdp.novalocal
192.168.111.9 node3.hdp.novalocal
192.168.111.10 node4.hdp.novalocal
192.168.111.11 node5.hdp.novalocal
192.168.111.7 node6.hdp.novalocal
192.168.111.12 node7.hdp.novalocal
192.168.111.13 node8.hdp.novalocal
192.168.111.14 node9.hdp.novalocal
192.168.111.15 db.hdp.novalocal

安装JDK

rpm -iv jdk-8u45-linux-x64.rpm

JDK请到官网下载,Java SE Downloads

配置环境变量

vi /etc/profile

编辑/etc/profile文档,在文档结尾增加内容:

#for java by jacken
JAVA_HOME=/usr/java/default
JAVA=$JAVA_HOME/bin
export JAVA_HOME=$JAVA_HOME
export PATH=$PATH:$JAVA

关闭,不使用透明内存。配置transparent huge page的参数,如果不设置,安装过程会有如下的检验错误:
用Ambari2管理Hadoop_第一部分:环境

编辑/etc/rc.local文档

vi /etc/rc.local

在文档结尾增加内容:

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
       echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

本地yum源配置

加快安装速度,提高安装成功率,建议配置本地yum源,源内容有两部分:

  • Ambari Repositories
  • HDP Stack Repositories

安装yum工具

yum install yum-utils createrepo

创建源内容保存的目录

mkdir -p /var/www/html/

确定 Ambari和HDP Stack源是否存在

yum repolist

用Ambari2管理Hadoop_第一部分:环境

如果不存在,下载repo文档:

wget -nv http:
wget -nv http:

同步源内容到本地

cd /var/www/html
mkdir -p ambari/centos6
cd ambari/centos6
reposync -r Updates-ambari-2.0.1

cd /var/www/html
mkdir -p hdp/centos6
cd hdp/centos6
reposync -r HDP-2.2.4.2
reposync -r HDP-UTILS-1.1.0.20

同步网络上的源内容到本地,还需要生成源的metadata

createrepo /var/www/html/ambari/centos6/Updates-ambari-2.0.1
createrepo /var/www/html/hdp/centos6/HDP-2.2.4.2
createrepo /var/www/html/hdp/centos6/HDP-UTILS-1.1.0.20

编译安装Nginx

把本地源内容,通过http提供对外访问,当时,你任性也可以用Apache HTTP Server
安装gcc编译器及相关工具:

yum -y install gcc make  openssl-devel pcre pcre-devel
wget http://nginx.org/download/nginx-1.8.0.tar.gz
tar -zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0

编译安装Nginx

groupadd www
useradd www -g www -M -s /sbin/nologin
./configure --prefix=/opt/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module
make && make install

编辑/opt/nginx/config/nginx.cnf文档,内容请参考nginx.conf
同时,把Nginx增加到系统服务,实现开机自动开启。
编辑/etc/init.d/nginx文档,内容请参考nginx

chmod a+x /etc/init.d/nginx
chkconfig --add nginx
chkconfig nginx on

本地源的信息

URLs for the New Repository,要记住,往后需要用到
Ambari Base URL:

http://ambari.hdp.novalocal/centos6/Updates-ambari-2.0.1

HDP Base URL:

http://ambari.hdp.novalocal/hdp/centos6/HDP-2.2.4.2

HDP-UTILS Base URL:

http://ambari.hdp.novalocal/hdp/centos6/HDP-UTILS-1.1.0.20  

把Ambari修改成本地的源。

编辑/etc/yum.repos.d/ambari.repo文档,内容如下:

[Updates-ambari-2.0.1]
name=ambari-2.0.1 - Updates
baseurl=http://ambari.hdp.novalocal/ambari/centos6/Updates-ambari-2.0.1
gpgcheck=0
enabled=1
priority=1

清理yum缓存

yum clean all

Ambari安装

这部分是在ambari.hdp.novalocal服务器上配置,其他节点无需操作。

安装Ambari

yum install ambari-server

我计划用Mysql作为数据库存储Ambari、hive和oozie数据,下载Mysql的驱动(http://dev.mysql.com/downloads/connector/j/),解压放在/usr/share/java/mysql-connector-java-5.1.35-bin.jar。
db.hdp.novalocal节点安装和配置Mysql 5.6,并创建名为ambari的数据库,执行ambari.hdp.novalocal上的/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sqlSQL脚本来初始化表结构。
配置Ambari Server:

ambari-server setup -j /usr/java/default

用Ambari2管理Hadoop_第一部分:环境
根据提示一直按回车,配置数据库时候需要指定db.hdp.novalocal的连接信息,至此,配置Ambari Server成功。

启动Ambari

chkconfig ambari-server on
service ambari-server start

一个神奇的网站

http://your.ambari.server:8080,例如我的是http://172.16.1.140:8080

你可以通过这个网站来部署、管理和监控你的Hadoop。
对了偷偷告诉你,网站的默认管理员账号和密码是admin/admin

原文链接 大专栏  https://www.dazhuanlan.com/2019/08/17/5d576846af235/

上一篇:用Ambari2管理Hadoop_第二部分:部署


下一篇:爱快3.5.4版本ipsec 一个smb共享http下载吐血BUG