http://bigsoft.zdfans.wang/VMware_5928.zip
http://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso
配置内核为4,磁盘空间为30G ,内存为2~4G都可以!
https://blog.csdn.net/zyq_2014/article/details/79692181
hostname 主机名
vi /etc/hostname 修改主机名
hostnamectl set-hostname 主机名
192.168.154.20
192.168.154.21
192.168.154.22
192.168.154.23
主机名最好符合规范,否则主机注册会出现问题。命名参考如下:
192.168.154.20 master1.xd.edu.cn
192.168.154.21 slave1.xd.edu.cn
192.168.154.22 slave2.xd.edu.cn
192.168.154.23 slave3.xd.edu.cn
补充:
修改主机名方法:
a、hostname 主机名
b、vi /etc/hostname 修改主机名
c、hostnamectl set-hostname 主机名
c、vi /etc/hosts 完成ip和域名的映射
https://blog.csdn.net/l1394049664/article/details/82528372
mkdir /root/.ssh
chmod 700 /root/.ssh
cd ~
#进入用户目录
ssh-keygen -t rsa -P “”
#这是生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;-P表示使用的密码,这里使用""空字符串表示无密码。
#回车后,会提示输入信息,我们直接回车即可。这样就在~/.ssh目录下生成了几个东西
cd ~/.ssh
cat id_rsa.pub >> authorized_keys
#这个命令将id_rsa.pub的内容追加到了authorized_keys的内容后面。
scp authorized_keys slave1.xd.edu.cn:/root/.ssh/
scp authorized_keys slave2.xd.edu.cn:/root/.ssh/
scp authorized_keys slave3.xd.edu.cn:/root/.ssh/
**备注:**在传输的过程中需要去用到node2和node3的密码,不过只使用一次,以后再使用ssh node2或者ssh node3即不在需要密码,实现免密钥登录
所有节点上都需要执行以下操作
yum install ntp
systemctl is-enabled ntpd
systemctl enable ntpd
systemctl start ntpd
systemctl status ntpd
所有节点都要检查,并配置FQDN(所有节点)
配置FQDN,如下以主节点为例
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=xd1.edu.cn
所有节点都要设置(以主节点为例)
systemctl disable firewalld
systemctl stop firewalld
所有节点都要设置(以主节点为例)
查看SELinux的状态:
修改配置文件为disabled需要重启机器:
vi /etc/sysconfig/selinux
制作本地源只需要在主节点上进行即可
安装HTTP服务器,允许http服务通过防火墙(永久)
![图片](https://uploader.shimo.im/f/AtL1PxZcs60HJB38.png!thumbnail)
添加Apache服务到系统层随系统自动启动
systemctl start httpd.service
systemctl enable httpd.service
yum install yum-utils createrepo
Ambari 2.7.1 Repositories
OS | Format | URL |
---|---|---|
RedHat 7 CentOS 7 Oracle Linux7 | Base URL | http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0 |
Repo File | http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ambari.repo | |
Tarball md5 | asc | http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.1.0/ ambari-2.7.1.0-centos7.tar.gz |
HDP 3.0.1 Repositories
OS | Version Numbe | Repository Name | Format | URL |
---|---|---|---|---|
RedHat 7CentOS 7Oracle Linux7 | HDP-3.0.1.0 | HDP | Base URL | http://public-repo-1.hortonworks.com/HDP/centos7/3.x/ updates/3.0.1.0 |
Repo File | http://public-repo-1.hortonworks.com/HDP/centos7/3.x/ updates/3.0.1.0/hdp.repo | |||
Tarball md5 | asc | http://public-repo-1.hortonworks.com/HDP/centos7/3.x/ updates/3.0.1.0/HDP-3.0.1.0-centos7-rpm.tar.gz | |||
Version Definition File | http://public-repo-1.hortonworks.com/HDP/centos7/3.x/ updates/3.0.1.0/HDP-3.0.1.0-187.xml | |||
HDP-UTILS | Base URL | http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/ repos/centos7 | ||
Tarball md5 | asc | http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/ repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz |
在httpd网站根目录,默认是即/var/www/html/,创建目录ambari。将ambari-2.7.3、HDP 3.1.0和HDP-UTILS-1.1.0.22-centos7.tar.gz放入ambari文件夹下,并在该文件夹下进行解压。
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz
验证httpd网站是否可用,用浏览器直接访问主节点的地址,如果能看到目录列表就表示成功:
http://192.168.154.20/ambari/
(刚开始访问不到该页面,可能是httpd.service服务没有开启),开启该服务
首先下载上面资源列表中的相应repo文件,修改其中的URL为本地的地址,相关配置如下:
ambari.repo
hdp.repo
将上面的修改过的源放到/etc/yum.repos.d/下面
Ambari安装会将安装等信息写入数据库,建议使用MariaDB数据库,也可以不安装而使用默认数据库PostgreSQL。
![图片](https://uploader.shimo.im/f/8px3jmCWOZARAiGd.png!thumbnail)
开启数据库,并检查开启的状态:
数据库初始化设置:
首先是设置密码,提示先输入密码,初次运行直接回车
是否为root用户设置密码,输入y并回车
设置root用户的密码,再次输入设置的密码,显示成功!
是否删除匿名用户,直接回车
是否禁止root远程登录,直接回车
是否删除test数据库,直接回车
是否重新加载权限表,直接回车!
以上完成了初始化mariadb,接下来测试登录,输入密码能正常登录就完成了。(本次搭建密码为ambari)
安装完成后创建ambari数据库及用户,登录数据库root用户后执行下面的语句:
创建数据库,并创建使用者的用户名和密码
为新创建的ambari用户分配权限,之后刷新权限;
一般默认的安装路径:/usr/share/java/mysql-connector-java.jar 如果发现不是,将其拷贝到该路径:
yum install mysql-connector-java
每个节点上都安装!
Java SE Development的下载地址:
http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html
下载jdk-8u112-linux-x64.tar.gz,再执行以下的命令:
安装jdk,并配置环境变量:
解压jdk,tar –zxvf jdk-8u112-linux-x64.tar.gz
配置环境变量:
重启配置,使得配置文件生效:
下面是配置流程
1、检查SELinux是否关闭,如果关闭不用操作
2、提示是否自定义设置,输入:y
3、ambari-server账号,输入:ambari
4、检查防火墙的状态(如果后续页面无法打开,查看防火墙是否关闭)
5、设置JDK,输入:3
6.如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/opt/java/jdk1.8.0_112
7.数据库配置。选择:y
8.选择数据库类型。输入:3
9.设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。(之前配置过ambari用户的密码是ambari,但是此次显示是bigdatga,所以自己改为了ambari)
10.提示必须安装MySQL JDBC,输入y,回车结束ambari配置
11.将Ambari数据库脚本导入到数据库
执行启动命令,启动ambari服务
成功启动后在浏览器中输入ambari地址:http://192.168.154.20:8080 启动成功
出现登录界面,默认管理员账户登录,账户:admin 密码:admin
登录成功后出现上面的界面,至此Ambari的安装成功 。
ambari-agent的功能:
采集所在节点的信息并且汇总发心跳汇报给ambari-server;
处理ambari-server的执行请求。
将hdp.repo文件和ambari.repo两个文件放在所有节点上,如果没有这一步,agent无法安装成功:
![图片](https://uploader.shimo.im/f/WNiwEnTQB8kAjx51.png!thumbnail)
之后在每台节点上安装ambari-agent
在每台节点上修改 vi /etc/ambari-agent/conf/ambari-agent.ini文件,指定服务器为master1.xd.edu.cn
启动ambari-agent
ambari-agent start
本次使用本次源,库选择redhat7,其余移除。版本选择使用add version 上传HDP-3.1.0.0-78.xml文件。 勾选下方的use Rethat 点击next:
配置主机节点,上传id_rsa文件(主机节点对应于/etc/hosts文件下的主机,不能使用ip),私钥在主节点的/root/.ssh/id_rsa下。重要一点是勾选Perform。网上很多都不勾选,但是这样表示自动在节点上安装ambari-agent,但其实很多时候会出错。之前已经在节点上安装了ambari-agent,所以这勾选表示手动安装。
注册成功后要解决掉出现的所有警告。
解决警告的办法:
a、查看出现警告的服务
b、使用yum -y remove 警告在每台节点上都执行。例如:yum -y remove hdp-select
c、点击RERUN CHECK多等待几分钟,所有警告解除!
选择的服务越多,后面的安装会有很多问题,第一次安装可以只选择Hdfs服务即可。
有时候出现的不是上面正确的界面,会出现以下错误:
解决办法,很简单,应用如下的命令:
按提示点击下一步即可。
点击next即可。
可能需要一定的安装时间。耐心等待!
至此,4节点的ambari+hdp集群搭建成功!
若开启服务过程中出错,无法成功,检查四个节点的ntpd是否开启,若没开启会失败:
出错如下:
所有节点开启时间同步后,结果如下:
mysql -u root -p //root用户下新建hive数据库
create database hive;
CREATE USER ‘hive’@’%’ IDENTIFIED BY ‘hive’; //创建hive用户和用户的密码 hive
GRANT ALL PRIVILEGES ON . TO ‘hive’@’%’; //赋予hive用户所有权限
FLUSH PRIVILEGES; //刷新
执行下面语句:
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
测试连接,输入数据库hive用户的密码 hive,连接成功
补充:hive一定要安装在有mysql的主机上。否则无法连接成功!
成功后重新启动所有服务,界面如下;
新增spark2的服务,成功安装
界面如下:
ambari中服务的目录是/usr/hdp/3.1.0.0-78
配置文件的目录(以spark2为例)是:
或者是在/etc/spark2/conf 下:
进入到spark2的bin目录下,使用spark-shell启动;
启动spark后出错,报错如下:
**错误一:**启动Spark2 Thrift Server报错.Exception in thread “main” java.lang.IllegalArgumentException: Required executor memory (1024+384 MB) is above the max threshold (1024 MB) of this cluster! Please check the values of ‘yarn.scheduler.maximum-allocation-mb’ and/or ‘yarn.nodemanager.resource.memory-mb’.是spark启动内存不足,改yarn下的对应属性增加内存
**错误二:**若遇到Hadoop HDFS的写入权限问题,问题如下:
解决方案一: 在所有节点下对hdfs-site.xml中添加如下配置,关闭权限验证
hdp的配置文件所在的目录是:/etc/hadoop/conf
将true改为false。
运用方案一就得对所有节点都改动。
解决方案二:在hdfs的界面上改动:
之后重启spark后,成功