Contents
  1. 1. 本系列文章说明
  2. 2. Hadoop生态圈
    1. 2.1. 生态系统
    2. 2.2. Hadoop发行版
  3. 3. 环境介绍
  4. 4. 环境配置
    1. 4.1. 所有节点基础配置
      1. 4.1.1. 更新系统
      2. 4.1.2. 禁用Selinux
      3. 4.1.3. 关闭防火墙
      4. 4.1.4. 修改hosts,本地解析DNS
      5. 4.1.5. 安装JDK
      6. 4.1.6. 配置环境变量
    2. 4.2. 本地yum源配置
      1. 4.2.1. 安装yum工具
      2. 4.2.2. 确定 Ambari和HDP Stack源是否存在
      3. 4.2.3. 同步源内容到本地
      4. 4.2.4. 编译安装Nginx
      5. 4.2.5. 本地源的信息
    3. 4.3. Ambari安装
    4. 4.4. 启动Ambari
  5. 5. 一个神奇的网站

本系列文章说明

当我脑海里萌发要写这系列的文章时候,其实我是抗拒的!因为我觉得呀……这是大数据呀,我一个屌丝码农哪有这个能耐。但是又觉得博客总得写点内容,装逼装逼也得附和社会呀,加上看了看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也是喔,等等等…
没听过没有关系,看看以下的图片:
Enterprise Hadoop:项目生态系统

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

反正我是看不懂的。

Hadoop发行版

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

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

环境介绍

我是在自建的 Openstack 创建云服务器。
Openstack云服务器

  • 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,硬着头皮先续个服务器敲命令吧…

更新系统

yum 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的参数,如果不设置,安装过程会有如下的检验错误:
transparent_hugepage_issues

编辑/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

repolist

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

wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.0.1/ambari.repo  -O /etc/yum.repos.d/ambari.repo
wget -nv http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.2.4.2/hdp.repo -O /etc/yum.repos.d/HDP.repo

同步源内容到本地

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

安装Ambari
根据提示一直按回车,配置数据库时候需要指定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

Contents
  1. 1. 本系列文章说明
  2. 2. Hadoop生态圈
    1. 2.1. 生态系统
    2. 2.2. Hadoop发行版
  3. 3. 环境介绍
  4. 4. 环境配置
    1. 4.1. 所有节点基础配置
      1. 4.1.1. 更新系统
      2. 4.1.2. 禁用Selinux
      3. 4.1.3. 关闭防火墙
      4. 4.1.4. 修改hosts,本地解析DNS
      5. 4.1.5. 安装JDK
      6. 4.1.6. 配置环境变量
    2. 4.2. 本地yum源配置
      1. 4.2.1. 安装yum工具
      2. 4.2.2. 确定 Ambari和HDP Stack源是否存在
      3. 4.2.3. 同步源内容到本地
      4. 4.2.4. 编译安装Nginx
      5. 4.2.5. 本地源的信息
    3. 4.3. Ambari安装
    4. 4.4. 启动Ambari
  5. 5. 一个神奇的网站