本次记录为在线安装kudu,需要所有机器联网。本次安装机器为三台虚拟机:
master节点:
- 192.168.20.133
tserver节点
- 192.168.20.133
- 192.168.20.134
- 192.168.20.135
所有节点最好关闭防火墙,或打开特定端口,否则读取tablet可能会出问题
所有节点配置NTP服务
NTP服务即Network Time Protocol网络时间服务,是用来同步集群中各个服务器的时间的协议。如果集群中的各个主机时间不同步可能会产生各种问题。
本集群中选择使用192.168.20.133主节点为时钟同步服务器,其他节点为客户端同步时间到该节点。
安装NTP
每个节点执行:
yum -y install ntp
修改配置文件
-
每个节点执行
vi /etc/ntp.conf
注释掉以下四行:
#server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst
-
修改192.168.20.133节点上的配置文件
vi /etc/ntp.conf
加入如下内容
restrict 192.168.20.0 mask 255.255.255.0 notrap nomodify # 给192.168.20.0网段,子网掩码为255.255.255.0的局域网机的机器有同步时间的权限 server 192.168.20.133 prefer # prefer代表优先使用此ip做同步 server 127.127.1.0 # 当所有服务器都不能使用时,使用本机作为同步服务器 fudge 127.127.1.0 stratum 10
-
修改192.168.20.134和192.168.20.135节点上的配置文件
vi /etc/ntp.conf
加入以下内容
server 192.168.20.133 prefer server 127.127.1.0 fudge 127.127.1.0 stratum 10
启动NTP服务
service ntpd start
chkconfig ntpd on
检验
检查ntp服务是否成功输入:ntpstat
输出如下则启动成功并且同步已完成
synchronised to local net at stratum 11
time correct to within 11 ms
polling server every 64 s
安装kudu
本步骤操作需要每个节点都执行
安装依赖
yum -y install cyrus-sasl-plain lsb
配置kudu的yum源
cd /etc/yum.repos.d
如果为CentOS6或RHEL 6,则执行:
wget http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/cloudera-kudu.repo
如果为CentOS7或 RHEL 7 ,则执行:
wget http://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/cloudera-kudu.repo
下载安装kudu
yum install kudu kudu-master kudu-tserver kudu-client0 kudu-client-devel -y
配置并启动kudu
安装完成,在/etc/kudu/conf目录下有两个文件:master.gflagfile和tserver.gflagfile
本文使用192.168.20.133作为kudu-master,192.168.20.133、192.168.20.134和192.168.20.135作为kudu-tserver节点
所以192.168.20.133节点需要修改master.gflagfile和tserver.gflagfile文件,而192.168.20.134和192.168.20.135只需要修改tserver.gflagfile文件
-
修改kudu-master启动配置
vi /etc/default/kudu-master
修改以下内容,主要是修改ip:
export FLAGS_rpc_bind_addresses=192.168.20.133:7051
-
修改每个节点的kudu-tserver启动配置
vi /etc/default/kudu-tserver
修改以下内容,主要是修改ip为当前节点ip
export FLAGS_rpc_bind_addresses=192.168.20.133:7050
-
master.gflagfile的配置修改
--fromenv=rpc_bind_addresses --fromenv=log_dir --fs_wal_dir=/data/lib/kudu/master --fs_data_dirs=/data/lib/kudu/master --default_num_replicas=1 # 此参数可以调整备份数量,默认为3
-
tserver.gflagfile 的配置修改
--fromenv=rpc_bind_addresses --fromenv=log_dir --fs_wal_dir=/data/lib/kudu/tserver --fs_data_dirs=/data/lib/kudu/tserver --tserver_master_addrs=192.168.20.133:7051 # 此参数指定master
注意,这里的–tserver_master_addrs指明了集群中master的地址,指向同一个master的tserver形成了一个kudu集群
-
创建master.gflagfile和tserver.gflagfile文件中指定的目录,并将所有者更改为kudu,执行如下命令:
mkdir -p /data/lib/kudu/master /data/lib/kudu/tserver chown -R kudu:kudu /data/lib/kudu/
-
修改 /etc/security/limits.d/90-nproc.conf 文件,解除kudu用户的线程限制
vi /etc/security/limits.d/90-nproc.conf
加入以下两行内容
kudu soft nproc unlimited impala soft nproc unlimited
-
启动kudu
master节点(192.168.20.133)执行:
service kudu-master start service kudu-tserver start
192.168.20.134和192.168.20.135执行:
service kudu-tserver start
验证kudu集群是否可用
下载kudu可视化管理工具:访问链接,页面底部下载kudu-plus。
通过连接、创建表、添加数据和检索数据等操作即可测试集群是否可用。