Kudu的集群安装(1.6.0-cdh5.14.0)
kudu的架构体系
下图显示了一个具有三个 master 和多个 tablet server 的 Kudu 集群,每个服务器都支持多个 tablet。它说明了如何使用 Raft 共识来允许 master 和 tablet server 的 leader 和 f ollow。此外,tablet server 可以成为某些 tablet 的 leader,也可以是其他 tablet 的 follower。leader 以金色显示,而 follower 则显示为蓝色。
下面是一些基本概念:
- Table(表)
- 一张 talbe 是数据存储在 Kudu 的位置。表具有 schema 和全局有序的 primary key(主键)。table 被分成称为 tablets 的 segments。
- Tablet
- 一个 tablet 是一张 table 连续的 segment,与其它数据存储引擎或关系型数据库中的 partition(分区)相似。给定的 tablet 冗余到多个 tablet 服务器上,并且在任何给定的时间点,其中一个副本被认为是 leader tablet。任何副本都可以对读取进行服务,并且写入时需要在为 tablet 服务的一组 tablet server之间达成一致性。
- Tablet Server
- 一个 tablet server 存储 tablet 和为 tablet 向 client 提供服务。对于给定的 tablet,一个 tablet server 充当 leader,其他 tablet server 充当该 tablet 的 follower 副本。只有 leader服务写请求,然而 leader 或 followers 为每个服务提供读请求。leader 使用 Raft Consunsus Algorithm来进行选举 。一个 tablet server 可以服务多个 tablets ,并且一个 tablet 可以被多个 tablet servers 服务着。
kudu的集群安装
节点规划
- 节点 Kudu-master Kudu-tserver
- Hadoop01 是 是
- Hadoop02 是 是
- Hadoop03 是 是
配置本地的CDH-yum源
所有cloudera软件下载地址:
- http://archive.cloudera.com/cdh5/cdh/5/
- 或者http://archive.cloudera.com/cdh5/
1):上传压缩包并解压
5个G的压缩文件上传/yumData目录下,并进行解压
- cd /yumData/
- tar -zxvf cdh5.14.0-centos6.tar.gz
2):制作本地yum源
镜像源是centos当中下载相关软件的地址,我们可以通过制作我们自己的镜像源指定我们去哪里下载impala的rpm包,这里我们使用httpd这个软件来作为服务端,启动httpd的服务来作为我们镜像源的下载地址 这里我们选用第三台机器作为镜像源的服务端 node03机器上执行以下命令:
- yum -y install httpd
- service httpd start
- cd /etc/yum.repos.d
vim localimp.repo
- [localimp]
- name=localimp
- baseurl=http://hadoop01/5.14.0
- gpgcheck=
- enabled=
创建apache httpd的读取连接
- setenforce
- ln -s /yumData/cdh/5.14. /var/www/html/
- (删除软连接方式):rm -rf ./5.14.
- (错误删除方式):rm -rf ./5.14./
页面访问本地yum源,出现这个界面表示本地yum源制作成功 访问http://hadoop01/5.14.0/
将制作好的localimp配置文件发放到所有需要安装impala的节点上去
- cd /etc/yum.repos.d/
- scp localimp.repo hadoop02:$PWD
- scp localimp.repo hadoop03:$PWD
下载命令:
- sudo yum install kudu # Base Kudu files
- sudo yum install kudu-master # Kudu master init.d service script and default configuration
- sudo yum install kudu-tserver # Kudu tablet server init.d service script and default configuration
- sudo yum install kudu-client0 # Kudu C++ client shared library
- sudo yum install kudu-client-devel # Kudu C++ client SDK
3):安装
在不同的节点上下载不同的kudu进程即可;
参照我的服务器:
- 服务器 命令
- hadoop01 yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel
- hadoop02 yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel
- hadoop03 yum install -y kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel
配置master和tserver节点
安装完成之后。 需要在所有节点的/etc/kudu/conf目录下有两个文件:master.gflagfile和tserver.gflagfile 。
默认配置(不采用):
master.gflagfil
- # 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=/opt/kudu/master
- --fs_data_dirs=/opt/kudu/master
tserver.gflagfile::
- # cat /etc/kudu/conf/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=/opt/kudu/tserver
- --fs_data_dirs=/opt/kudu/tserver
自定义配置:(每一台节点) 在所有节点操作如下:
1):配置master
master.gflagfil:
- [angel@angel1 kudu]$ vim /etc/default/kudu-master
- export FLAGS_log_dir=/var/log/kudu
- export FLAGS_rpc_bind_addresses=hadoop01: 【指定每台主机】
[angel@angel1 kudu]$ vim /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=/opt/cdh/kudu/master
- --fs_data_dirs=/opt/cdh/kudu/master
- --master_addresses=hadoop01:,hadoop02:,hadoop03:
2):配置tserver
tserver.gflagfile: [angel@angel1 kudu]$ vim /etc/default/kudu-tserver
- export FLAGS_log_dir=/var/log/kudu
- export FLAGS_rpc_bind_addresses=hadoop01:【指定每台主机】
[angel@angel1 kudu]$ vim /etc/kudu/conf/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=/opt/cdh/kudu/tserver
- --fs_data_dirs=/opt/cdh/kudu/tserver
- --tserver_master_addrs=hadoop01:,hadoop02:,hadoop03:
注意
- kudu的默认权限是kudu , 所以如果使用root用户的话,需要将/opt/cdh/kudu的权限修改为kudu
- drwxr-xr-x. kudu kudu Nov : kudu
- 配置完成后,将配置文件tserver.gflagfile、tserver.gflagfile 以及自定义目录:/opt/cdh/kudu的权限修改为当前使用用户的权限(chown -R angel:angel XXXXX)【如果是普通用户】
- 另外:如果使用普通用户,需要为普通用户配置sudo权限:
- /etc/sudoers文件中添加
/etc/sudoers文件中添加:
注意:kudu的日志文件需要定期清理,否则占用磁盘空间非常大(/var/log/kudu目录)
启动和关闭kudu
方式1: 启动:
- sudo service kudu-master start
- sudo service kudu-tserver start
启动的时候注意服务器时钟是同步 :
/etc/init.d/ntpd restart
关闭:
- sudo service kudu-master stop
- sudo service kudu-tserver stop
方式2: 启动:
- sudo /etc/init.d/kudu-master start
- sudo /etc/init.d/kudu-tserver start
关闭:
- sudo /etc/init.d/kudu-master stop
- sudo /etc/init.d/kudu-tserver stop
安装过成中可能出现的问题
1:给用户添加sudo权限的时候报错
- sudo: /etc/sudoers is world writable
- 解决方式:pkexec chmod /etc/sudoers
2:启动kudu的时候报错
- Failed to start Kudu Master Server. Return value: [FAILED]
- 去日志文件中查看:
- 错误:F0810 ::08.354552 master_main.cc:] 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
3:启动过程中报错
- F0810 ::12.620932 master_main.cc:] Check failed: _s.ok() Bad status: Invalid argument: Unable to initialize catalog manager: Failed to initialize sys tables async: on-disk master list
- 解决:
- ():停掉master和tserver
- ():删除掉之前所有的/opt/cdh/kudu/master/*和/opt/cdh/kudu/tserver/*
4:启动过程中报错:
- F0913 ::00.628237 master_main.cc:] 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 /opt/cdh/kudu/master/instance.kudutmp.XXXXXX: Permission denied (error )
- 这是因为kudu默认使用kudu权限进行执行,可能遇到文件夹的权限不一致情况,更改文件夹权限即可
kudu的图形界面
Master的web地址:http://hadoop01:8051/masters
Tserver的web地址:http://hadoop01:8051/tablet-servers
Kudu的集群安装(1.6.0-cdh5.14.0)的更多相关文章
- K8s集群安装--最新版 Kubernetes 1.14.1
K8s集群安装--最新版 Kubernetes 1.14.1 前言 网上有很多关于k8s安装的文章,但是我参照一些文章安装时碰到了不少坑.今天终于安装好了,故将一些关键点写下来与大家共享. 我安装是基 ...
- [转帖]K8s集群安装--最新版 Kubernetes 1.14.1
K8s集群安装--最新版 Kubernetes 1.14.1 http://www.cnblogs.com/jieky/p/10679998.html 原作者写的比较简单 大略流程和跳转的多一些 改天 ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录
CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录: 0.Windows 10本机下载Xshell,以方便往Linux主机上上传大文件 1.CentOS7+CDH5.14.0安 ...
- 菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章
菜鸟玩云计算之十八:Hadoop 2.5.0 HA 集群安装第1章 cheungmine, 2014-10-25 0 引言 在生产环境上安装Hadoop高可用集群一直是一个需要极度耐心和体力的细致工作 ...
- CentOS下Hadoop-2.2.0集群安装配置
对于一个刚开始学习Spark的人来说,当然首先需要把环境搭建好,再跑几个例子,目前比较流行的部署是Spark On Yarn,作为新手,我觉得有必要走一遍Hadoop的集群安装配置,而不仅仅停留在本地 ...
- redis3.0.0 集群安装详细步骤
Redis集群部署文档(centos6系统) Redis集群部署文档(centos6系统) (要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对 ...
- hadoop2.20.0集群安装教程
一.安装的需要软件及集群描述 1.软件: Vmware9.0:虚拟机 Hadoop2.2.0:Apache官网原版稳定版本 JDK1.7.0_07:Oracle官网版本 Ubuntu12.04LTS: ...
- Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装
Storm-1.0.1+ZooKeeper-3.4.8+Netty-4.1.3 HA集群安装 下载Storm-1.0.1 http://mirrors.tuna.tsinghua.edu.cn/apa ...
- hadoop 2.2.0集群安装
相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...
随机推荐
- 外网zabbix-server使用主动模式监控公司内网windows服务器
外网zabbix-server使用主动模式监控公司内网windows服务器 1.Zabbix Agent active批量调整客户端为主动模式监控将Template OS Windows模板调整为主动 ...
- Directory 中user Var 如何添加到通道变量中?
FS默认的配置,ACL 是 拒绝的,只能通过 Digest 的方式进行认证,一旦认证成功之后,directory 中的 var 就能在通道中通过${} 的方式获取到. 如果ACL 认证通过 ,就直接走 ...
- python学习第3天
03 int 十进制与二进制之间的转换04 bool 05 str python中凡是用引号引起来的都是字符串 1,存储相对少量的数据. 2,描述信息. 1,bool str int 三者之间的转换 ...
- [C]变量作用域
函数环境变量作用域 C语言栈环境变量作用域跟JS是类似的. 就是内部函数可以访问外部函数的执行(栈)环境变量. 当访问一个变量时,程序将会查询当前栈环境是否存在这个变量,如果没有,将会往上层栈环境继续 ...
- axis1 创建service服务端 , axis1 客户端
axis1 服务端配置 1.首先建立一个项目 axisTest 不需多说 2.在lib下放入需要的jar包 点击下载 :axis所需的jar包下载 3.然后需要在web.xml里面加入: <s ...
- Android 设备的CPU类型(通常称为”ABIs”)
armeabiv-v7a: 第7代及以上的 ARM 处理器.2011年15月以后的生产的大部分Android设备都使用它. arm64-v8a: 第8代.64位ARM处理器,很少设备,三星 Galax ...
- 大数据mapreduce二分法ip定位之Python实现
ip定位数据大约12M,采用-chacheFile 分发 文件来源https://pan.baidu.com/s/1J0pwTafHgt4T0k3vV_gC-A 格式大致格式如下: 0.0.0.0 0 ...
- ios 手机端 input 框上方有内阴影
解决方案 方法1: <!--如果 ui 样式里有边框,可以用外层盒子设置边框--> input{ border:none; } 方法2: //在IOS下,input 和textarea表单 ...
- robot启动
可以这句写入到bat文件里 pythonw.exe -c "from robotide import main; main()"
- Confluence 6 恢复一个站点
这个页面对如何从一个 XML 导出文件中恢复到一个已经存在的 Confluence 站点进行描述. 如果你希望导入数据倒一个新的站点,请参考 restoring from backup during ...