通過海豚調度執行datax任務的時候,報錯python2.7命令不存在。
原因是代碼指定的版本是2.7,而centos8自帶的是python3 版本。
解決方案有兩種:
一:替換成python3
需要修改替換datax/bin下面的python文件,同事說比較簡單,修改下datax.py中print語法就行了,加下括號,另外的py文件
用不到。
二:安裝python2.7
嘗試安裝了下,本來也很簡單,但是一直報錯,所以本文也是仿照生產環境安裝centos8虛擬機,復現該問題,並嘗試解決。
報錯
操作系統及python版本
輸入python報命令不存在,/usr/bin下面沒有python軟鏈接,只有python3和python3.6鏈接
1.2.1代碼
8.0.1905 64位
很明顯下載最大的iso文件
新建機器
默認在C盤,建議放其它盤,我這邊C盤比較大,就放C盤,到時候安裝好,導出一份做備份也一樣的。
後續可能會在上面部署dolphinscheduler2.0,所以內存就盡可能搞大點了,可以就設1G,後面也是可以再修改的。
一直下一步,大小建議設置大於10G
iso文件比較大,有6G
設置-鏡像文件
網絡選擇橋接模式
啟動創建用戶
點擊啟動,過個幾分鐘來到設置頁面,按照提示一步步配置即可
請問在哪點擊確認
關閉重新進去試試
關閉後,結果又重新來了一遍,不過這次顯示正常
重啟後又繼續安裝,沒完沒了…
後面直接強制退出了,移除光驅,再次啟動,總算結束了死循環
然後彈出許可認證,點擊,安裝提示,選擇光驅,完成配置
登錄進來
看著圖形界面好陌生…
Ctrl+Alt+F3切換到命令行頁面(Ctrl+Alt+F1切回圖形界面)
virbr0網卡,是因為安裝系統的時候附帶了libvirt服務,自動生成的,它有一個固定的默認IP 地址192.168.122.1,保險起見,最後刪掉libvirt服務,防止IP沖突。
刪除命令
yum remove libvirt-*
移除libvirt後,配置靜態IP
BOOTPROTO=static
ONBOOT=yes
PREFIX=24
IPADDR=192.168.1.66
GATEWAY=192.168.1.1
NETMASK=255.255.255.0
DNS1=114.114.114.114
重啟
驗證
方式一
curl https://www.baidu.com/
方式二
ping www.baidu.com
網絡是通的,可惜用不了,因為生產環境不通互聯網的…現在強迫症愈發嚴重了!!!!!
x86_64
[[email protected] ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.66 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::cf9b:a0e3:955b:4cff prefixlen 64 scopeid 0x20<link>
ether 08:00:27:ae:4d:ad txqueuelen 1000 (Ethernet)
RX packets 483 bytes 60582 (59.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 278 bytes 28454 (27.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
[[email protected] ~]#
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
[[email protected] ~]# uname -m
x86_64
[[email protected] ~]# python
bash: python: 未找到命令...
[[email protected] ~]# python3
Python 3.6.8 (default, May 21 2019, 23:51:36)
[GCC 8.2.1 20180905 (Red Hat 8.2.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> quit()
[[email protected] ~]#
python2.7.6
太慢了…
上傳到服務器
解壓-配置-編譯
[[email protected] ~]# #創建編譯目錄
[[email protected] ~]# mkdir -p /usr/local/python2.7
[[email protected] ~]# #解壓安裝包
[[email protected] ~]# tar xf /tmp/Python-2.7.6.tgz
[[email protected] ~]# #進入解壓目錄,配置,指定編譯目錄
[[email protected] ~]# cd Python-2.7.6/
[[email protected] Python-2.7.6]# ./configure --prefix=/usr/local/python2.7
結果報錯了,生產環境可沒報錯,生產環境安裝很順利,就是執行命令時候報錯
[[email protected] Python-2.7.6]# ./configure --prefix=/usr/local/python2.7
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for --enable-universalsdk... no
checking for --with-universal-archs... 32-bit
checking MACHDEP... linux2
checking EXTRAPLATDIR...
checking for --without-gcc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/root/Python-2.7.6':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
[[email protected] Python-2.7.6]# less config.log
[[email protected] Python-2.7.6]#
解決辦法,安裝gcc
yum -y install gcc
解決辦法
備份,然後將地址放開並且修改為阿裡雲地址,三個文件都要改
[[email protected] Python-2.7.6]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# cp CentOS-Base.repo CentOS-Base.repo.bak
[[email protected] yum.repos.d]# cp CentOS-AppStream.repo CentOS-AppStream.repo.bak
[[email protected] yum.repos.d]# cp CentOS-Extras.repo CentOS-Extras.repo.bak
[[email protected] yum.repos.d]# vi CentOS-Base.repo
[[email protected] yum.repos.d]# vi CentOS-AppStream.repo
[[email protected] yum.repos.d]# vi CentOS-Extras.repo
例:
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=BaseOS&infra=$infra
#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/
baseurl=https://mirrors.aliyun.com/centos/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Base
APP
Extras
原因都是地址不對,首先確認地址正確,然後替換重試
https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/
替換地址
[[email protected] yum.repos.d]# grep aliyun CentOS-*
CentOS-AppStream.repo:baseurl=https://mirrors.aliyun.com/centos/8-stream/AppStream/x86_64/os/
CentOS-Base.repo:baseurl=https://mirrors.aliyun.com/centos/8-stream/BaseOS/x86_64/os/
CentOS-Extras.repo:baseurl=https://mirrors.aliyun.com/centos/8-stream/extras/x86_64/os/
[[email protected] yum.repos.d]# #清除緩存
[[email protected] yum.repos.d]# yum clean all
0 文件已刪除
[[email protected] yum.repos.d]# #建立緩存
[[email protected] yum.repos.d]# yum makecache
環境就像樹葉,根本不存在相同的環境,連網搞 都頭大…
安裝成功
yum install -y openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel libffi-devel
沒找到epel資源,指定IP即可
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
再次安裝gcc
yum install -y gcc
[[email protected] yum.repos.d]# cd
[[email protected] ~]# cd Python-2.7.6/
[[email protected] Python-2.7.6]#
[[email protected] Python-2.7.6]#
[[email protected] Python-2.7.6]#
[[email protected] Python-2.7.6]# ./configure --prefix=/usr/local/python2.7
[[email protected] Python-2.7.6]# make && make install
直接yum install -y make,安裝成功,總算順利了一下!!!!
./python -E -S -m sysconfig --generate-posix-vars
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
make: *** [Makefile:468: pybuilddir.txt] 段錯誤 (core dumped)
查看日志,懷疑還是依賴安裝不全
安裝依賴g++ (c++),還是make失敗
yum install -y gcc-c++
凌晨兩點了,太傷了,下載2.7最新版本試一下,行不行都這最後一下了
解壓、配置
配置
蒼天有眼,編譯結束,只不過貌似…
看樣子要到400,好想終止,但是我不敢
復制查看日志結果,還好是測試失敗
終於可以安裝了
配置選擇了./configure --enable-optimizations
所以沒有安裝到指定目錄,應該在後面把--prefix=/usr/local/python2.7
拼接上去的,--enable-optimizations
參數的作用就是不用自己再去建立軟連接了
mkdir -p /usr/local/python2.7
/configure --enable-optimizations --prefix=/usr/local/python2.7
如果指定了安裝目錄,則需要配置環境變量,/etc/profile是針對所有用戶的,單獨用戶配置在.bash_profile中
export PYTHON_HOME=/usr/local/python2.7
export PATH=$PYTHON_HOME/bin:$PATH
python3也未受影響
太難了,一個是找鏡像,花了很長時間,然後就是python make花了太長時間,最終解決辦法是下載最新的2.7版本,呵呵了!