目录
配置要求如下:
安装包:
ambari-2.6.2.0-centos7.tar.gz #ambari组件用于监控、安装、管理Hadoop套件
HDP-2.6.3.0-centos7-rpm.tar.gz #hadoop套件安装包,yarn,hdfs,hive等都在里面
HDP-UTILS-1.1.0.21-centos7.tar.gz
服务器:
192.168.31.72 主机名称:master
192.168.31.73 主机名称:slave1
192.168.31.74 主机名称:slave2
防火墙关闭:
关闭防火墙: systemctl stop firewalld.service
禁用防火墙:systemctl disable firewalld.service
查看防火墙状态 systemctl status firewalld.service
1、修改主机名称
方式一、修改配置文件
vim /etc/hostname
添加主机名称
方式二、通过命令行,永久生效
hostnamectl set-hostname master
查看主机名称
2、修改ip映射(三台机器都需要如下三行配置)
vim /etc/hosts
添加映射
配置完成后使用ping命令检查这3个机器是否相互ping得通(互相检查一下)。
3、3台机器互相配置免密登录
1.在机器A输入下面命令,三次回车后,就在机器A产生公钥和私钥
ssh-keygen
2.在机器A的/root/.ssh目录下执行下面命令,就复制到了机器B上
ssh-copy-id 机器B的ip
3.这样就可以SSH免密到机器B上了,想要相互免密,就相互按照上述步骤
如下为真实操作:
1)主节点执行命令
ssh-keygen
ssh-copy-id 192.168.31.72
ssh-copy-id 192.168.31.73
ssh-copy-id 192.168.31.74
2)在从节点1执行如下命令
ssh-keygen
ssh-copy-id 192.168.31.72
ssh-copy-id 192.168.31.73
ssh-copy-id 192.168.31.74
3)在从节点2执行命令
ssh-keygen
ssh-copy-id 192.168.31.72
ssh-copy-id 192.168.31.73
ssh-copy-id 192.168.31.74
完成之后通过 ssh 用户@ip 来确定是否可以免密登录
注意:每台机子上也要对本机设置免密,否则开启/关闭自己服务的时候还是需要输入密码
4、安装jdk
注意:jdk不能放在/home下
这里做了软连接
ln -s /usr/local/jdk1.8.0_91 /usr/local/java
export JAVA_HOME=/usr/local/java
export JRE_HOME=/usr/local/java/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAV_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
source /etc/profile
5、http服务安装
为ambari-server构建应用服务器,考虑两种方式apache或者python
方式1、 apache http server
##安装
yum install httpd
##启动
httpd
##关闭
httpd -k stop
##设置开机自启动
chkconfig httpd on
Apache默认将网站的根目录指向/var/www/html,配置文件的目录默认在/etc/httpd/conf/httpd.conf
安装过程报错
解决方式:
修改配置文件/etc/httpd/conf/httpd.conf
将#ServerName 解开
将离线安装包ambari-2.6.2.0-centos7.tar.gz, HDP-2.6.3.0-centos7-rpm.tar.gz, HDP-UTILS-1.1.0.21-centos7.tar.gz解压至/var/www/html中
#解压
tar -zxvf ambari-2.6.2.0-centos7.tar.gz
tar –zxvf HDP-2.6.3.0-centos7-rpm.tar.gz
tar –zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz –C HDP-UTILS-1.1.0.21-centos7
方式2 python http server
##安装依赖组件
yum -y groupinstall development
yum -y install zlib-devel
##下载文件 wget速度较慢,建议在宿主浏览器提前下载
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
##解压
tar xJf Python-3.6.0.tar.xz
cd Python-3.6.0
##配置
./configure
##编译及安装
make && make install
##查看python3路径
which python3
##测试安装是否成功
python3 -V
##服务启动 -d 指定映射路径
python3 -m http.server -b 192.168.31.72 -d /usr/local/htsoft/ 8080
6、所有节点关闭python的安全认证
修改所有主机配置
vim /etc/python/cert-verification.cfg
cation.cfgverify=disable
7、安装ntp服务
72/73/74安装ntp服务并同步时间
yum -y install ntp; ntpdate time.buptnet.edu.cn
systemctl start ntpd
systemctl enable ntpd
8、安装ambari
8.1、安装ambari.repo本地源
下载ambari.repo文件并存至/etc/yum.repos.d/ambari.repo中,因为yum命令安装服务时,默认从/etc/yum.repos.d/目录下寻找 .repo结尾的文件源
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.6.2.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
8.2、修改本地源
修改/etc/yum.repos.d/ambari.repo
改成如下配置,红框圈起来的部分表示ambari在apache服务器的目录
若下载本地源的时候报错403 forbiden,则手动构建源文件
#如果下载不成功,则新建文件
/etc/yum.repos.d/ambari.repo
#将如下内容cp里面
#VERSION_NUMBER=2.7.4.0-118
[Updates-ambari-2.7.4.0]
name=ambari-2.7.4.0 - Updates
baseurl=http://192.168.101.214/ambari/centos7/2.7.4.0-118/
gpgcheck=1
gpgkey=http://192.168.101.214/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
8.3、安装ambari-server:
##执行如下命令的时候,会从apache目录下http://192.168.31.72:8095/ambari/centos7/2.6.2.0-155
寻找安装文件。而不会从互联网
yum install ambari-server -y
若安装成功,直接按照8.4的步骤继续安装,无需看下面步骤;
若安装过程中如果报错403 forbidden,则说明没有权限需要修改 /etc/httpd/conf/httpd.conf下的配置来开通权限。具体百度
##关闭SELinux 将SELINUX=disabled,重启系统
vim /etc/selinux/config
重启系统
reboot
8.4、设置ambari-server
1、获取数据库脚本
cd /var/lib/ambari-server/resources/
#将Ambari-DDL-MySQL-CREATE.sql脚本cp到本地,运行到mysql数据库
2、mysql包配置
①将mysql的驱动包放到/usr/share/java
②在/etc/ambari-server/conf/ambari.properties中添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
##安装ambari-server
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
ambari-server setup
报错:Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.
解决方案:
1、将mysql的驱动包放到/usr/share/java
2、在/etc/ambari-server/conf/ambari.properties中添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
执行ambari在mysql中的脚本i
8.5、启动 ambari-server
ambari-server start
访问地址:http://ip:8080/
登录用户密码 admin/admin
8.6、安装ambari-agent
8.6.1、 72服务器安装ambari-agent
在你的 hadoop 集群(namenode节点和datanode节点)的每一个节点上安装 Ambari Agent,ambari agent的作用是采集监控信息并上传给ambari-server
按照前面 下载的仓库repo文件.执行如下操作
##安装ambari-agent,安装之后会出现下一步中的ambari-agent.ini配置文件
yum install ambari-agent
##编辑配置 Ambari Agent 的 ambari-agent.ini 配置文件,将<your.ambari.server.hostname>替换成你的ambari-server服务器地址
vim /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=master
[security]
force_https_protocol=PROTOCOL_TLSv1_2
##启动服务
/etc/init.d/ambari-agent start
或者
ambari-agent start
8.6.2、73服务器安装ambari-agent
#此命令在72服务器执行
#将72本地安装源同步到73服务器上
scp /etc/yum.repos.d/ambari.repo root@192.168.31.73:/etc/yum.repos.d
#以下命令均在73服务器执行
##安装ambari-agent
yum install ambari-agent
##编辑ambari-agent配置文件
vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=master
[security]
force_https_protocol=PROTOCOL_TLSv1_2
##启动服务
/etc/init.d/ambari-agent start
8.6.3、74服务器安装ambari-agent
在刚才安装的服务器上执行如下命令
#此命令在72服务器执行
#将72本地安装源同步到74服务器上
scp /etc/yum.repos.d/ambari.repo root@192.168.31.74:/etc/yum.repos.d
#以下命令均在74服务器执行
##安装ambari-agent
yum install ambari-agent
##编辑ambari-agent配置文件
vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=master
[security]
force_https_protocol=PROTOCOL_TLSv1_2
##启动服务
/etc/init.d/ambari-agent start