CentOS-7-安装Ambari-环境准备

2018-03-25 15:51

Ambari 是什么


Ambari跟Hadoop等开源软件一样,也是Apache Software Foundation 中的一个项目, 并且是顶级项目。就Ambari的作用来说,就是创建、管理、监视 Hadoop 的集群,但是这里的Hadoop是广义,指的是Hadoop整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而并不仅是特指 Hadoop。用一句话来说,Ambari 就是为了让 Hadoop以及相关的大数据软件更容易使用的一个工具。

说到这里,大家就应该明白什么人最需要 Ambari了。那些苦苦花费好几天去安装、调试 Hadoop 的初学者是最能体会到 Ambari 的方便之处的。而且,Ambari 现在所支持的平台组件也越来越多,例如流行的 Spark,Storm 等计算框架,以及资源调度平台 YARN 等,我们都能轻松地通过 Ambari 来进行部署。

Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent。简单来说,用户通过 Ambari Server 通知 Ambari Agent 安装对应的软件;Agent 会定时地发送各个机器每个软件模块的状态给 Ambari Server,最终这些状态信息会呈现在 Ambari 的 GUI,方便用户了解到集群的各种状态,并进行相应的维护。

目前网上能找到两个发行版:一个是Apache的Ambari,另一个是Hortonworks的,两者区别不大

安装前的准备

大于3台的服务器(虚拟机中的亦可)——最好Linux系统。
如:a0,a1,a2,a0为主节点,a1、a2为从节点。主节点的机器配置最好高一些。

本文假设准备好了3台服务器,都为新安装的CentOS 7系统。

前期准备:(每个节点机器都需要配置)

  • 每个节点上配置jdk
  • 设置主机名
  • 相互添加IP地址映射,优化DNS
  • 节点间SSH的无密码登录
  • 设置网络静态IP(虚拟机中设置是为了防止每次开机ip出现动态变化)
  • 同步时间NTP
  • 关闭防火墙、selinux
  • 关闭transparent_hugepage
  • Python版本要大于或等于2.6(CentOS 7内置版本2.7)
  • 设置最大打开文件数ulimit
  • 配置umask
  • 主节点安装mysql/mariadb

每个节点上配置jdk

下载好jdk包,解压到服务器中/xxx/xxx 目录,解压后配置好环境变量

1
vi /etc/profile
2
3
export JAVA_HOME=/xxx/xxx/xxx
4
export PATH=$JAVA_HOME/bin:$PATH
5
6
保存退出,
7
8
source /etc/profile

设置主机名,关闭防火墙,关闭SELinux

CentOS 7设置hostname

相互添加IP地址映射,优化DNS,节点间SSH的无密码登录

Linux多个虚拟机SSH免密码通信的配置

设置网络静态IP

虚拟机网络静态IP

同步时间NTP

1
yum install ntp
2
systemctl is-enabled ntpd
3
systemctl enable ntpd
4
systemctl start ntpd
5
6
ntpdate time1.aliyun.com
7
crontab e
8
 30 02 * * *  ntpdate time1.aliyun.com

关闭transparent_hugepage

1
查看transparent_hugepage状态
2
cat /sys/kernel/mm/transparent_hugepage/defrag
3
[always] madvise never  # 表示开启
4
cat /sys/kernel/mm/transparent_hugepage/enabled
5
[always] madvise never  # 表示开启
6
7
vi /etc/rc.d/rc.local  #在文末添加
8
9
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
10
 echo never > /sys/kernel/mm/transparent_hugepage/enabled
11
 fi
12
 if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
13
 echo never > /sys/kernel/mm/transparent_hugepage/defrag
14
fi
15
16
保存后退出chmod +x /etc/rc.d/rc.local  
17
赋予chmod +x /etc/rc.d/rc.local文件执行权限
18
19
重启系统再查看状态
20
21
cat /sys/kernel/mm/transparent_hugepage/defrag
22
always madvise [never]  # 表示关闭
23
cat /sys/kernel/mm/transparent_hugepage/enabled
24
always madvise [never]  # 表示关闭

设置最大打开文件数ulimit

1
ulimit -Sn
2
ulimit -Hn # 如果最大数小于10000 则重设
3
ulimit -n 10000

配置umask

UMASK (用户掩码或用户文件创建掩码) 设置在 Linux 计算机上创建新文件或文件夹时授予的默认权限或基本权限。大多数 Linux 发行将022设置为默认的 umask 值。umask 值022授予对新文件或文件夹的读取、写入、执行权限755。umask 值027授予对新文件或文件夹的读取、写入、执行权限750
umaks # 如果不是0022,则执行以下语句

1
echo umask 0022 >> /etc/profile

主节点安装mysql/mariadb

1
yum install mariadb-server
2
3
yum install mysql-connector-java # 安装jdbc驱动
4
5
systemctl start mariadb
6
systemctl enable mariadb  #启动
7
8
mysql_secure_installation  # 数据库初始化设置
9
10
#首先是设置密码,会提示先输入密码
11
Enter current password for root (enter for none):<–初次运行直接回车
12
#设置密码
13
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
14
New password: <– 设置root用户的密码
15
Re-enter new password: <– 再输入一次你设置的密码
16
#其他配置
17
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
18
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
19
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
20
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
21
#初始化MariaDB完成,接下来测试登录,输入密码能正常登陆就完成了

创建ambari数据库,用户

1
mysql -uroot -p  #连接数据库
2
3
mysql> create database ambari character set utf8 ;  
4
mysql> CREATE USER 'ambari'@'%'IDENTIFIED BY '123456';
5
mysql> GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
6
mysql> FLUSH PRIVILEGES;

如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:

1
mysql> create database hive character set utf8 ;  
2
mysql> CREATE USER 'hive'@'%'IDENTIFIED BY '123456';
3
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
4
mysql> FLUSH PRIVILEGES;

至此,Ambari的准备工作就完成了

注:如果要在云上面搭建,一定要选择相同的地区,地域打击。主从节点在同一个地区!否则会出现IP连接上的错误


标签: Linux

License(CC)BY-NC-SA © 2017 — 2019 hadronw | Theme based on fzheng.me