全网最详细的ambari集群搭建详细步骤

本文详细介绍了如何在三节点CentOS集群环境中安装配置Ambari的过程,包括服务器环境准备、防火墙及SELinux设置、安装MySQL及配置数据库、安装httpd和ntp服务、配置yum源、上传并配置Ambari及HDP软件包、初始化Ambari数据库等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、服务器环境说明

2、防火墙设置

3、禁用selinux

4、配置jdk和mysql驱动

5、安装Mysql

6、mysql密码操作

7、安装httpd服务

8、安装ntp

9、ntp配置

10、时钟同步

11、安装yum

12、上传ambari和hdp

13、创建repo文件

14、分发repo文件

15、生成yum源

16、在mysql中创建ambari用户

17、初始化ambari数据库

18、安装ambari

19、ambari配置

20、启动ambari


1、服务器环境说明

  • 集群三台节点
  • 可以互相访问
  • 使用root用户
  • 配置免密
  • centos7
  • ambari-2.6.2.2
  • hdp-2.6.5
  • 在windows的hosts文件中添加环境信息

我的环境如下:

192.168.8.105 my-hdp1
192.168.8.106 my-hdp2
192.168.8.107 my-hdp3

说明:使用root用户

2、防火墙设置

三台节点均执行

#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
#设置防火墙服务开机不自启
systemctl disable firewalld
#再次查看防火墙检查防火墙是否关闭
systemctl status firewalld

3、禁用selinux

三台节点均执行

vim /etc/selinux.config
把SELINUX=enforcing修改为SELINUX=disabled

4、配置jdk和mysql驱动

三台节点均执行


#创建目录
mkdir /usr/share/java
#该目录在后面需要用的,可以被其他用户访问的,如果是普通用户则不行,建议按这个配置

#上传java
tar -zxf jdk-8u144-linux-x64.tar.gz
#查看java环境
java -version
#将驱动上传到该路径

5、安装Mysql

在my-hdp1上执行

#mysql安装包
rw-rw-r--. 1 sweet sweet 26460548 4月 7 18:30 mysql-community-client5.7.32-1.el7.x86_64.rpm
-rw-rw-r--. 1 sweet sweet 314936 4月 7 18:30 mysql-community-common5.7.32-1.el7.x86_64.rpm
-rw-rw-r--. 1 sweet sweet 2457204 4月 7 18:30 mysql-community-libs5.7.32-1.el7.x86_64.rpm
-rw-rw-r--. 1 sweet sweet 1260336 4月 7 18:30 mysql-community-libscompat-5.7.32-1.el7.x86_64.rpm
-rw-rw-r--. 1 sweet sweet 181712536 4月 7 18:30 mysql-community-server5.7.32-1.el7.x86_64.rpm

#将安装包放在一个目录下,可以一键安装
yum install *

#mysql启动
systemctl start mysqld.service
#mysql开机自启
systemctl status mysqld.service
#mysql状态
systemctl enable mysqld.service

6、mysql密码操作

在my-hdp1上执行

#获取初始化密码
grep "password" /var/log/mysqld.log
#mysql登录
mysql -uroot -pfeEa8F53kn(m
#设置mysql密码安全强度为0
set global validate_password_policy=0;
#设置mysql密码最低长度为1
set global validate_password_length=1;
#修改root用户密码
alter user 'root'@'localhost' identified by 'root';
#授权root用户所有权限并设置本地登录
grant all privileges on *.* to 'root'@'localhost' identified by 'root';
#授权root用户所有权限并设置远程登录
grant all privileges on *.* to 'root'@'%' identified by 'root';
#刷新权限
flush privileges;

7、安装httpd服务

在my-hdp1上执行

#安装
yum install httpd
#开机自启动
systemctl enable httpd.service
#启动httpd服务
systemctl start httpd.service
#查看httpd服务状态
systemctl staus httpd.service

#说明,安装完之后,会生成/var/www/html目录

8、安装ntp

三台节点均执行

#安装
yum install ntp
#开机自启动
systemctl enable ntpd
#启动ntp服务
systemctl start ntpd
#查看ntpd服务状态
systemctl status ntpd

9、ntp配置

在my-hdp1上执行

vim /etc/ntp.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#表示ntp主服务器是与自身的系统时钟同步
server 127.127.1.0
#指定阶层编号为10,降低优先度
fudge 127.127.1.0 stratum 10

10、时钟同步

在my-hdp2、my-hdp3上执行

#my-hdp2、my-hdp3执行以下操作
vim /etc/ntp.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#表示ntp主服务器是与自身的系统时钟同步
server 127.127.1.0
#指定阶层编号为10,降低优先度
fudge 127.127.1.0 stratum 10
#配置时间服务器为本地的时间服务器
server my-hdp1
#允许上层时间服务器主动修改本机时间
restrict my-hdp1 nomodify notrap noquery

11、安装yum

三台节点均执行

yum install wget
yum install createrepo
yum install yum-utils
yum repolist

12、上传ambari和hdp

在my-hdp1上执行

#在my-hdp1上执行
#将安装包上传到/var/www/html
ambari-2.6.2.2-centos7.tar.gz
HDP-2.6.5.0-centos7-rpm.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
#解压
tar -zxf 上面的包

13、创建repo文件

在my-hdp1上执行

#进入/etc/yum.repo.d/
cd /etc/yum.repo.d/
#新建ambari.repo文件
vim ambari.repo
#添加以下内容
[ambari]
name=ambari
baseurl=http://my-hdp1/ambari/centos7/2.6.2.2-1
enabled=1
gpgcheck=0

#新建HDP.repo
vim HDP.repo
#添加以下内容
[HDP]
name=HDP
baseurl=http://my-hdp1/HDP/centos7/2.6.5.0-292
path=/
enabled=1
gpgcheck=0

#新建HDP-UTILS.repo
vim HDP-UTILS.repo
#添加以下内容
[HDP-UTILS]
name=HDP-UTILS
baseurl=http://my-hdp1/HDP-UTILS/centos7/1.1.0.22
path=/
enabled=1
gpgcheck=0

14、分发repo文件

在my-hdp1上执行

#分发文件到my-hdp2、my-hdp3,使用分发的方式避免文件出错
#分发ambari.repo
scp ambari.repo root@my-hdp2:/etc/yum.repo.d
scp ambari.repo root@my-hdp3:/etc/yum.repo.d

#分发HDP.repo
scp HDP.repo root@my-hdp2:/etc/yum.repo.d
scp HDP.repo root@my-hdp3:/etc/yum.repo.d

#分发HDP-UTILS.repo
scp HDP-UTILS.repo root@my-hdp2:/etc/yum.repo.d
scp HDP-UTILS.repo root@my-hdp3:/etc/yum.repo.d

15、生成yum源

在my-hdp1上执行

#在/var/www/html下有三个文件夹
drwxr-xr-x. 3 root root  21 4月   7 14:58 ambari
drwxr-xr-x. 3 1001 users 21 5月  15 2018 HDP
drwxr-xr-x. 3 1001 users 21 8月  13 2018 HDP-UTILS
#分别进入以下目录查看是否有repodata目录
#ambari目录
/var/www/html/ambari/centos7/2.6.2.2-1
#HDP目录
/var/www/html/HDP/centos7/2.6.5.0-292
#HDP-UTILS目录
/var/www/html/HDP-UTILS/centos7/1.1.0.22


#如果上面的目录中没有repodata,则在上面的路径下执行
createrepo .

16、在mysql中创建ambari用户

在my-hdp1上执行

#登录mysql
mysql -uroot -proot
#创建ambari用户
create user 'ambari'@'%' identified by 'ambari';
#授权ambari用户所有权限并设置本地登录
grant all privileges on *.* to 'ambari'@'localhost' identified by 'ambari';
#授权ambari用户所有权限并设置远程登录
grant all privileges on *.* to 'ambari'@'%' identified by 'ambari';
#刷新权限
flush privileges;
#退出登录
exit;
#使用ambari用户登录,检查ambari是否可以登录
mysql -uambari -pambari
#使用ambari用户登录并创建数据库
create database ambari;

17、初始化ambari数据库

在my-hdp1上执行

#使用amabri用户登录Mysql
mysql -uambari -pambari
#切换数据库
use ambari;
#初始化ambari数据库
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

18、安装ambari

在my-hdp1上执行

安装ambari-server
yum install ambari-server
#修改ambari.properties
vim /etc/ambari-server/conf/ambari.properties
#在ambari.properties文件末尾添加mysql-connector-java驱动
server.jdbc.driver.path=/var/share/java/mysql-connector-java-5.1.27-bin.jar
#ambari-server初始化配置
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.27-bin.jar

19、ambari配置

在my-hdp1上执行

[root@my-hdp1 java]# 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 (sweet):root
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: 
Property cannot be blank.
Path to JAVA_HOME: /home/sweet/jdk1.8.0_144
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 (3): 3
Hostname (localhost): 
Port (3306): 
Database name (ambari): 
Username (ambari): 
Enter Database Password (ambari): 
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@my-hdp1 java]# 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 (sweet):root
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: /home/sweet/jdk1.8.0_144
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 (3): 3
Hostname (localhost): 
Port (3306): 
Database name (ambari): 
Username (ambari): 
Enter Database Password (ambari): 
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.2.1.jar
...........
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.

20、启动ambari

#启动ambari
ambari-server start
#启动成功后
在windows浏览器地址栏中输入
http://my-hdp1:8080/

<think>首先,用户的问题是:“我想在Windows系统上搭建Node.js开发环境请问如何在Windows系统上安装和配置Node.js开发环境指南”。这是一个关于在Windows上安装和配置Node.js的指南请求。 我有系统级指令:-所有行内数学表达式必须使用$...$格式。 -独立公式必须使用$$...$$格式并单独成段。- LaTeX语法正确。-使用中文回答。-生成相关问题。 -回答中引用的段落末尾自然地添加引用标识,例如:[^1]用户可见层:-回答结构清晰,帮助用户逐步解决问题,尽量保证回答真实可靠。参考站内引用: -引用[1]:关于Node.js环境安装,包括官网下载和安装步骤。 -引用[2]:关于Windows下Node.js安装及配置,包括设置全局路径。-引用[3]:关于Windows下安装nodejs及其配置环境,包括一个示例脚本。 这些引用提供了具体步骤,我需要整合它们来创建指南。 结构化回答:-由于用户要求指南,我应该提供一个逐步的指南。 -回答应该清晰、分步。-后,生成相关问题。 在回答中,我需要自然地添加引用标识。例如,如果我从引用[1]中提取信息,就在末尾添加[^1]。 步骤概述: 1. **下载Node.js安装包**:从官网下载。2.**安装Node.js**:运行安装程序。 3. **验证安装**:在命令行检查版本。 4. **配置环境**:设置全局路径等。 5. **测试环境**:运行一个简单的Node.js脚本。 基于引用:-引用[1]:下载安装包,双击安装,检查node -v。-引用[2]:设置npm的全局路径和缓存路径。-引用[3]:提供一个简单的HTTP服务器脚本来测试。 所以,指南应包括: 1.下载Node.js。2.安装Node.js。 3.配置npm(可选但推荐)。4.测试安装。 在回答中,使用中文。后,生成相关问题,类似于示例中的“§§相关问题§§”。 确保没有数学表达式,因为用户的问题是关于Node.js安装,没有数学内容。所以,可能不需要使用$...$或$$...$$格式。但系统指令说“所有行内数学表达式必须使用”,所以如果没有数学内容,就不需要添加。指令是针对数学表达式的,所以如果回答中没有数学,就忽略这一点。 回答结构:-开头:简要介绍。 -步骤:分步指南。 -测试:运行示例。 -结尾:相关问题。</think>以下是针对在Windows系统上安装和配置Node.js开发环境的完整指南。我将基于可靠来源(如Node.js官方文档和常见实践)提供分步说明,确保过程清晰、易于操作。Node.js是一个JavaScript运行时环境,用于服务器端开发,安装过程包括下载、安装、配置和测试几个关键步骤。整个过程大约需要10-15分钟。 ### 步骤1: 下载Node.js安装包 首先,从Node.js中文官网下载新稳定版本的安装包。官网提供针对Windows系统的安装程序(.msi文件),支持32位和64位系统。 - 打开浏览器,访问Node.js中文官网:https://nodejs.org/zh-cn/ - 在首页,选择“长期支持版(LTS)”推荐版本(例如,当前新LTS版本是v20.x)。根据您的系统类型(64位或32位),点击下载按钮获取.msi文件。如果您的Windows是64位系统,直接下载64位版本即可[^1]。 - 下载完成后,您会得到一个类似`node-v20.x.x-x64.msi`的文件(具体版本号可能不同)。 ### 步骤2: 安装Node.js 运行下载的.msi安装包,按照向导完成安装。安装过程简单,但需注意几个关键选项。 - 双击.msi文件启动安装向导。 - 在欢迎界面,点击“Next”继续。 - 接受许可协议,点击“Next”。 - 选择安装路径:默认路径是`C:\Program Files\nodejs\`,建议保持默认。点击“Next”。 - 在“Custom Setup”界面,确保勾选“npm package manager”(这是Node.js的包管理工具,必选)。其他选项如“Add to PATH”会自动勾选,这会将Node.js添加到系统环境变量,方便命令行使用。点击“Next”[^1]。 - 点击“Install”开始安装。安装完成后,点击“Finish”退出向导。 ### 步骤3: 验证安装 安装后,通过命令行工具(如CMD或PowerShell)检查Node.js和npm是否成功安装。这确保环境变量已正确设置。 - 打开命令提示符:按下`Win + R`键,输入`cmd`,然后回车。 - 输入以下命令检查Node.js版本: ```bash node -v ``` 如果安装成功,会显示版本号如`v20.x.x`[^1]。 - 输入以下命令检查npm(Node包管理器)版本: ```bash npm -v ``` 正常输出应为版本号如`10.x.x`。如果命令未识别,请重启计算机或检查环境变量(后续步骤会处理配置)。 ### 步骤4: 配置npm全局路径(可选但推荐) 默认npm会将全局模块安装到系统目录,可能导致权限问题。通过设置自定义全局路径,可以避免此问题并简化管理。 - 创建一个新文件夹用于存储全局模块,例如`D:\nodejs\node_global`(路径可自定义)。 - 打开命令提示符,输入以下命令设置npm的全局安装路径和缓存路径: ```bash npm config set prefix "D:\nodejs\node_global" npm config set cache "D:\nodejs\node_cache" ``` 替换路径为您的实际文件夹[^2]。 - 将此路径添加到系统环境变量: - 右键点击“此电脑” > “属性” > “高级系统设置” > “环境变量”。 - 在“系统变量”区域,找到`Path`变量,点击“编辑”。 - 添加新条目:输入您的全局路径(例如`D:\nodejs\node_global`),点击“确定”保存。 - 重新打开命令提示符,运行`npm -v`验证配置是否生效。 ### 步骤5: 测试Node.js环境 创建一个简单的Node.js脚本并运行,以确认开发环境正常工作。 - 新建一个文件夹(例如`D:\myapp`),并创建一个JavaScript文件如`helloworld.js`。 - 使用文本编辑器(如记事本或VS Code)打开此文件,粘贴以下代码: ```javascript var http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); }).listen(8888); console.log("nodejs start listen 8888 port!"); ``` 这是一个简单的HTTP服务器脚本[^3]。 - 在命令提示符中,导航到脚本所在目录: ```bash cd D:\myapp ``` - 运行脚本: ```bash node helloworld.js ``` 输出应为`nodejs start listen 8888 port!`。 - 打开浏览器,访问`http://localhost:8888`,如果显示“Hello World”,则环境搭建成功[^3]。 ### 总结 现在,您已成功在Windows上安装并配置了Node.js开发环境。关键点包括: - 下载官方安装包确保安全。 - 配置npm全局路径可提升模块管理效率。 - 测试脚本验证了环境可用性。 如果您遇到问题(如命令未识别),请检查环境变量或重新安装。Node.js社区资源丰富,如npm官网(https://www.npmjs.com/)提供海量模块支持开发[^1]。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗少说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值