1. 准备工作

1.1. 系统环境

主机列表:

IP地址 HostName 描述
192.168.610.153 ambari.server Ambari服务器
192.168.10.152  hadoop.namenode Hadoop NameNode服务器
192.168.10.151 hadoop.datanodeone Hadoop DataNode服务器
192.168.10.147  hadoop.datanodetwo Hadoop DataNode服务器

操作系统:

  CentOS 7 Minimal版

登录用户

  root

环境说明:

  本文中所用的安装方式为yum在线安装,所有机器需可以访问外网。

  CentOS纯净版初始状态网卡为禁用状态,系统安装完成后需要执行如下操作:

  1)进入/etc/sysconfig/network-scripts/目录,找到ifcfg-e……名称的文件,如ifcfg-ens33

  2)vi编辑改文件将ONBOOT设为yes,并增加NM_CONTROLLED,DNS项,具体代码如下:

vi /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT=yes
NM_CONTROLLED=no
DNS1=8.8.8.8    
DNS2=4.2.2.2  

  3)保存退出后,重新启动网络连接

service network restart

  4)  ip addr命令查看本机IP地址,或使用ping www.baidu.com命令查看是否可以访问外网。

  5)配置完成后,可使用SSH工具从其他电脑登录此虚拟机操作,推荐使用XShell

1.2. 修改机器名,配置Hosts文件

  为每个主机修改Hostname,其名称参考1.1中的表格,如ambari.server

hostnamectl set-hostname ambari.server

  编辑每台机器的/etc/hosts文件,在原有文件末尾加入以下信息

192.168.10.153    ambari.server
192.168.10.152 hadoop.namenode
192.168.10.151 hadoop.datanodeone
192.168.10.147 hadoop.datanodetwo

  修改完成后使用reboot命令重启每台机器

1.3. 开启ntp服务

  为每台设备安装、开启npt服务,并设置为开机启动

  1)安装ntp

yum install -y ntp

  2)设置ntp开机启动

systemctl enable ntpd

  3)启动ntp服务

systemctl start ntpd

  4)所有机器设置时间同步

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate us.pool.ntp.org

1.4. 关闭Selinux及防火墙

  为每台机器执行如下操作:

  1)vi /etc/sysconfig/selinux并添加如下代码

# vi /etc/sysconfig/selinux
selinux=disalbed

  2) 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

1.5. 配置SSH免密登录

  1) 在ambari.server执行如下操作生成密钥

ssh-keygen -t rsa

  所有选项均按回车键,直到生成密钥。

  密钥文件存放于~/.ssh目录下

    私钥:id_rsa
    公钥:id_rsa.pub
  2) 在除ambari.server以外的其他机器上创建~/.ssh目录

mkdir ~/.ssh

  3) 在ambari.server上执行如下命令,发送密钥至其他服务器

scp ~/.ssh/id_rsa.pub hadoop.namenode:/root/.ssh/authorized_keys_from_ambari
scp ~/.ssh/id_rsa.pub hadoop.datanodeone:/root/.ssh/authorized_keys_from_ambari
scp ~/.ssh/id_rsa.pub hadoop.datanodetwo:/root/.ssh/authorized_keys_from_ambari

  4) 在除ambari.server以外的其他机器上执行如下命令,合并公钥:

cd ~/.ssh
cat authorized_keys_from_ambari >> authorized_keys

  5) 在所有机器上执行如下命令

chmod  ~/.ssh
chmod ~/.ssh/*

1.6 安装JDK

  当前Ambari推荐使用openjdk1.8.0,需要在每台机器上执行相同操作,命令如下:

  1)安装JDK

yum -y install java-1.8.-openjdk java-1.8.-openjdk-devel

  2)进入安装目录/usr/lib/jvm/找到java-1.8.0-openjdk-1.8.0.……的文件夹并将$JAVA_HOME这是为该目录,如java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64

JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/

  3) 使用java -vsersion命令,验证JDK是否安装配置成功

1.7 设置UTF8字符集

在每个机器执行如下指令:

cat << EOF > /etc/locale.conf
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_CN.gb18030:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
EOF

2. 配置Ambari本地下载站

  下列操作只在ambari.server机器上执行

2.1. 下载本地库文件

2.1.1. 下载准备

  纯净的CentOS中未安装wget,需要安装wget包

yum install -y wget

  本文中对应的Ambari版本为2.7.3,若需要其他版本,请在https://docs.hortonworks.com/中查找

2.1.2.下载本地库

  该操作耗时较长,可以选择在服务器上执行

  执行如下代码,下载本地库:

wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari-2.7.3.0-centos7.tar.gz
wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.0.1.0/HDP-3.0.1.0-centos7-rpm.tar.gz
wget http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
wget http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.0.0/HDP-GPL-3.1.0.0-centos7-gpl.tar.gz

2.2. 配置本地下载站

  1)安装httpd服务

yum install -y httpd

  2)创建站点目录,将本地库压缩包解压至对应目录

mkdir /var/www/html/ambari
mkdir /var/www/html/ambari/HDP-UTILS
mkdir /var/www/html/ambari/HDP-GPL tar -xvf ambari-2.7.3.0-centos7.tar.gz -C /var/www/html/ambari/
tar -xvf HDP-3.0.1.0-centos7-rpm.tar.gz -C /var/www/html/ambari/
tar -xvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/ambari/HDP-UTILS
tar -xvf HDP-GPL-3.1.0.0-centos7-gpl.tar.gz -C /var/www/html/ambari/HDP-GPL

  3)启动httpd服务

systemctl start httpd

  4)打开浏览器,访问本地下载站http://192.168.10.153/ambari/,若出现以下界面则配置成功

2.3. 配置YUM源

  1)在ambari.server上执行:
yum install -y yum-plugin-priorities
  2)修改Yum安装源的校验
vi /etc/yum/pluginconf.d/priorities.conf

  设置为以下内容

[main]
enabled=
gpgcheck=

  3)配置repo文件

  该步骤中baseurl和gpgkey地址需要和上一步对应

cat << EOF > /etc/yum.repos.d/ambari.repo
#VERSION_NUMBER=2.7.3.0-
[ambari-2.7.3.0]
name=ambari Version - ambari-2.7.3.0
baseurl=http://192.168.10.153/ambari/ambari/centos7/2.7.3.0-139/
gpgcheck=
gpgkey=http://192.168.10.153/ambari/ambari/centos7/2.7.3.0-139/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=
priority=
EOF cat << EOF > /etc/yum.repos.d/hdp.repo
#VERSION_NUMBER=3.0.1.0-
[HDP-3.0.1.0-]
name=HDP Version - HDP-3.0.1.0-
baseurl=http://192.168.10.153/ambari/HDP/centos7/3.0.1.0-187/
gpgcheck=
gpgkey=http://192.168.10.153/ambari/HDP/centos7/3.0.1.0-187/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=
priority= [HDP-UTILS-1.1.0.21]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
baseurl=http://192.168.10.153/ambari/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=
gpgkey=http://192.168.10.153/ambari/HDP-UTILS/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=
priority=
EOF

  4)更新本地资源池

yum clean list
yum update list
yum makecache

  更新完成后查看资源池

yum repolist

  显示如下内容则配置成功

已加载插件:fastestmirror, priorities
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors..com
* updates: mirrors..com
packages excluded due to repository priority protections
源标识 源名称 状态
HDP-3.0.1.0- HDP Version - HDP-3.0.1.0-
HDP-UTILS-1.1.0.21 HDP-UTILS Version - HDP-UTILS-1.1.0.21
ambari-2.7.3.0 ambari Version - ambari-2.7.3.0
base//x86_64 CentOS- - Base ,+
extras//x86_64 CentOS- - Extras
updates//x86_64 CentOS- - Updates ,
repolist: ,

3. 安装启动Ambari

  该项中的所有操作均在ambari.server上执行

3.1. 安装Ambari-Server

  本次安装采用YUM远程安装,数据库采用默认数据库。安装命令如下。

yum install -y ambari-server

3.2. 配置Ambari-Server

  配置命令如下:

ambari-server setup

  配置命令中需要的各个选项如下,注意其中jdk选择自定义,$JAVA_HOME变量与上文1.6中保持一致:

Using python  /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'enabled'
SELinux mode is 'permissive'
WARNING: SELinux is set to 'permissive' mode and temporarily disabled.
OK to continue [y/n] (y)?
Customize user account for ambari-server daemon [y/n] (n)?
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files
[] Custom JDK
==============================================================================
Enter choice ():
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME: /usr/lib/jvm/java-1.8.-openjdk-1.8.0.212.b04-.el7_6.x86_64/
Validating JDK on Ambari Server...done.
Check JDK version for Ambari Server...
JDK version found:
Minimum JDK version is for Ambari. Skipping to setup different JDK for Ambari Server.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)?
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)?
Configuring database...
Default properties detected. Using built-in database.
Configuring ambari database...
Checking PostgreSQL...
Running initdb: This may take up to a minute.
Initializing database ... OK About to start PostgreSQL
Configuring local database...
Configuring PostgreSQL...
Restarting PostgreSQL
Creating schema and user...
done.
Creating tables...
done.
Extracting system views...
ambari-admin-2.7.3.0..jar
....
Ambari repo file doesn't contain latest json url, skipping repoinfos modification
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

3.3 启动Ambari-Server

ambari-server start

  启动成功后在浏览器中输入地址:

  http://192.168.141.159:8080/#/login

  若出现如下界面则配置成功

  默认登录名密码均为admin

零基础配置Hadoop集群——Ambari安装及配置详解的更多相关文章

  1. Hadoop集群的安装与配置(centos 6.5)

    一.Hadoop搭建准备(centOs6.5  且每个系统都要有同一个用户,如:hadoop)     1.IP的配置 包括Master和Slaves的IP配置,之间能够相互ping通:  例如:   ...

  2. Linux中安装配置hadoop集群

    一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...

  3. 安装和配置hadoop集群步骤

    hadoop集群的安装步骤和配置 hadoop是由java语言编写的,首先我们肯定要在电脑中安装jdk,配置好jdk的环境,接下来就是安装hadoop集群的步骤了,在安装之前需要创建hadoop用户组 ...

  4. 沉淀,再出发——在Hadoop集群之上安装hbase

    在Hadoop集群之上安装hbase 一.安装准备 首先我们确保在ubuntu16.04上安装了以下的产品,java1.8及其以上,ssh,hadoop集群,其次,我们需要从hbase的官网上下载并安 ...

  5. Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...

  6. Hadoop集群搭建安装过程(二)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(二)(配置SSH免密登录)(图文详解---尽情点击!!!) 一.配置ssh无密码访问 ®生成公钥密钥对 1.在每个节点上分别执行: ssh-keygen -t rsa(一 ...

  7. Ganglia监控Hadoop集群的安装部署[转]

    Ganglia监控Hadoop集群的安装部署 一. 安装环境 Ubuntu server 12.04 安装gmetad的机器:192.168.52.105 安装gmond的机 器:192.168.52 ...

  8. Apache Hadoop集群离线安装部署(二)——Spark-2.1.0 on Yarn安装

    Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...

  9. Dubbo入门到精通学习笔记(十三):ZooKeeper集群的安装、配置、高可用测试、升级、迁移

    文章目录 ZooKeeper集群的安装.配置.高可用测试 ZooKeeper 与 Dubbo 服务集群架构图 1. 修改操作系统的/etc/hosts 文件,添加 IP 与主机名映射: 2. 下载或上 ...

随机推荐

  1. 嵌套函数中的this

    function countDown(){ var self = this; var doWork = function(){ console.log(this);//window console.l ...

  2. HDU 1143 Tri Tiling(递归)

    意甲冠军:一些现有的1*2小盒子.求拼3*n多少个长方形的拼写. 思考: 因为它是一个递归式.肯定会遇到层的关系.仔细观察,研究发现,每层应设置2一层.(奇数层不能是矩形)而从显卡好最后一层的最后一战 ...

  3. Qt使用预编译头文件Using Precompiled Headers(提升10倍以上)

    预编译头文件是被很多编译器用来编译稳定的代码以及将编译好的稳定代码存储在二进制文件中用于提升编译性能.在随后的编译中,编译器将加载存储状态继续编译指定的文件.每一个随后的编译将更快,因为稳定的代码不需 ...

  4. JS判断android/IOS,并执行回调函数

    判断类型: var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') ...

  5. cocos2d 滚动背景 举 无限

    void Bird::update(float time){ auto bg=this->getChildByTag(200); auto bg1=this->getChildByTag( ...

  6. [转]Nodejs开发框架Express4.x开发手记

    Express: ?web application framework for?Node.js? Express 是一个简洁.灵活的 node.js Web 应用开发框架, 它提供一系列强大的特性,帮 ...

  7. node.js学习笔记之json数据转string

    Node.js中的JSON问题   var str = '{"dir":"kunhony","param":"archive&qu ...

  8. PHP模拟POST提交数据并获得返回值之CURL方法(使用PHP extension,然后使用php_curl.dll,很不错)

    今天公司做个东西,需要条用同事的接口,我的代码和他的代码不在同一个域下,但是都是子域. a.ifensi.com与b.ifensi.com的关系. 我需要传递一个关联数组过去,他那边给我返回一个jso ...

  9. 利用花生壳对windows server进行远程桌面

    花生壳内网穿透 http://service.oray.com/question/1824.html windows server "允许远程协助连接这台计算机" 需要在服务器管理 ...

  10. wpf border内部元素内边角溢出问题 裁剪效果

    效果图 <Grid> <Border BorderThickness=" BorderBrush="#3c4d72" CornerRadius=&quo ...