通过ambari安装hadoop集群(一)
之前一直用的开源社区的版本,最近突然想到找一个好的商业版本用着,然后一直使用,然后就定上了hdp和cdh,都装上去了,但是cdh使用难度太大了,和开源版本的差距比较大,api不会使用,需要学它的cdk。hdp和开源版差不多,也是经过了优化了的,也是开源的,有一个管理界面,比社区版要好,这个安装过程废了很大的劲儿才搞成功的,发出来跟大家分享一下。
hdp的安装折腾了好久,它的下载地址网址不像CDH那么难找,不过它的设置相对CDH简单很多,一键式安装,而且都是免费的软件。
1.首先要下载它们的安装包,别尝试着在yum来下,特别慢,最好的方式是通过建立本地资源的方式来安装。
http://public-repo-1.hortonworks.com/HDP/centos6/HDP-1.3.0.0-centos6-rpm.tar.gz
http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.2.5.17-centos6.tar.gz
2.建立本地资源库 在var/www/html下建立一个hdp目录,如果没有的请先安装httpd yum install httpd,把下到的三个文件解压完毕之后,复制到hdp目录下,然后重启httpd服务,用下面三个repo文件里面的baseurl地址来测试一下是否可以通过网址访问了,然后准备三个文件,hdp.repo,ambari.repo,hdp-util.repo 不要按照官方说的那个做,那个是会报错的,我把我的放出来,大家自己照着弄,修改一下地址就行,然后把这三个文件复制集群中的所有机器的/etc/yum.repos.d/目录下
下面我发一下他们的内容
hdp.repo
[HDP-1.3.0.0]
name=Hortonworks Data Platform Version - HDP-1.3.0.0
baseurl=http://192.168.1.133/hdp/HDP/centos6/1.x/GA/1.3.0.0
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=http://192.168.1.133/hdp/HDP-UTILS-1.1.0.16/repos/centos6
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
ambari.repo
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.16
baseurl=http://192.168.1.133/hdp/HDP-UTILS-1.1.0.16/repos/centos6
gpgcheck=0
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[ambari-1.2.5.17]
name=ambari-1.2.5.17
baseurl=http://192.168.1.133/hdp/ambari/centos6/1.x/updates/1.2.5.17
gpgcheck=1
gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
hdp-util.repo
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Version - HDP-UTILS-1.1.0.16
baseurl= http://192.168.1.133/hdp/HDP-UTILS-1.1.0.16/repos/centos6
gpgcheck=1
enabled=1
priority=1
3.安装之前的准备工作
(1)设置ssh自动登陆,这个参照我写的另外一篇ssh自动登陆的那个去做就行,网址是http://www.cnblogs.com/cenyuhai/p/3280668.html
(2)设置ntpd自动启动,所有机器
chkconfig --level 5 ntpd on
service ntpd start
(3)禁用selinux,所有机器
vi /etc/sysconfig/selinux 设置selinux=disabled
(4)设置时间同步,所有机器
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #设置时区为北京时间,这里为上海,因为centos里面只有上海。。。
ntpdate us.pool.ntp.org #时间同步
没有安装ntpdate的可以yum一下 yum install -y ntpdate
加入定时计划任务,每隔10分钟同步一下时钟
crontab -e
把下面的内容粘贴进去保存即可
0-59/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP
(5)修改/etc/hosts文件,所有机器,设置如下:
192.168.1.133 hadoop.Master
192.168.1.134 hadoop.SlaveT1
192.168.1.135 hadoop.SlaveT2
4.修改配置文件,所有机器
yum install yum-plugin-priorities
vi /etc/yum/pluginconf.d/priorities.conf
#设置为以下内容
[main]
enabled=1
gpgcheck=0
5.安装自定义的mysql服务
yum install -y mysql-server
安装完成之后用root账户登陆,执行下列命令
create database hive ;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
create database oozie DEFAULT CHARACTER SET utf8;
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
如果mysql也装在集群中的某个机器上面,而且该服务也装在这个台机器上面。。比如我的hadoop.SlaveT1上面挂了hive服务,mysql也在它上面就会连接不上 还需要运行以下命令
grant all on hive.* TO 'hive'@'hadoop.SlaveT1' IDENTIFIED BY 'hive';
5.安装ambari服务
yum install -y epel-release
yum install ambari-server
//自己下载jdk-6u31-linux-x64.bin,放在/var/lib/ambari-server/resources下面 ,就免得它自己下了,速度老慢了。。
ambari-server setup
我的ambari数据库账号密码全是ambari
安装完毕之后启动ambari服务 ambari-server start
登陆ambari,账号密码都是admin http://localhost:8080 然后开始安装,安装过程当中一定要注意jdk的目录是/usr/jdk64/1.6.0_31,安装的时候它默认给出来的jdk的不对,装到最后集群也用不了。。
未完待续!
- MAC使用adb工具
- 并发编程之master-worker模式
- Android WebView全面总结
- Url参数中出现+、空格、=、%、&、#等字符的解决办法
- 解决CSS垂直居中的几种方法(基于绝对定位,基于视口单位,Flexbox方法)
- Go语言学习之cgo(golang与C语言相互调用)
- golang之旅--数据类型之字符串
- Android保存图片到系统图库
- 基于Vue.js的大型报告页项目实现过程及问题总结(二)
- 使用Hexo搭建专属Blog
- Android项目中文字乱码问题
- golang中发送http请求的几种常见情况
- 注册中心 Eureka 源码解析 —— Eureka-Server 启动(一)之 ServerConfig
- lua表排序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 快速搭建简易、高效、多线程http服务器
- Linux解压文件到指定目录的方法
- Linux系统中CPU占用率较高问题排查思路与解决方法
- linux中ftp服务搭建需要注意的地方
- CentOS下使用LibreOffice实现文档格式的转换方式
- 详解在Linux中怎么使用cron计划任务
- Linux系统删除文件夹和文件的命令
- 详解Linux防火墙iptables禁IP与解封IP常用命令
- 在Ubuntu 16.04 Server上安装Zabbix的方法
- Centos7.3安装部署最新版Zabbix3.4的方法(图文)
- Linux系统下移植busybox中mkfs.vfat命令
- Linux服务器配置ip白名单防止远程登录以及端口暴露的问题
- Ubuntu上释放空间的5种简单方法
- Linux下Redis允许远程连接的实现方法
- Linux Socket 编程简介和实现