使用HDP搭建和管理Hadoop集群
1、集群规划
服务器 |
ip |
jdk |
Ambari |
机器系统 |
hdp01 |
192.168.122.101 |
1.8 |
2.4.2.0 |
CentOS7 |
hdp02 |
192.168.122.102 |
1.8 |
N/A |
CentOS7 |
hdp03 |
192.168.122.103 |
1.8 |
N/A |
CentOS7 |
hdp04 |
192.168.122.104 |
1.8 |
N/A |
CentOS7 |
hdp05 |
192.168.122.105 |
1.8 |
N/A |
CentOS7 |
2、设置host映射-------集群的每台机器都要配置映射
vim /etc/hosts
3、设置免密登陆-------详细操作参见hadoop安装
免密关系如下:
hdp01---->hdp01、hdp02、hdp03、hdp04、hdp05
hdp02---->hdp01、hdp02
hdp03---->hdp01、hdp03
hdp04---->hdp01、hdp04
hdp05---->hdp01、hdp05
4、单机安装jdk,配置环境变量-------集群每台机器都需要安装
5、安装mysql,建立Ambari相关的库
mysql>create database ambari;
mysql>insert into mysql.user(Host,User,Password) values("hdp01","ambari",password("1327"));
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
原因:在配置文件/etc/my.cnf中有这样一条语句sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,指定了严格模式,为了安全,严格模式禁止通过insert 这种形式直接修改mysql库中的user表进行添加新用户
解决办法:
将配置文件中的STRICT_TRANS_TABLES删掉,即改为:sql_mode=NO_ENGINE_SUBSTITUTION,然后重启mysql即可
mysql>flush privileges;
mysql>exit;
service mysql restart
mysql> grant all privileges on ambari.* to ambari@hdp01 identified by '1327';
mysql>flush privileges;
mysql>exit;
6、安装ambari
1)将Ambari存储库文件下载到安装主机上的目录。
#wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
2)通过检查repo列表确认存储库已配置
#yum repolist
3)安装ambari-server
yum -y install ambari-server
7、数据库设置
找一个mysql的连接器,先在/usr/share下创建java目录
把这个包分别拷贝进
/usr/share/java
/usr/lib/ambari-server
执行以下语句:
mysql ambari -uroot -proot
ambari-server setup
8、其他设置
1)关闭linux swap
执行:cat /proc/sys/vm/swappiness,结果为0表示已经关闭,否则执行
sysctl -w vm.swappiness=0
vi /etc/sysctl.conf
在最后添加: vm.swappiness=0
然后执行: sysctl -p /etc/sysctl.conf,可以看到刚才设置的vm.swappiness=0,设置成功
2)关闭selinux
执行立即关闭命令:setenforce 0
查看状态:getenforce
---显示:Permissive,表示已经关闭
永久关闭: vi /etc/selinux/config,将SELINUX=enforcing改成SELINUX=disabled,保存然后需要重启系统
查看selinux状态,执行:sestatus -v
---显示:SELinux status: disabled,表示已经关闭。
3)安装ntpd
查看是否安装ntp
rpm -aq | grep ntpd
安装:yum install ntp
systemctl disable chronyd
开机启动:chkconfig ntpd on
启动:service ntpd start
4)安装httpd
yum install httpd -y
开启服务:service httpd start
开机启动:chkconfig httpd on
5)关闭防火墙
开启/关闭/查看防火墙状态:systemctl start/stop/status firewalld
关闭开机自启:systemctl disable firewalld
9、启动ambari
ambari-server start
登陆http://192.168.159.101:8080
默认
用户名:admin 密码:admin
10、登陆成功之后开始搭建集群
10.1点击创建集群(Launch Install Wizard)
10.2设置集群名称
10.3选择HDP版本和库
选择库有两种,一种是公共库,一种是本地库
建立分支:
分支一:公共库
根据linux版本选择
比如我的是centos7,只选择redhat7就行,其他版本可以remove;
点击NEXT
10.4主机名和私钥
主机名要写集群所有主机的主机名,私钥是ambari所在主机的秘钥(/root/.ssh/下的id_rsa)
弹出警告,选ok
10.5至下图,确认集群状态,开始安装
选择服务,建议先少选择几项服务安装,等安装成功之后再添加服务。因为第一次安装最容易出现问题,一次性安装太多服务需要解决大量问题。如图,先安装HDFS、YARN和MR。
提示需要安装ZK,选择ok。在安装服务时有些服务是需要其他服务支持的,会自动提示需要安装,选择ok即可
按照集群规划选择相应的服务安装位置
自定义服务
确认操作
准备安装
安装中.......
安装完成
摘要
开始使用
11、配置高可用
HDFS-----> Service Actions----> Enable NameNode HA
按照操作提示走完
12、添加服务(可以到后面学完一个组件添加一个)
最后一张图所示(add service),就可以添加Hadoop生态圈的各种组件
至此,HDP搭建的Hadoop HA集群完成。