准备工作

  • 新下载的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. asp .net api 日志

    方法1:继承IExceptionLogger ExceptionLogger是框架提供的表示未处理的异常记录器的抽象类 public class RecordExceptionLogger : Exc ...

  2. STM32的时钟配置随笔

    以前使用STM32都是使用库函数开发,最近心血来潮想要使用寄存器来试试手感,于是乎便在工作之余研究了一下STM32F4的时钟配置,在此将经历过程写下来作为锻炼,同时也供和我一样的新手参考,如有错误或者 ...

  3. JAVA 从头开始<二>

    一.JAVA_HOME 1.环境变量如果经常变更,就要经常操作到Path,可能会一不小心把什么东西给删了 2.最好新建一个环境变量 3.如果使用新环境变量 ①原来的写法 ②现在的写法 新建环境变量JA ...

  4. application/force-download 不生效

    不管用什么方式都无法下载txt 设置application/force-download也不生效 很无奈 胡搞瞎搞 最终解决方案:但是没搞明白什么原理 问题解决 @RequestMapping(val ...

  5. Python的hasattr() getattr() setattr() 函数使用方法

    hasattr(object, name)判断一个对象里面是否有name属性或者name方法,返回BOOL值,有name特性返回True, 否则返回False.需要注意的是name要用括号括起来 &g ...

  6. bonjour browser 下载

    在Mac 上叫 Bonjour Browser http://www.macupdate.com/app/mac/13388/bonjour-browser/download IOS 上的 app 叫 ...

  7. Educational Codeforces Round 25 B. Five-In-a-Row

    题目链接:http://codeforces.com/contest/825/problem/B B. Five-In-a-Row time limit per test 1 second memor ...

  8. cassandra用户名和密码的设置

    设置Cassandra使用用户名和密码验证的步骤如下: 1.修改${CASSANDRA_HOME}/conf/cassandra.yaml,把authenticator: AllowAllAuthen ...

  9. android 代码实现back键功能

    方案一,简单但响应慢: doExec("input keyevent 4"); public String doExec(String cmd) { String s = &quo ...

  10. iOS-UIView一些坐标和位置方法封装

    新建基于UIView扩展类 UIView+wkjFrame,此类是为了方便获取一些基于UIView类UI控件的坐标和位置的简化,直接引用即可 UIView+wkjFrame.h - (CGPoint) ...