准备工作

  • 新下载的centos7
  • 安装 createrepo,用于制作源
yum install createrepo
  • 安装java (推荐 java 1.7以上版本,如果有,则跳过此步骤)
yum install java
  • 安装高版本的openssl(各个host都需要安装,否则在ambari中安装服务的时候,会注册失败)
yum install openssl
  • 安装nc和redhat-lsb(hadoop和hbase都有依赖)
yum install nc
yum install redhat-lsb
  • 安装 gcc,python -devel,python-libs 这类要成套
yum install gcc
yum install python-devel
yum install python-libs

配置环境

  • httpd服务,服务根目录是 /var/www/html
vi /etc/httpd/conf/httpd.conf

启用ServerName:把 #ServerName www.example.com:80 修改为 ServerName hostname:80

修改访问权限:

<Directory />

   Options FollowSymLinks

   AllowOverride None

   Order allow,deny

   Allow from all

</Directory>

将红色部分的Deny修改为Allow

  • 关闭SELinux服务,关闭防火墙,启动httpd服务
chkconfig iptables off
service firewalld stop # 如果是centos6 命令是:service iptables stop
setenforce
service httpd start

打开浏览器,输入:http://hostname:80,如果能正确打开网页,则服务正常启动

下载服务包

  • 下载HDP 和HDP-UTILS:
wget -nv http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.0.0/hdp.repo -O /etc/yum.repos.d/hdp.repo
#同步
Yum repolist
reposync -r HDP-UTILS-1.1.0.20
reposunc -r HDP-2.3.0.0
  • 下载Amabri:
wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari.repo -O /etc/yum.repos.d/ambari.repo
#同步
yum repolist
reposync -r Updates-ambari-2.1.

制作离线源

把同步的HDP-2.3.0.0、 HDP-UTILS-1.1.0.20和Updates-ambari-2.1.2,移动到 /var/www/html目录,分别进入三个目录,执行 createrepo ./

在/var/www/html目录下,分别执行

mkdir -p ambari-2.1./centos7
mkdir -p /var/www/html/HDP/centos7/.x/2.3.0.0
mkdir -p HDP-UTILS-1.1.0.20/repos/centos7

把同步下来的包分别移动到对应的目录

然后分别执行

createrepo /var/www/html/ambari-2.1./centos7
createrepo /var/www/html/HDP/centos7/.x/2.3.0.0
createrepo /var/www/html/HDP-UTILS-1.1.0.20/repos/centos7

这样,离线源做好了

编写repo

备份/etc/yum.repo.d/下的所有文件,使yum安装就无法找到外网的源

mkdir bak
mv /etc/yum.repo.d/* bak/

创建文件 ambari.repo,写入内容:

#VERSION_NUMBER=2.1.2-377
[Updates-ambari-2.1.2]
name=ambari-2.1.2 - Updates
baseurl=http://<hostname>/ambari-2.1.2/centos7
gpgcheck=0
enabled=1 [HDP-2.3.0.0]
name=HDP Version - HDP-2.3.0.0
baseurl=http://<hostname>/hdp/HDP/centos7/2.x/updates/2.3.0.0
gpgcheck=0
enabled=1 [HDP-UTILS-1.1.0.20]
name=HDP Utils Version - HDP-UTILS-1.1.0.20
baseurl=http://<hostname>/HDP-UTILS-1.1.0.20/repos/centos7
gpgcheck=0
enabled=1

保存,然后执行

yum clean all
yum makecache

注意:红色加粗部分的<hostname> ,需要替换成提供httpd和离线镜像的主机的IP或者hostname

安装

然后开始安装ambari-server

PS:安装过程中提示依赖 Postgresql-server,则先需要安装postgresql-server,可以依照前面的下载镜像,制作镜像源来提供下载

Ambari-server setup

PS:需要设置JAVA_HOME的路径,或者下载安装(依照前面的下载镜像,制作离线镜像源)

执行:

Ambari-server start

start 成功后,即可在网页上打开 ambari的web UI来安装hadoop集群。

如果遇到错误,请查看 /var/log/ambari-server/ambari-server.log中查找出错原因。

安装 hadoop

1,配置好host和ip的映射

2,无密登录,把操作ambari-server的web UI的机器的rsa公钥发给要安装集群的各个主机,此处我假设操作网页的机器是PC0,要安装服务的是PC1,PC2,PC3

PC0:

ssk-keygen -t rsa

scp ~/.ssh/id_rsa.pub root@PC1:~/

scp ~/.ssh/id_rsa.pub root@PC2:~/

scp ~/.ssh/id_rsa.pub root@PC3:~/

PC1,PC2,PC3:

#############################################################

修改/etc/ssh/sshd_config,确保一下服务开启

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile      .ssh/authorized_keys

#############################################################

#ssk-keygen -t rsa

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

3,启动 ntpd

service ntpd start

4,关闭 iptables

service iptables stop

5,关闭Linux的THP服务,需要重启

#centos6
vi /etc/grub.conf,添加 transparent_hugepage=never #centos7:
vi /etc/default/grub
在有CMDLINE一行添加 transparent_hugepage=never
grub2-mkconfig -o /boot/grub2/grub.cfg
systemctl disable tuned

重启之后,用下面的命令检查:

cat /sys/kernel/mm/redhat_transparent_hugepage/enabled

有 [never]则表示THP被禁用

6,打开网页hostname:8080,用admin:admin登录,按照网页提示,开始安装hadoop集群

安装遇到的问题

openssl,NetUtil.py 无法注册,需要yum upgrade openssl

Install,Start and Test这一步,等待时间长,可能出现比较多的错误:

1)App Timeline server安装出错,retry解决;

2)Heartbeat lost for the host错误,检查出错节点的ambari-agent是否停止,ambari-angent是python脚本运行的,可能遇到没有捕捉到的异常,导致进程crash或者停止了;

centos7 离线安装Ambari的更多相关文章

  1. CentOS7离线安装Ambari与HDP

    安装步骤总体说明 1.安装以前需要先规划服务器,一台主机多台从机.主从需要设置时间同步和免密. 2.建立离线源,因在线安装速度很慢,所以需要建立离线源. 3.在主机上安装Ambari,进入系统后,挂接 ...

  2. CentOS7离线安装mysql5.7

    下载mysql5.7,系统选择redhat,版本选择RHEL7,下载RPM Bundle后得到一个tar文件.这里得到文件mysql-5.7.25-1.el7.x86_64.rpm-bundle.ta ...

  3. CentOS7 离线安装mysql-5.7.16

    CentOS7 离线安装mysql-5.7.16 1 . 安装新版mysql前,需将系统自带的mariadb-lib卸载 [root@slave mytmp]# rpm -qa|grep mariad ...

  4. CentOS7离线安装Nginx(详细安装过程)

    CentOS7离线安装Nginx(详细安装过程) 1.安装gcc.g++ 下载好所需的文件后上传至服务器(下载地址:https://download.csdn.net/download/a729360 ...

  5. CentOS7离线安装MySQL8.0

    CentOS7离线安装MySQL8.0 卸载软件 rpm -e --nodeps 要卸载的软件包 root@jacky zookeeper]# rpm -e --nodeps java-1.6.0-o ...

  6. Binlog2sql+CentOS7 离线安装

    Binlog2sql+CentOS7 离线安装 目录 Binlog2sql+CentOS7 离线安装 1. 环境 2. 下载 3.1 Pip 安装 3.2 PyMySQL/mysql-replicat ...

  7. Ambari2.7.4+HDP3.1.4安装 Centos7离线安装

    一. Ambari等简单介绍 1.1Ambari Ambari是一种基于Web的工具,支持Apache Hadoop集群的创建 .管理和监控. Ambari已支持大多数Hadoop组件,包括HDFS. ...

  8. 离线安装 Ambari Hadoop

    制作本地yum源 安装步骤: 先建立本地yum源(Ambari和HDP的) 1. 先安装 ambari 然后http://localhost:8080 登录进去,设置 hdp的源链接. 2. 安装HD ...

  9. Centos7 离线安装 php7

    问题:因内部管控,机器无法连接公有yum源安装php. 正常安装php7可以参考CentOS7.2 安装 PHP7.2 下面的代码也是一种方法 yum -y install libmcrypt lib ...

随机推荐

  1. BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块

    NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...

  2. C#之使用CefSharp创建客户端

    安装NuGet包 在Visio studio中右击解决方案,选择管理NuGet包,搜索安装CefSharp.WinForms. 配置工作 (1)首先右击项目选择属性,在"生成"选项 ...

  3. webapi token、参数签名是如何生成的(转载)

    API接口保障安全性原则:1.有调用者身份2.请求的唯一性3.请求的参数不能被篡改4.请求的有效时间 在刚接触接口开发时,可能脑子里压根就没有这个接口调用安全性的原则,但常识性的经验告诉我们,每一个请 ...

  4. css3效果隔两秒旋转然后停两秒再继续旋转,无限循环

    1.旋转效果 <style type="text/css"> /*底部天象APP红包下载*/ .public_footer_app,.animation{ positi ...

  5. zoj3497 Mistwald(矩阵快速幂)

    题意:给定一个有向图(最多25个节点,每个节点的出度最多为4),给定起点和终点,然后从起点开始走,走到终点就停止,否则一直往下走,问能不能P步到达终点.也就是说从起点出发,走一条长度为P的路径,路径中 ...

  6. PHP中日期函数

    1,转化为时间戳函数:strtotime() 本函数接受一个包含美国英语日期格式的字符串并尝试将其解析为Unix时间戳,其值相对于now参数给出的时间,如果没有提供此参数则使用系统当前时间. < ...

  7. spring-security(2)

    记录一下spring security的配置 配置详解 <?xml version="1.0" encoding="UTF-8"?> <bea ...

  8. 应该怎么理解 app = Flask(__name__)

    初始化生成一个app对象,这个对象就是Flask的当前实例对象,后面的各个方法调用都是这个实例Flask会进行一系列自己的初始化,比如web API路径初始化,web资源加载,日志模块创建等.然后返回 ...

  9. 消息队列 MQ 入门理解

    功能特性: 应用场景: 消息队列 MQ 可应用于如下几个场景: 分布式事务 在传统的事务处理中,多个系统之间的交互耦合到一个事务中,响应时间长,影响系统可用性.引入分布式事务消息,交易系统和消息队列之 ...

  10. 实践详细篇-Windows下使用Caffe训练自己的Caffemodel数据集并进行图像分类

    三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分 ...