先配置免密码登录

  • 修改所有结点的host
192.168.210.133 node1
192.168.210.134 node2
192.168.210.135 node3
192.168.210.136 node4
  • 修改所有节点的主机名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node2
  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • reboot

开始配置免登录:

  • 免密的核心思想就是:如果B服务器authorized_keys有A服务器的公钥,那么A服务器可以免密登录B服务器。

先到几台机器分别生成密钥:

# 安装ssh
yum -y install openssh-clients rm -rf ~/.ssh/*
ssh-keygen -t rsa
# 一路回车,然后拷贝到授权文件
  • 在某一台机器
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  • 然后在所有其他几台机器上执行如家命令,把各个机器的密钥发送到node1机器的authorized_keys中去:(注意用户名,谁登录谁)
ssh-copy-id -p 2121 root@node1
 cat .ssh/authorized_keys

测试可以免登录就ok了。

安装时间同步

yum -y install ntp

ntpdate cn.pool.ntp.org

安装Ambari2.7.4

先看看支持的软件列表

最终准备的软件清单

组件 版本
操作系统 CentOS7
Ambari 2.7.4
HDP 3.1.4
MySQL 5.7.25
OracleJDK11 JDK11 build 11+28

设置CentOS的repo 阿里云镜像

https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.53322f70KNuobs

  • 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

  • 新的repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 更新缓存
yum makecache

关闭Selinux和THP以降低系统CPU的使用率

Selinux

vi, /etc/sysconfig/selinux

修改文件中的SELINUX属性 SELINUX=disabled 即可

THP

透明大页面(THP)是一种Linux内存管理系统,通过使用更大的内存页面,可以减少具有大量内存的计算机上的Translation Lookaside Buffer(TLB)查找的开销。但是,数据库工作负载通常在THP上表现不佳,因为它们往往具有稀疏而不是连续的内存访问模式。 您应该在Linux机器上禁用THP以确保使用MongoDB获得最佳性能。

查询THP状态
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

若结果为 [always] 则表示启动了THP

  • 永久关闭THP
vim /etc/rc.d/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

并赋予rc.local文件执行权限

chmod +x /etc/rc.d/rc.local

重启reboot后查看THP状态,若结果显示为 [never] 则表明关闭成功

最大打开文件设置

设置最大文件描述符数,一般要求为10000及以上。

  • 检查最大文件描述符数的当前值
ulimit -Sn
ulimit -Hn

如若输出小于10000,则将其设置为10000

ulimit -n 10000

安装mysql

准备一台mysql,utf8mb4格式的

创建ambari数据库,一台hive数据库

各自准备用户名密码

https://docs.cloudera.com/HDPDocuments/Ambari-2.7.4.0/administering-ambari/content/amb_using_ambari_with_mysql_or_mariadb.html

#下载repo,制作本地镜像(参照官方文档的No Internet Access部分)

​Preparing to Set Up a Local Repository

编辑repo文件

Ambari repo

此处参照 https://docs.cloudera.com/HDPDocuments/Ambari-2.7.4.0/bk_ambari-installation/content/preparing_the_ambari_repository_configuration_file.html

  • 把上面的repo文件放置到 /etc/yum.repos.d/ambari.repo 目录下,即/etc/yum.repos.d/ambari.repo

HDP repo

touch /etc/yum.repos.d/HDP.repo
vim /etc/yum.repos.d/HDP.repo

添加内容如下

#VERSION_NUMBER=3.1.4.0-135
[HDP-3.1.4.0]
name=HDP Version - HDP-3.1.4.0
baseurl=http://192.168.210.133/hdp/HDP/centos7
gpgcheck=1
gpgkey=http://192.168.210.133/hdp/HDP/centos7/3.1.4.0-315/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1 [HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.210.133/hdp/HDP-UTILS
gpgcheck=1
gpgkey=http://192.168.210.133/hdp/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

分发repo文件到集群所有机器

scp -P2121 /etc/yum.repos.d/HDP.repo root@node4:/etc/yum.repos.d/
scp -P2121 /etc/yum.repos.d/ambari.repo root@node4:/etc/yum.repos.d/
  • 编辑 vim /etc/yum/pluginconf.d/priorities.conf
[main]
enabled=1
gpgcheck=0
yum repolist

生成本地源

在node1上安装Ambari源

安装yum的相关工具

yum install yum-utils -y
yum repolist
yum install createrepo -y

安装

yum install ambari-sever

复制下载的mysql JDBC 驱动

[root@node1 main]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/main/soft/mysql-connector-java-8.0.18.jar
Using python /usr/bin/python
Setup ambari-server
Copying /main/soft/mysql-connector-java-8.0.18.jar to /var/lib/ambari-server/resources/mysql-connector-java-8.0.18.jar
Creating symlink /var/lib/ambari-server/resources/mysql-connector-java-8.0.18.jar to /var/lib/ambari-server/resources/mysql-connector-java.jar
If you are updating existing jdbc driver jar for mysql with mysql-connector-java-8.0.18.jar. Please remove the old driver jar, from all hosts. Restarting services that need the driver, will automatically copy the new jar to the hosts.
JDBC driver was successfully initialized.
Ambari Server 'setup' completed successfully.

准备mysql的driver到/usr/share/java/中去

mkdir -p /usr/share/java/
cp /main/soft/mysql-connector-java-8.0.18.jar /usr/share/java/
chmod 644 /usr/share/java/mysql-connector-java-8.0.18.jar

安装 setup

ambari-server setup

自定义JDK目录

自定义数据库

指定mysql的JDBC driver

其他几个节点安装ambari-agent

因为repo已经复制过去了,所以很快

yum install ambari-agent

登录,配置集群

  • 修改下面的repo地址为本地的仓库

    HDP-3.1部分的 http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0 修改为 http://192.168.210.133/hdp/HDP/centos7/3.1.4.0-315

    HDP-UTILS-1.1.0.22部分 http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7 修改为:http://192.168.210.133/hdp/HDP-UTILS/centos7/1.1.0.22

密码

都是admin,都是wq_

配置数据库

设置目录

确认账号

最终清单

中途有两个警告,再议

Highly Recommended Configurations 3

Please review the folowing recommended changes, and click on the property name to change its value.

Type	Service	Property	Current Value	Description
Warning Ambari Metrics hbase.rootdir file:///var/lib/ambari-metrics-collector/hbase
It is not recommended to use root partition for hbase.rootdir Ambari Metrics service uses HBase as default storage backend. Set the rootdir for
HBase to either local filesystem path if using Ambari Metrics in embedded mode or
to a HDFS dir, example: hdfs://namenode.example.org:8020/amshbase.
Warning Ambari Metrics hbase.tmp.dir /var/lib/ambari-metrics-collector/hbase-tmp
Consider not using / partition for storing metrics temporary data. / partition is already used as hbase.rootdir to store metrics data Temporary directory on the local filesystem.
Change this setting to point to a location more permanent
than '/tmp' (The '/tmp' directory is often cleared on
machine restart).
Warning Atlas atlas.graph.storage.hostname node1,node2,node3
Atlas is configured to use the HBase installed in this cluster. If you would like Atlas to use another HBase instance, please configure this property and HBASE_CONF_DIR variable in atlas-env appropriately.

备注

  • 安装错误的话注意看日志,一般都是脚本权限、或者数据库配置问题
  • JDBC URI注意:
    • jdbc:mysql://192.168.xx.xx:3306/hive 如果hive库不存在可能会报错,改成下面就ok了
    • jdbc:mysql://192.168.xx.xx:3306/hive?createDatabaseIfNotExist=true
  • hdfs禁用密码:
    • 如果自己用的话,可以禁用权限验证,否则会有问题:
    • config,高级,配置:dfs.permissions.enabled=false

官方文档 https://docs.cloudera.com/HDPDocuments/Ambari-2.7.4.0/bk_ambari-installation/content/configuring_mysql_for_ranger.html

CentOS7安装Ambari2.7.4过程【离线安装】的更多相关文章

  1. Ambari2.6.0 安装HDP2.6.3(离线安装)

    一.下载安装包 因为使用在线安装特别慢,所有的安装包加起来有9个G左右,所以本教程是通过迅雷下载包,然后上传到服务器,通过配置本地源的方式来实现的离线安装.通过ambari安装需要下载下面的三个主要包 ...

  2. centos7.3 kubernetes/k8s 1.10 离线安装 --已验证

    本文介绍在centos7.3使用kubeadm快速离线安装kubernetes 1.10. 采用单master,单node(可以多node),占用资源较少,方便在笔记本或学习环境快速部署,不适用于生产 ...

  3. SQL Server 2012安装——.net framework 3.5离线安装

    前言 电脑用着一直很不舒服,所以就决定对电脑重新配置一番,在装数据库这里,可谓是屡装屡败.自己感觉太麻烦了,于是每次数据库装失败后,就重装系统,然后配置上网文档,这样一来,弄得自己挺恶心,这次很明显成 ...

  4. [原][工具][windows10安装][0x800F081F]windows 10 如何离线安装.net framework3.5 || 安装出现错误代码0x800F081F时如何解决

    参考解决方案:https://zhidao.baidu.com/question/1896669183365806820.html?fr=iks&word=win10%B0%B2%D7%B0+ ...

  5. 【转】Microsoft .NET Framework 3.5 sp1 安装速度慢,快速离线安装的方法

    1.到官网上下载3.5SP1的完整安装包.2.下载完成后,命令行下运行dotnetfx35.exe/x,解压到一个目录(如D:"),此时会生成一个D:"wcu目录3.进入解压目录下 ...

  6. [转]Cloudera Manager和CDH5.8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 https://www.cnblogs.com/felixzh/p/9082344.h ...

  7. 离线安装redis集群

    Step0:redis集群组件需求 Step1:离线安装ruby Step2:离线安装rubygems Step3:安装rubygems的 redis api Step4:离线安装tcl 8.6 St ...

  8. Cloudera Manager和CDH5.8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 简介 我们在上篇文章中已经了解了CDH,为了后续的学习,我们本章就来安装CDH5.8. ...

  9. hadoop基础----hadoop实战(七)-----hadoop管理工具---使用Cloudera Manager安装Hadoop---Cloudera Manager和CDH5.8离线安装

    hadoop基础----hadoop实战(六)-----hadoop管理工具---Cloudera Manager---CDH介绍 简介 我们在上篇文章中已经了解了CDH,为了后续的学习,我们本章就来 ...

随机推荐

  1. python 内置函数input/eval(22)

    python的内置函数其实挺多的,其中input和eval算得上比较特殊,input属于交互式内置函数,eval函数能直接执行字符串表达式并返回表达式的值. 一.input函数 input是Pytho ...

  2. 20175316盛茂淞 2018-2019-2 《Java程序设计》第10周学习总结

    教材知识总结 第12章 Java多线程机制 进程与线程 进程是程序的一次动态执行进程,它对应了从代码加载.执行至执行完毕的一个完整过程 线程不是进程,一个进程在其执行过程中,会产生多个线程,线程间可以 ...

  3. 5、1 es 数据库和mysql 数据库同步 (Windows操作系统)

    (1)在logstash-5.6.8安装目录下创建文件夹mysqletc (名称随意) (2)文件夹下创建mysql.conf (名称随意) ,内容如下: input { jdbc { #sc表 jd ...

  4. 多线程-Task、await/async

    Task创建无返回值 Task是.netframwork4.0重新分装的多线程类.原因以前的多线程(thread threadpool)不好用.(.net framwork也是的发展的,现在的EF,刚 ...

  5. Java基础---Java 开发工具IntelliJ IDEA 快捷操作

    IDE中快捷编写函数的方法 public static void main(String[] args) ===> psvm System.out.println(); ====> sou ...

  6. 帮助理解Docker,生动装逼介绍Docker

    为了帮助理解Docker,整理了一下 Docker组成的三个基本概念: 仓库(Repository) 镜像(Image) 容器(Container) 仓库:(Repository)——集中存放镜像文件 ...

  7. 题解 CF437C

    基本思路---贪心 既然要求最小代价,当用一定顺序删除时代价一定最小,不难发现,每次都删去x,y中最小的,最后的总代价业一定最小! 因此就可以写出下面的简单的代码 代码 #include<ios ...

  8. go 常量定义和使用

    常量的定义与变量类似,只不过使用 const 关键字. 常量可以是字符.字符串.布尔或数字类型的值. 常量不能使用 := 语法定义. 常量必须定义时赋值,不能多次赋值 package main imp ...

  9. SAS学习笔记43 宏语句

    流程控制 %GOTO语句与%label语句是结合起来使用的.首先通过%label语句定义一个位置,使用%GOTO语句可直接将程序的执行位置跳到该label标记位置,达到控制程序执行顺序的目的.可实现与 ...

  10. [Vue]导航守卫:全局的、单个路由独享的、组件级的

    正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航.有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的. 记住参数或查询的改变并不会触发进入/离开的 ...