该文档是生产环境 Ambari 部署,主要是用非 root 用户来安装,并形成相应的文档。
[srvadmin@du-s1-idc soft]$ ll
总用量 9716344
-rw-r--r-- 1 srvadmin du 1823815545 6月 20 14:01 ambari-2.6.2.0-centos7.tar.gz
-rw-r--r-- 1 srvadmin du 306 6月 20 14:04 ambari.repo
-rw-r--r-- 1 srvadmin du 7249933344 6月 20 14:03 HDP-2.6.5.0-centos7-rpm.tar.gz
-rw-r--r-- 1 srvadmin du 328623 6月 20 14:03 HDP-GPL-2.6.5.0-centos7-gpl.tar.gz
-rw-r--r-- 1 srvadmin du 310 6月 20 14:04 hdp.gpl.repo
-rw-r--r-- 1 srvadmin du 575 6月 20 14:04 hdp.repo
-rw-r--r-- 1 srvadmin du 90608056 6月 20 14:03 HDP-UTILS-1.1.0.22-centos7.tar.gz
-rw-r--r-- 1 srvadmin du 189815615 6月 20 14:03 jdk-8u162-linux-x64.tar.gz
-rw-r--r-- 1 srvadmin du 593940480 6月 20 14:05 mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
ip | hostname | 说明 |
---|---|---|
192.168.200.101 | du-s1-idc | 邓哥配置完成 |
192.168.200.102 | du-s2-idc | 邓哥配置完成 |
192.168.200.103 | du-s3-idc | 邓哥配置完成 |
192.168.200.104 | du-s4-idc | 邓哥配置完成 |
192.168.200.105 | du-s5-idc | 邓哥配置完成 |
192.168.200.106 | du-s6-idc | 邓哥配置完成 |
192.168.200.107 | du-s7-idc | 邓哥配置完成 |
192.168.200.108 | du-s8-idc | 邓哥配置完成 |
192.168.200.109 | du-s9-idc | 邓哥配置完成 |
192.168.200.110 | du-s10-idc | 邓哥配置完成 |
编辑 host 文件
\$ sudo vi /etc/hosts
192.168.200.101 du-s1-idc
192.168.200.102 du-s2-idc
192.168.200.103 du-s3-idc
192.168.200.104 du-s4-idc
192.168.200.105 du-s5-idc
192.168.200.106 du-s6-idc
192.168.200.107 du-s7-idc
192.168.200.108 du-s8-idc
192.168.200.109 du-s9-idc
192.168.200.110 du-s10-idc
2.5.1、确保 SELINUX 处于关闭状态(该设置是永久关闭,但需要重启)
\$ sudo vi /etc/selinux/config
添加语句
SELINUX=disabled
配置好后,为了不重启,可以临时关闭
\$ sudo setenforce 0
2.5.2、查看 SELINUX 状态
如果不是 0022 ,执行下面命令,不需要 root
umask 0022
官方建议为大于 10000,服务器实际设置为 655350
在 sudo vi /etc/security/limits.conf 如下内容
* soft nofile 655350
* hard nofile 655350
* soft nproc 655350
* hard nproc 655350
# * soft nproc 1024
# root soft nproc unlimited
# ulimit -n 655350
3.1、卸载系统自带的 mariadb-lib
[srvadmin@du-s6-idc soft]$ rpm -qa | grep -i mariadb 或 rpm -qa | grep -i mysql
mariadb-libs-5.5.44-2.el7.centos.x86_64
pcp-pmda-mysql-3.10.6-2.el7.x86_64
[srvadmin@du-s6-idc soft]$ sudo rpm -e mariadb-libs-5.5.44-2.el7.centos.x86_64 --nodeps
[srvadmin@du-s6-idc soft]$ sudo rpm -e pcp-pmda-mysql-3.10.6-2.el7.x86_64 --nodeps
3.2、安装
[srvadmin@du-s6-idc soft]$ tar -xvf mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar
[srvadmin@du-s6-idc soft]$ sudo rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
[srvadmin@du-s6-idc soft]$ sudo rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
[srvadmin@du-s6-idc soft]$ sudo rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm
[srvadmin@du-s6-idc soft]$ sudo rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm
修改 mysql 的数据目录
sudo vi /etc/my.cnf
#datadir=/var/lib/mysql
datadir=/data00/mysql/data
创建并修改 /data00/mysql/data 目录属主
mkdir -p /data00/mysql/data
sudo chown -R mysql:mysql mysql/data
3.3、数据库初始化
[srvadmin@du-s6-idc soft]$ sudo mysqld --initialize --user=mysql
[srvadmin@du-s6-idc soft]$ cat /var/log/mysqld.log
2018-06-20T08:06:23.865898Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-06-20T08:06:24.039806Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-06-20T08:06:24.064733Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-06-20T08:06:24.119228Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: d30af0e6-7460-11e8-bc2a-ecf4bbc4eb8c.
2018-06-20T08:06:24.119654Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-06-20T08:06:24.120583Z 1 [Note] A temporary password is generated for root@localhost: B7s3tumu*Muh
3.4、启动 mysql 数据库
[srvadmin@du-s6-idc soft]$ sudo systemctl start mysqld.service
3.5、访问数据库,密码为上面的随机自动生成的密码
[srvadmin@du-s6-idc soft]$ mysql -uroot -p
3.6、修改随机密码
该密码被标记为过期了,如果想正常使用还需要修改密码
3.7、创建数据库并开启远程访问
[srvadmin@du-s1-idc ~]$ sudo yum install httpd
[srvadmin@du-s1-idc ~]$ sudo systemctl start httpd.service
其实很简单,就是把前面下载的三个 repo 文件放到 /etc/yum.repos.d/ 目录下,并修改 baseurl 和 gpgkey 这两个值,改为本地的地址就可以了。
在 Ambari Server 服务节点上要建立 /usr/share/java 目录
把 mysql-connector-java-5.1.37.jar 放到该目录下,并建立软连接
ln -s mysql-connector-java-5.1.37.jar mysql-connector-java.jar
[srvadmin@du-s1-idc share]$ sudo mkdir java
[srvadmin@du-s1-idc share]$ sudo chown srvadmin:du java
[srvadmin@du-s1-idc ~]$ sudo yum install -y ambari-server
Ambari 安装成功后,配置 Ambari;
[srvadmin@du-s1-idc ~]$ sudo ambari-server setup —jdbc-db=mysql —jdbc-driver=/usr/share/java/mysql-connector-java.jarUsing python /usr/bin/python
Setup ambari-server
Copying /usr/share/java/mysql-connector-java.jar to /var/lib/ambari-server/resources
If you are updating existing jdbc driver jar for mysql with mysql-connector-java.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.
[srvadmin@du-s1-idc ~]$ sudo ambari-server setup
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)? y
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):ambari [ambari server 所在的节点上创建的用户]
Adjusting ambari-server permissions and ownership…
Checking firewall status…
Checking JDK…
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
Enter choice (1): 3
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: /srv/app/jdk1.8.0_162
Validating JDK on Ambari Server…done.
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)? y
Completing setup…
Configuring database…
Enter advanced database configuration [y/n] (n)? y
Configuring database…
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
Enter choice (1): 3
Hostname (localhost): 192.168.200.106
Port (3306): 3306
Database name (ambari): ambari
Username (ambari): ambari
Enter Database Password (bigdata):
Re-enter password:
Configuring ambari database…
Configuring remote database connection properties…
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views…
ambari-admin-2.6.2.0.155.jar
………..
Adjusting ambari-server permissions and ownership…
Ambari Server ‘setup’ completed successfully.
备注:
Ambari 服务 setup 命令配置选项
选项 | 描述 |
---|---|
-j (or —java-home) | 指定 Ambari 服务器和集群中的所有主机上使用的 JAVA_HOME 路径 |
—jdbc-driver | 指定 JDBC 驱动程序 JAR 文件的路径 |
—jdbc-db | 指定数据库类型 |
-s (or —silent) | 静默安装运行。· 默认使用 root 用户安装 Ambari-Server· 默认使用 Oracle 1.8 JDK· 默认使用PostgreSQL,数据库名称:ambari |
-v (or —verbose) | 配置 Ambari 时打印详细信息和警告信息 |
-g (or —debug) | 在调试模式下启动 Ambari |
注:
把 Ambari-DDL-MySQL-CREATE.sql 放入到 mysql -uroot -p 进入的目录,执行下面的命令
mysql> use ambari;
Database changed
mysql> source Ambari-DDL-MySQL-CREATE.sql
配置好 Ambari 后,可以运行 Ambari 了;
[srvadmin@du-s1-idc ~]$ sudo ambari-server start
启动成功后,通过 http://:8080 登陆到 Ambari Web UI,后使用 admin/admin 登陆系统,进行操作和管理。
Ambari 提供一个友好的交互入口(Web UI)来简化集群的安装和配置。首先通过 http://:8080 登陆到Ambari Web UI,然后使用 admin/admin 登陆系统,进行相关的操作和管理。
配置当前集群的名称
选择要安装的 HDP 版本,并配置对应本地资源库地址;
baseurl=http://192.168.200.101/HDP/centos7/2.6.5.0-292
baseurl=http://192.168.200.101/HDP-UTILS/centos7/1.1.0.22
baseurl=http://192.168.200.101/HDP-GPL/centos7/2.6.5.0-292
主机列表可以使用正则来匹配类似机器名的节点;要让 Ambar Server 自动在所有主机安装 Ambari Agent 组件,需要提供Ambari Server 服务器的安装账户的私钥,即 ~/.ssh/id_rsa 文件(可上传对应文件或直接粘贴到文本框);
选择要安装的服务,各服务之间有一定的依赖关系,Ambari 将自动进行检查并强制安装依赖的服务;
HDFS、YARN+MapReduce2、TeZ、Hive、HBase、Sqoop、ZooKeeper、Ambari Metrics、Spark2
这里指定主机的 Master,根据统一的规划,按照每个机器的资源进行配置,也可稍后再 Ambari Web UI 中进行相应的配置和调整;
这里指定主机的 Slave 和 Client,根据统一的规划,按照每个机器的资源进行配置,也可稍后再 Ambari Web UI 中进行相应的配置和调整;
调整服务配置,
hive 元数据库,用户,库,密码
ambari Metrics
Grafana Admin Username :admin
Grafana Admin Password :Admin@ShuZilm#20180620
select host
review
Login to the NameNode host node02.
Put the NameNode in Safe Mode (read-only mode):
sudo su hdfs -l -c ‘hdfs dfsadmin -safemode enter’
Once in Safe Mode, create a Checkpoint:
sudo su hdfs -l -c ‘hdfs dfsadmin -saveNamespace’
You will be able to proceed once Ambari detects that the NameNode is in Safe Mode and the Checkpoint has been created successfully.
configure Components
Manual Steps Required:Initialize JournalNodes
start components
Manual Steps Required: Initialize NameNode HA Metadata