安装部署节点规划

节点

kudu-master

kudu-tserver

node01

node02

node03

配置本地Yum的Repository

下载kudu安装yum源。并配置安装yum源

解压yum源文件到指定目录

[root@hadoop03 soft]# tar zxvf cdh5.14.0-centos6.tar.gz -C /usr/local/

镜像源是centos当中下载相关软件的地址,我们可以通过制作我们自己的镜像源指定我们去哪里下载kudu的rpm包,这里我们使用httpd这个软件来作为服务端,启动httpd的服务来作为我们镜像源的下载地址 这里我们选用第三台机器作为镜像源的服务端node3机器上执行以下命令:

[root@hadoop03 soft]# yum install -y httpd

[root@hadoop03 soft]# service httpd start

[root@hadoop03 soft]# cd /etc/yum.repos.d

[root@hadoop03 yum.repos.d]# vim localimp.repo

[localimp]

name=localimp

baseurl=http://node03/cdh5.14.0

gpgcheck=0

enabled=1

将node3上制作好的localimp配置文件发放到所有需要kudu的节点上去

[root@hadoop03 yum.repos.d]# scp -r localimp.repo node01:$PWD

[root@hadoop03 yum.repos.d]# scp -r localimp.repo node02:$PWD

创建apache httpd的读取连接

[root@hadoop03 ~]# ln -s /usr/local/cdh/5.14.0 /var/www/html/cdh5.14.0

页面访问本地yum源,出现这个界面表示本地yum源制作成功 访问http://node03/cdh5.14.0

安装kudu

使用yum命令,在不同的服务器下载对应的服务

[root@hadoop01 ~]# yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel

[root@hadoop02 ~]# yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel

[root@hadoop03 ~]# yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel

命令说明:

yum install kudu # Kudu的基本包

yum install kudu-master # KuduMaster

yum install kudu-tserver # KuduTserver

yum install kudu-client0 #Kudu C ++客户端共享库

yum install kudu-client-devel # Kudu C ++客户端共享库 SDK

配置master和tserver节点

[root@hadoop01 kudu]# cd /etc/kudu/conf/

修改master.gflagfile

[root@hadoop01 conf]# vim master.gflagfile

# cat /etc/kudu/conf/master.gflagfile

# Do not modify these two lines. If you wish to change these variables,

# modify them in /etc/default/kudu-master.

--fromenv=rpc_bind_addresses

--fromenv=log_dir

--fs_wal_dir=/export/servers/kudu/master

--fs_data_dirs=/export/servers/kudu/master

--master_addresses=node01:7051,node02:7051,node03:7051

修改tserver.gflagfile

[root@hadoop01 conf]# vim tserver.gflagfile

# Do not modify these two lines. If you wish to change these variables,

# modify them in /etc/default/kudu-tserver.

--fromenv=rpc_bind_addresses

--fromenv=log_dir

--fs_wal_dir=/export/servers/kudu/tserver

--fs_data_dirs=/export/servers/kudu/tserver

--tserver_master_addrs=node01:7051,node02:7051,node03:7051

修改 /etc/default/kudu-master

[root@hadoop01 conf]# vim /etc/default/kudu-master

export FLAGS_log_dir=/var/log/kudu

#每台机器的master地址要与主机名一致,这里是在node01上

export FLAGS_rpc_bind_addresses=node01:7051

修改 /etc/default/kudu-tserver

[root@hadoop01 conf]# vim /etc/default/kudu-tserver

export FLAGS_log_dir=/var/log/kudu

#每台机器的tserver地址要与主机名一致,这里是在node01上

export FLAGS_rpc_bind_addresses=node01:7050

修改完成后的上述配置文件分发到其他服务器上

[root@hadoop01 default]# cd /etc/kudu/conf

[root@hadoop01 conf]# scp -r master.gflagfile tserver.gflagfile node02:$PWD

[root@hadoop01 conf]# scp -r master.gflagfile tserver.gflagfile node03:$PWD

[root@hadoop01 conf]# cd /etc/default/

[root@hadoop01 default]# scp -r kudu-master kudu-tserver node02:$PWD

[root@hadoop01 default]# scp -r kudu-master kudu-tserver node03:$PWD

修改node02服务器上的配置文件

[root@hadoop02 conf]# cd /etc/default/

[root@hadoop02 default]# vim kudu-master

export FLAGS_log_dir=/var/log/kudu

export FLAGS_rpc_bind_addresses=node02:7051

[root@hadoop02 default]# vim kudu-tserver

export FLAGS_log_dir=/var/log/kudu

export FLAGS_rpc_bind_addresses=node02:7050

修改node03服务其上的配置文件

[root@hadoop03 ~]# cd /etc/default/

[root@hadoop03 default]# vim kudu-master

export FLAGS_log_dir=/var/log/kudu

export FLAGS_rpc_bind_addresses=node03:7051

[root@hadoop03 default]# vim kudu-tserver

export FLAGS_log_dir=/var/log/kudu

export FLAGS_rpc_bind_addresses=node03:7050

在三台服务器上分别创建配置存储数据目录并修改权限

[root@hadoop01 default]# mkdir -p /var/lib/kudu

[root@hadoop01 default]# chmod –R kudu:kudu /var/lib/kudu

[root@hadoop02 default]# mkdir -p /var/lib/kudu

[root@hadoop02 default]# chmod –R kudu:kudu /var/lib/kudu

[root@hadoop03 default]# mkdir -p /var/lib/kudu

[root@hadoop03 default]# chmod –R kudu:kudu /var/lib/kudu

注意

kudu默认用户就是KUDU,所以需要将/var/lib/kudu权限修改成kudu

[root@hadoop01 conf]# chown -R kudu:kudu /var/lib/kudu

(如果使用的是普通的用户,那么最好配置sudo权限)/etc/sudoers文件中添加:

kudu集群启动时需要ntp服务进行时间同步,在kudu启动前需要在三台服务器上安装ntp服务进行时间同步

[root@hadoop01 ~]# yum -y install ntp #安装ntp服务

[root@hadoop01 ~]# service ntpd start #启动ntp服务

[root@hadoop01 ~]# chkconfig ntpd on #设置开机启动

[root@hadoop02 ~]# yum -y install ntp #安装ntp服务

[root@hadoop02 ~]# service ntpd start #启动ntp服务

[root@hadoop02 ~]# chkconfig ntpd on #设置开机启动

[root@hadoop03 ~]# yum -y install ntp #安装ntp服务

[root@hadoop03 ~]# service ntpd start #启动ntp服务

[root@hadoop03 ~]# chkconfig ntpd on #设置开机启动

启动kudu集群

[root@hadoop01 ~]# service kudu-master start

[root@hadoop01 ~]# service kudu-tserver start

[root@hadoop02 ~]# service kudu-master start

[root@hadoop02 ~]# service kudu-tserver start

[root@hadoop03 ~]# service kudu-master start

[root@hadoop03 ~]# service kudu-tserver start

启动集群后访问地址http://node01:8051/显示下图所示

关闭kudu集群

[root@hadoop01 ~]# service kudu-master stop

[root@hadoop01 ~]# service kudu-tserver stop

[root@hadoop02 ~]# service kudu-master stop

[root@hadoop02 ~]# service kudu-tserver stop

[root@hadoop03 ~]# service kudu-master stop

[root@hadoop03 ~]# service kudu-tserver stop

部署常见问题

启动kudu的时候报错

Failed to start Kudu Master Server. Return value: 1 [FAILED]

去日志文件中查看:

错误:F0810 09:04:08.354552 4866 master_main.cc:68] Check failed: _s.ok() Bad status:Service unavailable: Cannot initialize clock: Error reading clock. Clock considered

Unsynchronized

解决:

第一步:首先检查是否有安装ntp:如果没有安装则使用以下命令安装:

yum -y install ntp

第二步:设置随机启动:

service ntpd start

chkconfig ntpd on

启动过程中报错

F0810 21:31:12.620932 20143 master_main.cc:71] Check failed: _s.ok() Bad status:

Invalid argument: Unable to initialize catalog manager: Failed to initialize sys tables

async: on-disk master list

解决:

(1):停掉master和tserver

(2):删除掉之前所有的/export/servers/kudu/master/*和/export/servers/kudu/tserver/*

启动过程中报错

F0913 15:12:00.628237 20859 master_main.cc:74] Check failed: _s.ok() Bad status: IO

error: Could not create new FS layout: unable to create file system roots: unable to

write instance metadata: Call to mkstemp() failed on name template

/export/servers/kudu/master/instance.kudutmp.XXXXXX: Permission denied (error 13)

这是因为kudu默认使用kudu权限进行执行,可能遇到文件夹的权限不一致情况,更改文件夹权限即可

kudu安装部署的更多相关文章

  1. Kudu安装(官网推荐的步骤)(installing Kudu using parcels or packages)

    不多说,直接上干货! Kudu安装前的建议说明(博主推荐) Kudu官网推荐的步骤: 本篇博文是installing Kudu using parcels or packages的方式. http:/ ...

  2. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  3. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  4. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  5. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  6. C# winform安装部署(转载)

    c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...

  7. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

  8. 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0

    新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...

  9. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

随机推荐

  1. springboots 环境搭建

    1.创建demo文件 spring initializr : http://start.spring.io/ 2.gradle 下载 https://services.gradle.org/distr ...

  2. 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(四)——对 run.py 的调整

    使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(一)——创建应用 使用 Flask 框架写用户登录功能的Demo时碰到的各种坑(二)——使用蓝图功能进行模块化 使用 Flask 框架写用 ...

  3. FineUI表格、窗体、按钮组及事件

    //表格 @(F.Grid().IsFluid(true).CssClass("blockpanel").Title("表格").ShowHeader(true ...

  4. C#:ORM--实体框架EF(entity framework)(1)

    本文来自:http://www.cnblogs.com/xuf22/articles/5513283.html 一.什么是ORM ORM(Object-relational mapping),中文翻译 ...

  5. VB/C#获取资源Rources

    VB.Net: My.Resources.ResourceManager.GetObject("data") C# Properties.Resources.文件名

  6. 我用ASP.NET缓存之OutputCache

    [我的理解]页面缓存常用在网站上.Web应用系统上也用,但由于Web系统常与数据库打交道.时效性要求蛮强的,所以是否能用缓存得具体情况具体分析(很喜欢这句话“具体情况具体分析”,很符合国人的中庸之道) ...

  7. (mysql)找不到请求的 .Net Framework Data Provider。可能没有安装

    webconfig配置以下节点(注意版本号) <system.data> <DbProviderFactories> <add name="MySQL Data ...

  8. border-radius 移动之伤

    border-radius我相信对于老一辈的前端们有着特殊的感情,在经历了没有圆角的蛮荒时代,到如今 CSS3 遍地开花,我们还是很幸福的. 然而即使到了三星大脸流行时代,border-radius在 ...

  9. [WEB面试题] web前端面试题JavaScript第一弹,个人整理部分面试题汇总

    以下内容仅供参考,成年人不讲对错只讲利弊 1.什么是JavaScript原型链?如何理解 JavaScript中的每个对象都有一个prototype属性,我们称之为原型 原型的值是一个对象有自己的原型 ...

  10. HTML5和IOS、Android之间的交互

    HTML5向IOS.Android传参: html给native传参需要注意三点: 1.判断终端设备,一般我们都是双系统开发,android和ios语言又不一样:我们需要用不同的方法给他们传递参数: ...