未加星标

Troubleshooting:重新安装Vertica建库后无法启动

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二04 | 时间 20160901 | 作者 红领巾 ] 0人收藏点击收藏

环境:RHEL6.5 + Vertica7.1.0-3

1.故障现象
2.重装集群
3.再次定位
4.解决问题
5.总结
1.故障现象
故障现象:Vertica集群安装成功,但是创建数据库后一直无法up.
具体报错输出如下:
Starting Vertica on all nodes. Please wait, databases with large catalogs may take a while to initialize.
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
Node Status: v_wnop_node0001: (DOWN)
ERROR: Database did not start cleanly on initiator node!
Stopping all nodes

进一步查看vertica日志:

[[email protected] v_wnop_node0001_catalog]# tail -f vertica.log
2016-09-07 15:19:07.018 unknown:0x7f298bac5700 [Txn] <INFO> Found my node (v_wnop_node0001) in the catalog
2016-09-07 15:19:07.018 unknown:0x7f298bac5700 [Txn] <INFO> Catalog info: version=0x1, number of nodes=1, permanent #=1, K=0
2016-09-07 15:19:07.018 unknown:0x7f298bac5700 [Txn] <INFO> Catalog info: current epoch=0x1
2016-09-07 15:19:07.018 unknown:0x7f298bac5700 [Catalog] <INFO> Catalog OID generator updated based on GLOBAL tier catalog
2016-09-07 15:19:07.018 unknown:0x7f298bac5700 [Init] <INFO> Catalog loaded
2016-09-07 15:19:07.018 unknown:0x7f298bac5700 [Comms] <INFO> About to launch spread with '/opt/vertica/spread/sbin/spread -c /data/verticadb/WNOP/v_wnop_node0001_catalog/spread.conf'
2016-09-07 15:19:07.019 unknown:0x7f298bac5700 [Comms] <INFO> forked spread pid=82427, wrote pidfile /data/verticadb/WNOP/v_wnop_node0001_catalog/spread.pid
2016-09-07 15:19:07.020 unknown:0x7f298bac5700 [Init] <INFO> Listening on port: 5433
2016-09-07 15:19:07.020 unknown:0x7f298bac5700 [Init] <INFO> About to fork
2016-09-07 15:19:07.021 unknown:0x7f298bac5700 [Init] <INFO> About to fork again
2016-09-07 15:19:07.023 unknown:0x7f298bac5700 [Init] <INFO> Completed forking
2016-09-07 15:19:07.023 unknown:0x7f298bac5700 [Init] <INFO> Startup [Connecting to Spread] Connecting to spread 4803
2016-09-07 15:19:37.039 unknown:0x7f298bac5700 [Init] <INFO> Spread daemon does not appear to be running on 192.168.1.105 -- exiting!
可以看到大概是spread进程在尝试连接4803端口时有什么样的问题,似乎spread进程压根没启动成功;
在检查各节点的防火墙和SElinux之后,都是关闭的状态,并未发现问题。
2.重装集群

前期准备脚本和互信,可参考:

Linux快速配置集群ssh互信 http://www.codesec.net/Linux/2016-09/135430.htm

重装集群(先彻底删除再安装)

--删除集群
--杀掉vertica相关进程
cluster_run_all_nodes "hostname;ps -ef|grep vertica |grep -v grep|awk '{print $2}'|xargs kill -9"
--删除vertica软件
cluster_run_all_nodes "hostname;rpm -e vertica"
--杀掉dbadmin相关进程
cluster_run_all_nodes "hostname;ps -ef|grep dbadmin |grep -v grep|awk '{print $2}'|xargs kill -9"
--删除之前创建的组和用户
cluster_run_all_nodes "hostname;id dbadmin"
cluster_run_all_nodes "hostname;groupdel verticadba"
cluster_run_all_nodes "hostname;userdel -r dbadmin"
--删除数据存储目录,软件安装目录
cluster_run_all_nodes "hostname;rm -rf /data/verticadb"
cluster_run_all_nodes "hostname;rm -rf /opt/vertica"
--创建数据存储目录
cluster_run_all_nodes "hostname;mkdir -p /data/verticadb"
--安装
--安装软件
cd /usr2
rpm -ivh vertica-7.1.0-3.x86_64.RHEL5.rpm
--安装集群
/opt/vertica/sbin/install_vertica -s 192.168.1.105,192.168.1.106,192.168.1.107,192.168.1.108 -r /usr2/vertica-7.1.0-3.x86_64.RHEL5.rpm --failure-threshold=HALT -u dbadmin -p vertica
--给数据存储目录赋予权限
cluster_run_all_nodes "hostname;chown -R dbadmin:verticadba /data/verticadb"
--建库
admintools建库

结果这样重装安装的环境,依旧报错,报错内容不变。

3.再次定位
# cluster_run_all_nodes "hostname; ls -lh /tmp/4803 "
vnode01
srw-rw-rw- 1 501 501 0 9月 7 09:54 /tmp/4803
vnode02
srw-rw-rw-. 1 501 501 0 9月 7 09:19 /tmp/4803
vnode03
srw-rw-rw-. 1 501 501 0 9月 7 09:19 /tmp/4803
vnode04
srw-rw-rw- 1 501 501 0 9月 7 09:14 /tmp/4803

可以看到/tmp/4803的所属用户和组都是未被识别的uid和gid,怀疑是否是这个问题影响,导致spread进程无法集群间通信。

4.解决问题

再次重装时,dbadmin用户和组的uid,gid有了变化,所以我们将这个文件也先删除掉。

cluster_run_all_nodes "hostname; rm -rf /tmp/4803"

此次环境dbadmin用户和组先统一:

--保持统一的uid gid
cluster_run_all_nodes "hostname;groupadd -g 700 verticadba"
cluster_run_all_nodes "hostname;useradd -g verticadba -u 700 dbadmin"

再次重装,建库时,跟踪/tmp/4083的状态,发现各节点/tmp/4803依次开始正常:

# cluster_run_all_nodes "hostname; ls -lh /tmp/4803 "
vnode01
srw-rw-rw- 1 dbadmin verticadba 0 9月 7 17:04 /tmp/4803
vnode02
ls: 无法访问/tmp/4803: 没有那个文件或目录
vnode03
ls: 无法访问/tmp/4803: 没有那个文件或目录
vnode04
ls: 无法访问/tmp/4803: 没有那个文件或目录

最终确定果然就是这个问题,最终建库成功。

5.总结
在重装Vertica集群时,需要关注 /tmp/4803是否权限有问题,否则会导致spread进程故障,进而导致整个库起不来。
各节点dbadmin用户的uid和gid尽量保持一致。

本文地址:http://www.codesec.net/Linux/2016-09/135429.htm


Troubleshooting:重新安装Vertica建库后无法启动

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

分页:12
转载请注明
本文标题:Troubleshooting:重新安装Vertica建库后无法启动
本站链接:http://www.codesec.net/view/481863.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(17)