非22端口如何使用tiup import 3.0 到 4.0

目前tidb 3.0.12,想使用 tiup升级到 4.0,在执行到这一步时出错,应该是因为ssh端口非22的原因,在初始安装tidb时,通过修改 ansible.cfg修改为23,我所有服务器均是这个端口。

tiup cluster import -d /home/tidb/tidb-ansible # 执行后出错,错误如下

Error: Failed to execute command over SSH for 'tidb@172.7.160.216:22' (executor.ssh.execute_failed)
  caused by: dial tcp 172.7.160.216:22: connect: connection refused

Verbose debug logs has been written to /root/logs/tiup-cluster-debug-2020-04-30-00-20-14.log.
Error: run `/root/.tiup/components/cluster/v0.6.0/cluster` (wd:/root/.tiup/data/RxZ7fnB) failed: exit status 1

[root@tidb9 ~]# cat /root/logs/tiup-cluster-debug-2020-04-30-00-20-14.log|more
2020-04-30T00:19:58.580+0800	INFO	Execute command	{"command": "tiup cluster import -d /home/tidb/tidb-ansible"}
2020-04-30T00:19:58.580+0800	DEBUG	Environment variables	{"env": ["TIUP_HOME=/root/.tiup", "TIUP_WORK_DIR=/root", "TIUP_INSTANCE_DATA_DIR=/root/.tiup/data/RxZ7fnB", "TIUP_COMPONENT_DATA_DIR=/root/.tiup/
storage/cluster", "TIUP_COMPONENT_INSTALL_DIR=/root/.tiup/components/cluster/v0.6.0", "TIUP_TAG=RxZ7fnB", "XDG_SESSION_ID=3846", "HOSTNAME=tidb9", "TERM=xterm", "SHELL=/bin/bash", "HISTSIZE=1000", "SSH_CLIENT=
39.88.203.196 64084 23", "QTDIR=/usr/lib64/qt-3.3", "QTINC=/usr/lib64/qt-3.3/include", "SSH_TTY=/dev/pts/1", "QT_GRAPHICSSYSTEM_CHECKED=1", "USER=root", "LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;3
5:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:
*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*
.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=
01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;
35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:
*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=
01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:", "MAIL=/var/spool/mail/root", "PATH=/root/.tiup/bin:/usr/lib64/qt-3.3/bin:/usr/lo
cal/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin", "PWD=/root", "LANG=zh_CN.UTF-8", "KDEDIRS=/usr", "HISTCONTROL=ignoredups", "SHLVL=1", "HOME=/root", "LOGNAME=root", "QTLIB=/usr/lib64/qt-3.3/lib", "XDG_DA
TA_DIRS=/root/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share", "SSH_CONNECTION=39.88.203.196 64084 110.42.6.9 23", "LESSOPEN=||/usr/bin/lesspipe.sh %s", "XDG_RUNT
IME_DIR=/run/user/0", "DISPLAY=localhost:12.0", "QT_PLUGIN_PATH=/usr/lib64/kde4/plugins:/usr/lib/kde4/plugins", "_=/root/.tiup/bin/tiup"]}
2020-04-30T00:19:58.580+0800	INFO	Found inventory file /home/tidb/tidb-ansible/inventory.ini, parsing...
2020-04-30T00:19:58.581+0800	INFO	Found cluster "zhuashitidb" (v3.0.12), deployed with user tidb.
2020-04-30T00:19:58.581+0800	WARN	TiDB-Ansible and TiUP Cluster can NOT be used together, please DO NOT try to use ansible to manage the imported cluster anymore to avoid metadata conflict.
2020-04-30T00:19:58.581+0800	INFO	The ansible directory will be moved to /root/.tiup/storage/cluster/clusters/zhuashitidb/ansible-backup after import.
2020-04-30T00:20:14.414+0800	INFO	Importing cluster...
2020-04-30T00:20:14.414+0800	DEBUG	Imported tidb node 172.7.160.216:4000.
2020-04-30T00:20:14.414+0800	DEBUG	Detecting deploy paths on 172.7.160.216...
2020-04-30T00:20:14.415+0800	INFO	ssh command	{"host": "172.7.160.216", "port": "22", "cmd": "PATH=$PATH:/usr/bin:/usr/sbin cat `grep 'ExecStart' /etc/systemd/system/tidb-4000.service | sed 's/ExecSt
art=//'`", "stdout": "", "stderr": ""}
2020-04-30T00:20:14.415+0800	INFO	Execute command finished	{"code": 1, "error": "executor.ssh.execute_failed: Failed to execute command over SSH for 'tidb@172.7.160.216:22' {ssh_stderr: , ssh_stdo
ut: , ssh_command: PATH=$PATH:/usr/bin:/usr/sbin cat `grep 'ExecStart' /etc/systemd/system/tidb-4000.service | sed 's/ExecStart=//'`}, cause: dial tcp 172.7.160.216:22: connect: connection refused", "errorVerb
ose": "executor.ssh.execute_failed: Failed to execute command over SSH for 'tidb@172.7.160.216:22' {ssh_stderr: , ssh_stdout: , ssh_command: PATH=$PATH:/usr/bin:/usr/sbin cat `grep 'ExecStart' /etc/systemd/sys
tem/tidb-4000.service | sed 's/ExecStart=//'`}, cause: dial tcp 172.7.160.216:22: connect: connection refused\
 at github.com/pingcap-incubator/tiup-cluster/pkg/executor.(*SSHExecutor).Execute()\
\t/home/jenki
ns/agent/workspace/tiup-cluster-release/pkg/executor/ssh.go:148\
 at github.com/pingcap-incubator/tiup-cluster/pkg/ansible.readStartScript()\
\t/home/jenkins/agent/workspace/tiup-cluster-release/pkg/ansible/di
rs.go:235\
 at github.com/pingcap-incubator/tiup-cluster/pkg/ansible.parseDirs()\
\t/home/jenkins/agent/workspace/tiup-cluster-release/pkg/ansible/dirs.go:45\
 at github.com/pingcap-incubator/tiup-cluster/pkg/
ansible.ParseAndImportInventory()\
\t/home/jenkins/agent/workspace/tiup-cluster-release/pkg/ansible/inventory.go:98\
 at github.com/pingcap-incubator/tiup-cluster/cmd/cluster/command.newImportCmd.func1()\
\t/h
ome/jenkins/agent/workspace/tiup-cluster-release/cmd/cluster/command/import.go:100\
 at github.com/spf13/cobra.(*Command).execute()\
\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:842\
 at github.com/s
pf13/cobra.(*Command).ExecuteC()\
\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:950\
 at github.com/spf13/cobra.(*Command).Execute()\
\t/go/pkg/mod/github.com/spf13/cobra@v1.0.0/command.go:887\
 at gi
thub.com/pingcap-incubator/tiup-cluster/cmd/cluster/command.Execute()\
\t/home/jenkins/agent/workspace/tiup-cluster-release/cmd/cluster/command/root.go:172\
 at main.main()\
\t/home/jenkins/agent/workspace/tiu
p-cluster-release/cmd/cluster/main.go:19\
 at runtime.main()\
\t/usr/local/go/src/runtime/proc.go:203\
 at runtime.goexit()\
\t/usr/local/go/src/runtime/asm_amd64.s:1357"}

感谢反馈,当前版本的 tiup cluster 是没有对 ansible.cfg 进行全局的 ssh_port 设置的,现在只是会解析 inventory.ini 的 ansible_port 对每一个 host 进行 ssh_port 的解析。后续应该会支持该功能。

那如果我现在想升级,端口是23,应该怎么修改呢,在 inventory.ini 里怎么修改才可以,谢谢

可以尝试编辑 inventory.ini 的在对应的 ansible_host 添加 ansible_port 变量。可以参考下官方文档:
https://pingcap.com/docs-cn/stable/how-to/deploy/orchestrated/ansible/#第-9-步编辑-inventoryini-文件分配机器资源

## TiDB Cluster Part
[tidb_servers]
172.7.160.216   ansible_port=23
172.7.160.36    ansible_port=23
172.7.160.37    ansible_port=23


这样配置是否正确,谢谢

你好,

你配置的是正确的:

...
[tikv_servers]
TiKV1-1 ansible_host=172.16.10.4 ansible_port=23 deploy_dir=/data1/deploy tikv_port=20171 tikv_status_port=20181 labels="host=tikv1"
...
1 个赞

给力 赞

:joy: