天天看点

安装配置Kudu背景下载kudu包安装kudu3 配置Kudu4 安装过程中的坑

背景

Kudu安装起来,看似不难,配置文件也就那么4个,每个配置文件需要配的配置也就两三个,但是很容易出现问题。我的Kudu安装也是历经了各种艰辛,才勉强起来的,中间发生的错误,忘了记录。现把中间需要注意的步骤做个记录备忘。

下载kudu包

https://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/5.12.2/RPMS/x86_64/

Name Last Modified Size
Parent Directory
kudu-1.4.0+cdh5.12.2+0-1.cdh5.12.2.p0.8.el7.x86_64.rpm 2017-12-12 13:45 59.1 MB
kudu-client-devel-1.4.0+cdh5.12.2+0-1.cdh5.12.2.p0.8.el7.x86_64.rpm 2017-12-12 13:45 53.2 KB
kudu-client0-1.4.0+cdh5.12.2+0-1.cdh5.12.2.p0.8.el7.x86_64.rpm 2017-12-12 13:45 3.7 MB
kudu-debuginfo-1.4.0+cdh5.12.2+0-1.cdh5.12.2.p0.8.el7.x86_64.rpm 2017-12-12 13:46 208.7 MB
kudu-master-1.4.0+cdh5.12.2+0-1.cdh5.12.2.p0.8.el7.x86_64.rpm 2017-12-12 13:45 5.6 KB
kudu-tserver-1.4.0+cdh5.12.2+0-1.cdh5.12.2.p0.8.el7.x86_64.rpm 2017-12-12 13:45 5.7 KB

下载好这6个rpm包

安装kudu

kudu集群角色列表

节点 角色
cdh02 kudu-master              kudu-tserver
cdh03 kudu-master              kudu-tserver
cdh04 kudu-master              kudu-tserver
cdh05                                   kudu-tserver

将下载好的rpm包放到所有节点上的某个目录下,我这里是/opt/sotfwares/kudu

在所有节点上,进入到安装包目录/opt/sotfwares/kudu, 执行 sudo rpm -ivh --nodeps *,等待安装完成

3 配置Kudu

3.1 配置4个配置文件

1 /etc/default/kudu-master

  该配置文件说明,当前节点启动kudu-master角色时,它的日志目录,和自己绑定的地址和端口(每个节点都配置)

export FLAGS_log_dir=/var/log/kudu
# 各个节点绑定的是自己的主机名和端口
export FLAGS_rpc_bind_addresses=cdh02:7051
           

2 /etc/default/kudu-tserver 

该配置文件说明,当前节点启动kudu-tserver角色时,它的日志目录,和自己绑定的地址和端口(每个节点都配置)

export FLAGS_log_dir=/var/log/kudu
# 各节点绑定自己的主机名(ip) 和 端口
export FLAGS_rpc_bind_addresses=cdh02:7050
           

3 /etc/kudu/conf/master.gflagfile

该配置文件说明,当前节点所属集群的master节点信息,以及master wal日志目录,和data目录,同一个集群内各节点的该配置相同

--fromenv=rpc_bind_addresses
--fromenv=log_dir

# 重点关注下面3各配置
# 该kudu集群所有的master节点主机名列表,同一个集群内各节点该配置相同
--master_addresses=cdh02,cdh03,cdh04
--fs_wal_dir=/var/lib/kudu/master/wal
--fs_data_dirs=/var/lib/kudu/master/data
           

4 /etc/kudu/conf/tserver.gflagfile

该配置文件说明,当前节点启动kudu-tserver角色时,需要rpc通信的master列表地址,以及tserver wal日志目录,和data目录,

同一个集群内各节点的该配置相同

--fromenv=rpc_bind_addresses
--fromenv=log_dir

# 重点关注下面3个配置
--fs_wal_dir=/var/lib/kudu/tserver/wal
--fs_data_dirs=/var/lib/kudu/tserver/data
# 集群tserver角色与集群master通信的地址,同一集群各节点该配置相同
--tserver_master_addrs=cdh02:7051,cdh03:7051,cdh04:7051
           

说明:1,2配置文件集群内各节点不一样,3,4配置文件,集群内各节点一致

3.2 创建wal,data目录

上面的配置文件中,涉及到4个目录,master,tserver的wal和data目录

mkdir -p /var/lib/kudu/master/wal 
mkdir -p /var/lib/kudu/master/data 
mkdir -p /var/lib/kudu/tserver/wal 
mkdir -p /var/lib/kudu/tserver/data
           

3.3 配置kudu用户

由于上面是在root用户权限下操作的,而kudu运行时以kudu用户权限运行的,因此需要为kudu用户配置文件目录权限,和bash权限

1 各节点执行 chown -R kudu:kudu /var/lib/kudu

2 配置kudu bash权限

vim /etc/passwd

kudu:x:984:982:Kudu:/var/lib/kudu:/sbin/nologin
           

改为

kudu:x:984:982:Kudu:/var/lib/kudu:/bin/bash
           

3.4 启动kudu

cdh02,cdh03,cdh04 这3个节点执行service kudu-master start

cdh02,cdh03,cdh04,cdh05 这4个节点执行service kudu-tserver start

3.5 访问kudu Web UI

访问 http://cdh04:8051/ 验证kudu是否安装成功

安装配置Kudu背景下载kudu包安装kudu3 配置Kudu4 安装过程中的坑

查看master节点

安装配置Kudu背景下载kudu包安装kudu3 配置Kudu4 安装过程中的坑

查看tservers

安装配置Kudu背景下载kudu包安装kudu3 配置Kudu4 安装过程中的坑

这说明,kudu安装成功了!

4 安装过程中的坑

安装并非一帆风顺,期间遇到一些坑,还记得其中2个,记录一下

4.1 /lib/lsb/init-functions no such file or directory

在kudu启动服务时,出现的这个错,这主要是机器缺少redhat-lsb模块

所有kudu节点执行yum install redhat-lsb

4.2 unable to find SASL plugin: PLAIN

在启动kudu-master后,当时看着时启动成功的,一会kudu-master服务就不见了。查看kudu-master日志

from cdh02:7051 timed out after 30000 ms.: Invalid argument: Client connection negotiation failed: client connection to 192.168.60.112:7051: unable to find SASL plugin: PLAIN
F0626 10:52:20.479631 20799 master_main.cc:71] Check failed: _s.ok() Bad status: Timed out: Unable to initialize catalog manager: Failed to initialize sys tables async: Failed to create new distributed Raft config: Unable to resolve UUID for peer member_type: VOTER last_known_addr { host: "cdh02" port: 7051 }: Getting permanent uuid from cdh02:7051 timed out after 30000 ms.: Invalid argument: Client connection negotiation failed: client connection to 192.168.60.112:7051: unable to find SASL plugin: PLAIN
           

还是缺少插件模块导致的,执行如下2条命令

yum install gcc python-devel

yum install cyrus-sasl*
           

安装完这些模块后,需要将所有节点的kudu-master和tserver的wal和data目录清空,

rm -rf /var/lib/kudu/master/wal/* 
rm -rf /var/lib/kudu/master/data/* 
rm -rf /var/lib/kudu/tserver/wal/* 
rm -rf /var/lib/kudu/tserver/data/*
           

然后执行启动服务命令。这样kudu才能正常启动

继续阅读