以前学习大数据都是分散搭建,方便学习和理解每个组件。前段时间花了5天左右时间搭建HDP集群,这里使用的系统是centos7、HDP版本是2.6.3、 Ambari 版本是2.6.0。其中遇到了不少坑,在这里做了一个总结及遇到的错误处理,方便遇到类似错误的童鞋能够快速解决
环境:
CentOS-7-x86_64-Everything-1708.iso
Ambari 2.6.0
HDP 2.6.3
HDP-UTILS 1.1.0.21
jdk-8u144-linux-x64.tar.gz
一、准备工作:
1、安装linux系统3台(主节点:hdp11:192.168.88.11,从节点1:hdp12:192.168.88.12,从节点2:hdp13:192.168.88.13),
每台分配内存4g,
硬盘:主节点60G,从节点点40G
安装系统时主节点可以把mabiaDB安装上,这样就不需要使用其他数据库,以上都是很基础的配置,有更好的硬件会更好。建议不要安装图形化界面,这样占用的内存和硬盘就少很多;
2、系统安装好后,关闭防火墙(所有节点)
systemctl disable firewalld
systemctl stop firewalld
3、关闭SELinux(所有节点,重启生效)
vi /etc/sysconfig/selinux
SELINUX=disabled
可用sestatus查看SELinux状态
4、设置主机名和dns(所有节点,重启生效)
dns设置
vi /etc/hosts 后面增加
192.168.88.11 hdp11
192.168.88.12 hdp12
192.168.88.13 hdp13
设置主机名
vi /etc/hostname
每台主机的ip对应每个主机名,分别是:hdp11,hdp12,hdp13
可用用hostname查看主机名
5、ssh配置(所有节点),注意:需要将自己本身的公钥也发送给自己一份
这里以hdp21为例,其它节点也一样
ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@hdp11
ssh-copy-id -i .ssh/id_rsa.pub root@hdp12
ssh-copy-id -i .ssh/id_rsa.pub root@hdp13
6、配置yum源(所有节点)
先删除/etc/yum.repos.d/下面的所有文件:
cd /etc/yum.repos.d/
rm -rf *
清除之前的缓存:yum clean all
要将虚拟机下面的设备状态选上
挂载文件(注意这里使用的是当时生效,关机后会失效。建议设置永久挂载文件):mount /dev/cdrom /mnt/
设置自己的yum源
vi /etc/yum.repos.d/my.repo
[centos-yum]
baseurl=file:///mnt
enabled=1
gpgcheck=0
7、安装 Apache HTTP 服务器(主节点hdp11),用来提供ambari可视化安装服务等步骤界面
安装http:yum install httpd
启动httpd服务:systemctl start httpd.service
设置开机自启http服务:systemctl enable httpd.service
8、安装ntp及启动(所有节点),用来主机之间时间同步
yum install ntp
systemctl is-enabled ntpd
systemctl enable ntpd
systemctl start ntpd
9、上传本地文件到linux系统
存放压缩包文件目录:mkdir tools
将Ambari 2.6.0、HDP 2.6.3、HDP-UTILS 1.1.0.21、jdk-8u144-linux-x64.tar.gz文件上传到tools
设置jdk的环境变量(不会建议百度)
将jdk-8u144-linux-x64.tar.gz解压后的目录加入到.bash_profile文件
需要配置好后需要执行 source .bash_profile 使环境变量生效
二、mariaDB的配置(主节点hdp11)
1、启动及设置开机自启动
systemctl start mariadb
systemctl enable mariadb
2、初始化MariaDB
mysql_secure_installation
Enter current password for root (enter for none):<–初次运行直接回车
Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,
Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
3、创建用户及权限设置
登录:mysql -uroot -p密码(就是你上一步里面设置的密码)
创建用户:create database ambari;
CREATE USER 'ambari'@'%'IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
上面的%号表示所有的主机都能访问
4、安装mysql jdbc驱动
退出mariaDB后(exit):yum install mysql-connector-java
三、配置Ambari的yum源(主节点hdp11)
创建ambari目录:mkdir -p /var/www/html/ambari
1、将ambari-2.6.0.0-centos7.tar.gz和HDP-2.6.3.0-centos7-rpm.tar.gz解压到/var/www/html/ambari目录
tar -zxvf ambari-2.6.0.0-centos7.tar.gz -C /var/www/html/ambari
tar -zxvf HDP-2.6.3.0-centos7-rpm.tar.gz -C /var/www/html/ambari
2、HDP-UTILS解压,注意这里的目录和前面不一样多了一层HDP-UTILS
mkdir /var/www/html/ambari/HDP-UTILS/
tar -zxvf HDP-UTILS-1.1.0.21-centos7.tar.gz -C /var/www/html/ambari/HDP-UTILS/
3、删除/var/www/html/ambari/下面的所有html文件
到/var/www/html/ambari/目录下:find . -name .html
好像也只在/var/www/html/ambari/HDP/centos7/2.6.3.0-235/下面有html文件
cd /var/www/html/ambari/HDP/centos7/2.6.3.0-235
rm -rf *.html
4、配置ambari、HDP、HDP-UTILS的本地源
#VERSION_NUMBER=2.6.0.0-267
[ambari-2.6.0.0]
name=ambari Version - ambari-2.6.0.0
baseurl=http://192.168.88.11/ambari/ambari/centos7/2.6.0.0-267
gpgcheck=1
gpgkey=http://192.168.88.11/ambari/ambari/centos7/2.6.0.0-267/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
#VERSION_NUMBER=2.6.3.0-235
[HDP-2.6.3.0]
name=HDP Version - HDP-2.6.3.0
baseurl=http://192.168.88.11/ambari/HDP/centos7/2.6.3.0-235
gpgcheck=1
gpgkey=http://192.168.88.11/ambari/HDP/centos7/2.6.3.0-235/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.21]
name=HDP Utils Version - HDP-UTILS-1.1.0.21
baseurl=http://192.168.88.11/ambari/HDP-UTILS
gpgcheck=1
gpgkey=http://192.168.88.11/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
5、将刚才配置的ambari.repo和hdp.repo拷贝到/etc/yum.repos.d/目录下
四、安装ambari(主节点hdp11)
4.1安装Ambari Server:yum install ambari-server
安装过程中如果出现这种错误:http://192.168.88.11/ambari/HDP/centos7/2.6.3.0-235/repodata/repomd.xml: [Errno 14] HTTP Error 403 - Forbidden
禁用SELinux
另外一种错误
file:///mnt/repodata/repomd.xml: [Errno 14] curl#37 - "Couldn't open file /mnt/repodata/repomd.xml"
则重新挂载光盘:mount /dev/cdrom /mnt
还是有错误检查:
1、挂载的文件是否掉了,可用ls /mnt 命令查看
2、检查防火墙是否是禁用,可用systemctl status firewalld.service命令查看
3、检查是否是SELinux没有禁用,可用sestatus命令查看
4、检查ambari.repo和hdp.repo的配置是否正确,如其中的ip路径
4.2配置Ambari Server:ambari-server setup
上图中的标志2、3、5、6需要注意下
标志2是选择我们自己的jdk,用它本身的听说会容易出问题
标志3是jdk的路径,及JAVA_HOME的路径,使用echo $JAVA_HOME查看
标志5是使用的数据库,我们使用的mabriaDB
标志6是主节点的ip,由于我们配置了dns的所有直接写hdp11
4.3将Ambari数据库脚本导入到数据库
mysql -uambari -p密码
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
导入数据之后可以使用show tables命令查看是否有数据,没导入之前是没有的
安装完成后会在末尾打印出Ambari Server 'setup' completed successfully
4.4启动Ambar服务
Ambari-server start
在上图中标志1是监听的端口号
标志2是启动成功的的打印
如果启动出错:
查看日志
cat /var/log/ambari-server/ambari-server.log
五、安装服务(我们这里暂时只安装hdfs和yarn到hdp11上,后面需要可以进行添加节点或者服务)
5.1打开网页地址登录
根据上面的监听端口去打开(主节点ip:端口号):192.168.88.11:8080
默认账号和密码都是:admin
5.2我这里由于是搭建好了的,没有从开始安装的图片了,从网上找了几张来代替
上图中的标志1是选择hdp的版本,我们这选择2.6,系统(os)选择redhat7,其余的remove掉,因为我们的系统是centos7
标志2是hdp的路径:http://192.168.88.11/ambari/HDP/centos7/2.6.3.0-235
标志3是hdp-utls的路径:http://192.168.88.11/ambari/HDP-UTILS
上图中需要注意的标志1是主节点ip
标志2是主节点的私钥、是私钥、是私钥:使用cat /root/.ssh/id_rsa命令打印出,将打印出来的所有内容复制到标志2里面
1、挂载的文件是否掉了,可用ls /mnt 命令查看
2、检查防火墙是否是禁用,可用systemctl status firewalld.service命令查看
3、检查是否是SELinux没有禁用,可用sestatus命令查看
4、检查ambari.repo和hdp.repo的配置是否正确,如其中的ip路径
5、ssh是否能正常连接
6、使用hostname查看是否和/etc/hosts里面的配置一致
7、ntp的服务是否启动,使用ps -ef | grep ntpd查看进程
8、系统的默认语言是中文导致,则换成英文
vi /etc/locale.conf
#LANG="zh_CN.UTF-8"
LANG="en_US.UTF-8"
下面是个ssh的错误导致的
选择需要安装的服务,这里就只安装hdfs和yarn
NameNode和DataNode的目录需要自己先建立
mkdir -p /root/hadoop/hdfs/namenode
mkdir -p /root/hadoop/hdfs/datanode
后面的yarn也需要先创建
mkdir -p /root/hadoop/yarn/nodemanager/local
mkdir -p /root/hadoop/yarn/nodemanager/log
做好其他的一些设置之后就开始安装了
如果在安装的过程中出现错误
检查的方式和Confirm Hosts部分类似,
出了上面的检查之外还补充部分
1、检查光驱是否挂载上(博主就是这个挂载没有设置成永久挂载导致卡在这里3天多,因为关机之后挂载就没了)
2、检查ambari.repo、hdp.repo、挂载光驱的repo文件
3、其它原因看出错原因并百度查找
4、系统原因和相关服务配置
这里还附上2个错误及相关处理(我没遇到)
第一个:装着装着就失败了,显示Python script has been killed due to timeout after waiting 1800 secs
解决办法:
vim /etc/yum.conf,把installonly_limit的值设成600
第二个:Python script has been killed due totimeoutafter waiting 1800 secs
vim /etc/ambari-server/conf/ambari.properties(此错误为ambari-server ssh连接ambari-agent安装超时)
agent.package.install.task.timeout=1800更改为9600(时间可根据网络情况继续调整)
添加其他节点
添加其它服务
删除节点需要注意的:
好了,花了不少时间终于写完了,祝愿大家能在大数据的路上一路走下去
-001 ~]# vi /etc/sysconfig/selinux
SELINUX=disabledY-001 ~]# vi /etc/sysconfig/selinux
SELINUX=disabled
[root@SY-001 ~]# vi /etc/sysconfig/selinux
SELINUX=disabled
[root@SY-001 ~]# systemctl disable firewalld
[root@SY-001 ~]# systemctl stop firewalld
Am
AmbAmbari 2.6.0
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP 2.6.3
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILS 1.1.0.21
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gzAmbari 2.6.0
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP 2.6.3
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILS 1.1.0.21
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gzAmbari 2.6.0
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP 2.6.3
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILS 1.1.0.21
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gzari 2.6.0
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP 2.6.3
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILS 1.1.0.21
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz
Ambari 2.6.0
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP 2.6.3
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILS 1.1.0.21
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz
Ambari 2.6.0
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP 2.6.3
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILS 1.1.0.21
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz
bari 2.6.0
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.0.0/ambari-2.6.0.0-centos7.tar.gz
HDP 2.6.3
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.3.0-centos7-rpm.tar.gz
HDP-UTILS 1.1.0.21
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz