安装python3.9,superset1.3.2要用高版本python,低版本的装不上。
安装依赖
源文参考
https://blog.csdn.net/weixin_43815790/article/details/120016013
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc* make -y
yum install gcc-c++
cd /home
mkdir software2
cd software2
wget https://www.python.org/ftp/python/3.9.9/Python-3.9.9.tgz
解压
tar -zxvf Python-3.9.9.tgz
新建一个python3的安装目录
mkdir /usr/lib/python3.9
进入Python-3.9.9目录下,「指定安装目录,设置启用ssl功能」。
cd Python-3.9.9
./configure --prefix=/usr/lib/python3.9 --with-ssl
编译安装。
make && make install
创建软连接
ln -s /usr/lib/python3.9/bin/python3.9 /usr/bin/python3
ln -s /usr/lib/python3.9/bin/pip3.9 /usr/bin/pip3
ln -s /usr/bin/pip3 /usr/bin/pip
系统默认的python软连接指向的是python2,如果我们需要更方便使用,可以删除原有的python软连接,并建立新的python软连接指向python3。
rm -f /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
修复yum
python3会导致yum不能正常使用
vi /usr/bin/yum
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把 #! /usr/bin/python 修改为 #! /usr/bin/python2
vi /usr/bin/yum-config-manager
#!/usr/bin/python 改为 #!/usr/bin/python2
没有的不用修改
还报错参考这个
https://blog.csdn.net/huangbaokang/article/details/102913212
vim /usr/bin/firewall-cmd
vim /usr/sbin/firewalld
按i进入编辑模式,在第一行#!/usr/bin/python把修改为
#!/usr/bin/python2.7
,
按ESC退出编辑模式,:wq退出保存。
安装虚拟环境
yum upgrade python-setuptools
python -m pip install --upgrade pip
pip install virtualenv
创建虚拟环境
python3 -m venv venv
启动虚拟环境
. venv/bin/activate
退出虚拟环境
deactivate
Superset安装
#先升级pip
pip install --upgrade pip
#下载依赖pillow
pip install pillow
#下载apache-superset 选择对应的版本
pip install apache-superset==
#安装指定版本
pip install apache-superset==1.3.2
#若将superset元数据存储在其他服务器上,需要修改config.py配置,中文也在这里修改,默认是英文版本。
cd /home/用户名/venv/lib/python3.9/site-packages/superset
vi config.py
#修改存储信息库,将原来本地存储信息注释掉。
# The SQLAlchemy connection string.
# SQLALCHEMY_DATABASE_URI = "sqlite:///" + os.path.join(DATA_DIR, "superset.db")
SQLALCHEMY_DATABASE_URI = 'mysql://root:123456@172.17.20.4/superset?charset=utf8'
# SQLALCHEMY_DATABASE_URI = 'postgresql://root:password@localhost/myapp'
#修改中文语言
# Setup default language
BABEL_DEFAULT_LOCALE = "zh"
# Your application default translation path
BABEL_DEFAULT_FOLDER = "superset/translations"
# The allowed translation for you app
LANGUAGES = {
"en": {"flag": "us", "name": "English"},
"es": {"flag": "es", "name": "Spanish"},
"it": {"flag": "it", "name": "Italian"},
"fr": {"flag": "fr", "name": "French"},
"zh": {"flag": "cn", "name": "Chinese"},
"ja": {"flag": "jp", "name": "Japanese"},
"de": {"flag": "de", "name": "German"},
"pt": {"flag": "pt", "name": "Portuguese"},
"pt_BR": {"flag": "br", "name": "Brazilian Portuguese"},
"ru": {"flag": "ru", "name": "Russian"},
"ko": {"flag": "kr", "name": "Korean"},
"sl": {"flag": "si", "name": "Slovenian"},
}
#安装mysql相关插件
yum install mysql-devel
pip install mysqlclient
#如果有这个报错,就安装下面的插件
No module named '_ctypes'
yum install libffi-devel -y
#数据库升级
superset db upgrade
#配置环境创建admin账号
export FLASK_APP=superset
superset fab create-admin
admin
admin
admin
admin@163.com
admin
admin
#加载事例
superset load_examples
yum install -y xz-devel
pip install backports.lzma
#初始化
superset init
#启动
superset run -p 8099 --with-threads --reload --debugger(可能会报错)
#改为
superset run -h 0.0.0.0 -p 8099
#后台启动的命令:
nohup superset run -h 0.0.0.0 -p 8099 &
#无法访问的,要开启端口
firewall-cmd --zone=public --add-port=8099/tcp --permanent
firewall-cmd --reload