系统要求:
CentOS 7
Python 2.7.x
JDK1.8+
安装环境准备
HDP版本兼容性html
https://supportmatrix.hortonworks.com/java
运维知识库 > ambari安装 > image2018-9-29_11-7-33.pngnode
因为严格依赖版本,因此要先肯定安装的版本。python
系统初始化
修改主机名
sudo hostnamectl set-hostname test-bg-xx
sudo hostname test-bg-xxmysql
修改时区和字符集
#修改时区:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步集群时间
yum install –y ntp
ntpdate -u cn.pool.ntp.org
或:
ntpdate time1.aliyun.com
硬件时间和系统时间同步:
clock -w
配置自动同步:/etc/crontab写入
/1 * root ntpdate -u cn.pool.ntp.org >> /dev/null 2>&1linux
关闭防火墙和selinux
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalldsql
#关闭selinux
修改配置
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux
临时关闭
setenforce 0数据库
配置免密钥登陆
为了让Ambari服务器在全部集群主机上自动安装Ambari代理,您必须在Ambari服务器主机和集群中的全部其余主机之间设置无密码SSH链接。Ambari服务器主机使用SSH公钥认证来远程访问和安装Ambari代理
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2
ssh-copy-id -i ~/.ssh/id_rsa.pub root@node3
注意:您能够选择在每一个集群主机上手动安装Ambari代理。在这种状况下,您不须要生成和分发SSH密钥
可使用非root SSH账户,若是该账户能够执行sudo而不输入密码apache
#
#若是ssh端口不是默认,能够在.ssh下建立config文件以下
[jt_ops@test-bg-m01 .ssh]$ cat config
Host test-bg-m01
HostName test-bg-m01
User jt_ops
Port 1876vim
Host test-bg-w01
HostName test-bg-w01
User jt_ops
Port 1876
系统初始化参数
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
vm.max_map_count = 262144
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
vm.swappiness = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.somaxconn = 16384
EOF
文件描述符和用户最大进程数
#调整文件描述符
cat >> /etc/security/limits.conf <<EOF
安装
安装有两种方法:在线安装和搭建本地yum源仓库安装
在线安装
下载yum源配置文件repo
#若是作了免秘钥登录,则只须要在主节点下载yum源 sudo wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari.repo -O /etc/yum.repos.d/ambari.repo sudo wget –nv http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/hdp.repo -O /etc/yum.repos.d/hdp.rep sudo wget -nv http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.4.0/hdp.gpl.repo -O /etc/yum.repos.d/hdp.gpl.repo 离线安装 制做本地源 制做本地镜像源安装HDP,能够在主节点或者单独的一台服务器(建议) 选择一台能够访问internet的服务器配置本地源 apache httpd 提供离线仓库的下载服务 #安装apache yum install httpd –y #开启防火墙 firewall-cmd --add-service=http firewall-cmd --permanent --add-service=http #添加系统服务 systemctl start httpd.service systemctl enable httpd.service #安装本地源制做工具 yum install yum-utils createrepo 下载软件源 在httpd网站根目录,默认是即/var/×××w/html/,建立目录ambari, 而且将下载的压缩包解压到/var/×××w/html/ambari目录 cd /var/×××w/html/ mkdir ambari cd /var/×××w/html/ambari/ http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gz http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos6-rpm.tar.gz http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos6/HDP-UTILS-1.1.0.22-centos6.tar.gz http://public-repo-1.hortonworks.com/HDP-GPL/centos6/2.x/updates/2.6.4.0/HDP-GPL-2.6.4.0-centos6-rpm.tar.gz 解压下载的tar包 下载repo并修改 下载yum源并修改 源文件内容: [root@test-bg-w05 yum.repos.d]# cat ambari.repo #VERSION_NUMBER=2.6.1.5-3 [ambari-2.6.1.5] name=ambari Version - ambari-2.6.1.5 baseurl=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5 gpgcheck=1 gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1 修改成: [root@dev-bg-w01 yum.repos.d]# cat ambari.repo #VERSION_NUMBER=2.6.1.5-3 [ambari-2.6.1.5] name=ambari Version - ambari-2.6.1.5 baseurl=http://192.168.103.194:8080/ambari/centos7/2.6.1.5-3 gpgcheck=1 gpgkey=http://192.168.103.194:8080/ambari/centos7/2.6.1.5-3/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins enabled=1 priority=1[root@dev-bg-w01 yum.repos.d]# 源文件内容: [root@test-bg-w05 yum.repos.d]# cat ambari-hdp-1.repo [HDP-2.6-repo-1] name=HDP-2.6-repo-1 baseurl=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0 path=/ enabled=1 gpgcheck=0 [HDP-UTILS-1.1.0.22-repo-1] name=HDP-UTILS-1.1.0.22-repo-1 baseurl=http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7 path=/ enabled=1 gpgcheck=0[root@test-bg-w05 yum.repos.d]# 修改成: [root@dev-bg-w01 yum.repos.d]# cat ambari-hdp-1.repo [HDP-2.6-repo-1] name=HDP-2.6-repo-1 baseurl=http://192.168.103.194:8080/HDP/centos7/2.6.4.0-91 path=/ enabled=1 gpgcheck=0 [HDP-2.6-GPL-repo-1] name=HDP-2.6-GPL-repo-1 baseurl=http://192.168.103.194:8080/HDP-GPL-2.6.4.0-centos7-rpm/HDP-GPL/centos7/2.6.4.0-91 path=/ enabled=1 gpgcheck=0 [HDP-UTILS-1.1.0.22-repo-1] name=HDP-UTILS-1.1.0.22-repo-1 baseurl=http://192.168.103.194:8080/HDP-UTILS-1.1.0.22-centos7 path=/ enabled=1 gpgcheck=0[root@dev-bg-w01 yum.repos.d]# 更新yum 元数据 yum clean all yum makecache yum repolist 安装Ambari-server 在主节点安装ambari-server sudo yum install -y ambari-server 配置Ambari-server 配置mysql链接器 因为ambari要访问数据库,因此要添加lib包,请自行去mysql官网下载 sudo mkdir -p /usr/share/java sudo cp /opt/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/share/java/ 在ambari-server配置文件中添加mysql lib包路径地址 执行一下命令配置jdbc环境 ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.47-bin.jar vim /etc/ambari-server/conf/ambari.properties ###在jdbc区下面找个位置添加以下以下语句 server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.47-bin.jar 检查环境并配置 执行如下命令 sudo ambari-server setup 按提示操做 会检查selinux,是否自定义用户,检查防火墙,设置JDK路径,数据库配置等,按提示操做便可 具体操做以下: [root@dev-bg-m01 opt]# vim /etc/ambari-server/conf/ambari.properties [root@dev-bg-m01 opt]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.47-bin.jar Using python /usr/bin/python Setup ambari-server Copying /usr/share/java/mysql-connector-java-5.1.47-bin.jar to /var/lib/ambari-server/resources If you are updating existing jdbc driver jar for mysql with mysql-connector-java-5.1.47-bin.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. [root@dev-bg-m01 opt]# vim /etc/ambari-server/conf/ambari.properties [root@dev-bg-m01 opt]# ambari-server setup Using python /usr/bin/python Setup ambari-server Checking SELinux... SELinux status is 'disabled' Customize user account for ambari-server daemon [y/n] (n)? y Enter user account for ambari-server daemon (root):ambari Adjusting ambari-server permissions and ownership... Checking firewall status... Checking JDK... Do you want to change Oracle JDK [y/n] (n)? y [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: /opt/jdk1.8.0_161 Validating JDK on Ambari Server...done. Checking GPL software agreement... 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.103.3 Port (3306): Database name (ambari): Username (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)? n WARNING: Remote database setup aborted. Ambari Server 'setup' completed with warnings. [root@dev-bg-m01 opt]# 将Ambari数据库脚本导入到数据库 mysql -uambari -pxxx use ambari; source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 启动ambari server ambari-server start 在浏览器中访问ip:8080,默认登陆名:admin 密码:admin 添加服务组件 https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-administration/content/ambari_admin_overview.html spark配置 因为spark要访问数据库,因此要添加mysql lib包 cp /opt/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/hdp/2.6.4.0-91/spark/lib/ 安装数据库 使用现有数据库或者本身安装 建立ambari和hive库 create database ambari character set utf8 ; 添加权限 GRANT ALL PRIVILEGES ON ambari.* TO 'ambari'@'%'; FLUSH PRIVILEGES; 删除权限: revoke all privileges on ambari.* from ambari@'%'; # 程序安装目录 程序默认安装目录 [root@test-bg-m01 2.6.4.0-91]# pwd /usr/hdp/2.6.4.0-91 [root@test-bg-m01 2.6.4.0-91]# ls atlas hadoop hadoop-mapreduce hbase hive2 kafka pig ranger-hdfs-plugin ranger-kafka-plugin ranger-yarn-plugin spark storm tez usr etc hadoop-hdfs hadoop-yarn hive hive-hcatalog livy ranger-hbase-plugin ranger-hive-plugin ranger-storm-plugin slider spark2 storm-slider-client tez_hive2 zookeeper [root@test-bg-m01 2.6.4.0-91]# PID目录 /var/run/ 日志目录 /var/logs/ 通常修改log目录,在安装大数据组件的时候,修改配置文件便可。 删除服务 先中止服务 Service Actions > Delete Service yum remove xx https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-administration/content/ambari_admin_overview.html ambari监控 ambari安装默认用户和用户组 https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-administration/content/defining_service_users_and_groups_for_a_hdp_2x_stack.html 常见问题 问题1:Centos 7安装 ambari-agent报错NetUtil.py-[SSL: CERTIFICATE_VERIFY_FAILED] Centos 7安装 ambari经过Ambari部署系统时,ambari-agent注册失败,在/var/log/ambari-agent的log中能够看到日志显示: ERROR 2018-03-08 15:02:25,223 NetUtil.py:88 - [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579) ERROR 2018-03-08 15:02:25,223 NetUtil.py:89 - SSLError: Failed to connect. Please check openssl library versions. 解决方法: 修改/etc/python/cert-verification.cfg配置文件: # vim /etc/python/cert-verification.cfg [https] verify=platform_default ###(这是默认配置) 修改成verify=disable 编辑 /etc/ambari-agent/conf/ambari-agent.ini 配置文件,在 [security] 节部分,确保设置以下两个值,其它值保持不变: [root@ambari ~]# vim /etc/ambari-agent/conf/ambari-agent.ini [security] ssl_verify_cert=0 force_https_protocol=PROTOCOL_TLSv1_2 以上配置修改完后,重试便可经过ambari-agent注册,执行便可下一步 参考文档 官方文档安装文档 https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/determine_product_interop.html 未完待续~