–环境信息:
182.15.240.145 master
182.15.240.146 slave1
182.15.240.147 slave2
–安装所需的包:
ambari-2.7.3.0-centos7.tar.gz
HDP-3.1.0.0-centos7-rpm.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
jdk-8u102-linux-x64.tar.gz
mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
注:以下所有操作都是用root权限!
一、卸载自带jdk - 所有机器
(1)查看自带JDk版本
rpm -qa|grep java
(2)卸载自带JDK
1 | rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64 |
(3)上传JDk并解压
jdk版本:jdk-8u102-linux-x64.tar.gz
上传JDk包至/usr/local/jdk目录下,并切换到该目录(没有jdk目录则手动创建),执行远程拷贝命令如,每个节点的jdk安装路径一样。拷贝完后解压JDK包。
1 | scp jdk-8u102-linux-x64.tar.gz root@182.15.240.146:/usr/local/jdk |
解压后路径:/usr/local/jdk/jdk1.8.0_102
(4)配置JDk
每个节点都需要配置,且配置JDK的内容相同。
vim /etc/profile
末尾加入下配置:
1 | export JAVA_HOME=/usr/local/jdk/jdk1.8.0_102 |
(5)jdk生效
source /etc/profile
二、设置主机名称 - 所有机器
vim /etc/hostname
若有三个节点,选一个节点作为主节点,修改其hostname中为master,其他节点的主机名称依次修改为slave1、slave2。
然后使用命令:reboot重启生效。
三、修改Hosts - 所有机器
vim /etc/hosts
每个节点的hosts文件中添加如下配置:
1 | 182.15.240.145 master |
四、修改network - 所有机器
vim /etc/sysconfig/network
添加如下配置:
1 | Created by anaconda |
通过ping主机名看是否通讯正常。
ping slave1
五、打开安全限制 - 所有机器
vim /etc/security/limits.conf
文件末尾新增如下:
1 | End of file |
六、关闭防火墙 - 所有机器
1 | [root@master~]#systemctl disable firewalld |
另外所有机器还需修改:
[root@master ~]# vim /etc/selinux/config
参数修改如下:
1 | SELINUX=disabled |
七、同步时钟
1、安装chrony服务 - 所有机器
yum -y install chrony
2、设置master为主服务器,开启nptd服务(主服务器)
主服务器上该配置文件修改项如下:
1 | vim /etc/chrony.conf |
修改保存后执行:
1 | [root@master ~]# systemctl restart chronyd.service #启动服务 |
查看时间同步状态:
1 | chronyc -a makestep |
3、子节点时间同步配置
vim /etc/chrony.conf
注释原来的server并新增如下配置即可然后重启服务:
server 182.15.240.145
[root@master ~]# systemctl restart chronyd.service #启动服务
[root@master ~]# systemctl status chronyd.service #开机自启动
每个子节点的chrony.conf里都要配置server 182.15.240.145,并重启服务!
八、SSH无密码登录 - 主节点
1、免密钥操作
1 | [root@master ~]# ssh-keygen -t rsa 连接提示选yes ,密码提示填登录密码 |
测试是否实现了无密码登录:
1 | [root@master ~]# ssh slave1 date ;ssh slave2 date;ssh master date; |
2、保存密钥
将创建的秘钥拷贝出来,因为后面ambari安装的时候需要上传这个秘钥
。创建秘钥是在隐藏文件夹/root/.ssh/下面的,
所以需要先把秘钥拷贝到可见区域,然后拷贝到电脑上。
1 | [root@master ~]# cd /root/.ssh/ |
id_rsa为密钥!
九、其他系统设置 - 所有机器
1 | root@master ~]# sudo sh -c "echo umask 0022 >> /etc/profile" |
十、修改yum源,实现离线安装
1、安装httpd服务 - 主服务器
1 | [root@master ~]# yum -y install httpd |
2、上传三个包放到/var/www/html目录下 - 主服务器
安装完成后,会生成 /var/www/html目录(相当于Tomcat的webapps目录),进入到/var/www/html目录下,
创建ambari和hdp目录,用来存放安装文件.
1 | [root@yum ~]# mkdir /var/www/html/ambari |
3、启动httpd服务:
1 | [root@yum ~]# systemctl start httpd # 启动httpd |
现在可以通过访问
1 | http://182.15.240.145/ambari/ |
十一、制作本地源
https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/ambari_repositories.html
https://docs.hortonworks.com/HDPDocuments/Ambari-2.7.3.0/bk_ambari-installation/content/hdp_31_repositories.html
1、安装本地源 - 主服务器
(1)下载ambari.repo文件
1 | [root@master ambari]# wget -O /etc/yum.repos.d/ambari.repo http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo |
注:路径一定要配置正确!!!
修改配置文件:vim /etc/yum.repos.d/ambari.repo
1 | [root@master ambari]# vi ambari/centos7/2.7.3.0-139/ambari.repo |
(2)配置HDP和HDP-TILS
1 | [root@yum yum.repos.d]# touch /etc/yum.repos.d/HDP.repo |
2、清理一下yum的缓存
1 | [root@master ambari]# yum clean all |
3、将创建好的文件拷贝到子节点 - 主服务器
1 | [root@master ambari]#cd /etc/yum.repos.d |
十二、安装ambari-server
1、以mysql为数据库安装 - 主服务器
mysql包版本:mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar
上传到主节点/usr/local/mysql目录下并解压。
1 | rpm -qa |grep -i mysql |
用rpm -e 删除包
强制卸载mariadb
1 | rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64 |
这里是为了避免安装mysql时出现依赖错误,提前删除系统已有的mariadb和mysql包!
安装mysql可能用到的工具:
1 | yum -y install libaio |
2、安装mysql-server:按照common–>libs–>client–>server的顺序。若不按照此顺序,也会有一定“依赖”关系的提醒。
1 | [root@hadoop mysql]# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm |
3、初始化mysql
1 | [root@hadoop mysql]# mysqld --initialize |
4、更改mysql数据库所属于用户及其所属于组
1 | [root@hadoop mysql]# chown mysql:mysql /var/lib/mysql -R |
5、启动mysql数据库
1 | [root@hadoop mysql]# cd /var/lib/mysql |
更改root用户密码,新版的mysql在第一次登录后更改密码前是不能执行任何命令的
1 | [root@hadoop log]# mysql -u root -p |
安装和配置ambari-server
1 | yum -y install ambari-server |
6、登录mysql创建ambari安装所需要的库
设置的账号后面配置ambari-server的时候会用到!!!
执行如下语句:
1 | CREATE DATABASE ambari; |
如果要重新执行以上语句,则需要先删除:
\1. delete from mysql.user where user=’sonar’; 删除用户
2.CREATE USER ‘sonar’@’%’IDENTIFIED BY ‘sonar’;天假用户
\3. flush privileges; 清理缓存
\4. select from mysql.user where user=’sonar’;查看该用户是否存在 ,结果是null
\5. flush privileges;清理缓存
\6. GRANT ALL ON sonar. TO ‘sonar’@’%’ IDENTIFIED BY ‘sonar’;用户操作授权
7、mysql与ambari-server的连接
下载mysql-connector-java-5.1.40.jar放到root文件下
1 | mkdir /usr/share/java |
1 | 添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar |
1 | (1) 提示是否自定义设置。输入:y |
错误处理:
如果出现错误,请注意查看日志,根据具体的错误内容进行处理,默认ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。如果在处理日志的过程中或者后面安装的过程中出现一些莫名的错误,可以重置的安装。
如果上面进行的默认数据库的配置,可以使用下面的代码重置ambari-server。
1 | [root@master ~]# ambari-server stop |
如果选择的是第二种方式,就需要先执行上面的语句,然后手动将mysql里面创建的数据库进行删除。然后再重新执行第二步的操作
1 | [root@master ~]# mysql -uroot -p |
先在mysql库的User表中删除ambari、hive和oozie用户,再重复第六小结的用户创建操作,然后执行第八小结
的命令:ambari-server setup。
9、启动ambari-server服务
1 | [root@master ~]# ambari-server start |
十三、安装部署HDP集群
1、登录界面
默认管理员账户登录, 账户:admin 密码:admin
http://182.15.240.145:8080
2、安装向导
(1)Launch Install Wizard
(2)配置集群名称;
(3)选择版本并修改本地源地址;
选HDP-3.1.00;
选Use Local Repository;
选redhat7:
HDP-3.1: http://182.15.240.145/hdp/HDP/centos7/
HDP-3.1-GPL: http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.0.0/
HDP-UTILS-1.1.0.22: http://182.15.240.145/hdp/HDP-UTILS-1.1.0.22/
配置节点和密钥
Target hosts填
master
slave1
slave2
从主节点的/root目录下下载密钥id_rsa,并上传即可!
使用第三方数据库mysql的时候需要执行:
ambari-server setup –jdbc-db=mysql –jdbc-driver=/var/lib/ambari-agent/lib/mysql-connector-java-5.1.24.jar
[root@master lib]# ambari-server setup –jdbc-db=mysql –jdbc-driver=/var/lib/ambari-agent/lib/mysql-connector-java-5.1.24.jarUsing python /usr/bin/python
Setup ambari-server
Copying /var/lib/ambari-agent/lib/mysql-connector-java-5.1.24.jar to /var/lib/ambari-server/resources/mysql-connector-java-5.1.24.jar
Creating symlink /var/lib/ambari-server/resources/mysql-connector-java-5.1.24.jar to /var/lib/ambari-server/resources/mysql-connector-java.jar
If you are updating existing jdbc driver jar for mysql with mysql-connector-java-5.1.24.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.
Database URL: jdbc:mysql://master/hive
Database Password: hive/hive
—————-最后一步的信息—————————————-
Admin Name : admin
Cluster Name : leap
Total Hosts : 3 (3 new)
Repositories:
redhat7 (HDP-3.1):
redhat7 (HDP-3.1-GPL):
redhat7 (HDP-UTILS-1.1.0.22):
Services:
HDFS DataNode : 3 hosts
NameNode : master
NFSGateway : 1 host
SNameNode : slave1
YARN + MapReduce2 Timeline Service V1.5 : slave1
NodeManager : 3 hosts
ResourceManager : master
Timeline Service V2.0 Reader : master
Registry DNS : master
Tez Clients : 3 hosts
Hive Metastore : slave1
HiveServer2 : slave1
Database : Existing MySQL / MariaDB Database
HBase Master : master
RegionServer : 2 hosts
Phoenix Query Server : 3 hosts
ZooKeeper Server : 3 hosts
Ambari Metrics Metrics Collector : slave2
Grafana : master
Kafka Broker : master
SmartSense Activity Analyzer : master
Activity Explorer : master
HST Server : master
Spark2 Livy for Spark2 Server : 2 hosts
History Server : master
Thrift Server : 2 hosts
-———————————-
主页: http://182.15.240.145:8080 admin/admin
yarn: http://master:8088/cluster