yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install libffi-devel -y
cd #回到用户目录
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
tar -xvJf Python-3.7.0.tar.xz
mkdir /usr/local/python3 #创建编译安装目录
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
python3 -V
pip3 -V
pip3 install --target=\default package_name==1.2.1
#将库中的python模块用作脚本去运行安装scikit-learn
python3 -m pip install scikit-learn
卸载版本不对的其他组件,然后单独制定兼容的版本号,重新安装
pip3 uninstall Flask
pip3 install Flask===1.9 (这个范围内的<2,>=0.12)
#下载链接:
https://github.com/apache/superset
#进入到superset目录下直接执行如下命令
python3 setup.py install
#创建管理员账号
python3 superset fab create-admin
#初始化数据库
superset db upgrade
#加载例子
superset load_examples
#初始化
superset init
#启动superset 指定端口
superset run -h 0.0.0.0 -p 8088 --with-threads --debugger
#后台启动
nohup superset run -h 0.0.0.0 -p 8088 --with-threads --debugger &
#如果使用过的是mysql数据库,在superset的安装目录下,找到config.py文件,修改
SQLALCHEMY_DATABASE_URI = 'mysql://root:password@localhost:3306/superset?charset=UTF8')
#在root处填写mysql的用户名,在password处填写密码
#下载Linux依赖
yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel cyrus-sasl-devel openldap-devel
#Python 虚拟环境
pip install virtualenv
#创建superset环境(最好进入到指定目录后再创建)
python3 -m venv venv
#进入虚拟环境
. venv/bin/activate
#安装superset
pip install apache-superset
pip install apache-superset -i https://pypi.tuna.tsinghua.edu.cn/simple/
#如果下载过慢 可以使用国内镜像
(1)阿里云 http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣http://pypi.douban.com/simple/
(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
(5)华中科技大学http://pypi.hustunique.com/
#初始化db
superset db upgrade
#创建admin用户
superset fab create-admin
#superset初始化
superset init
#测试启动
superset runserver -d
superset run -p 8088 --with-threads --reload --debugger
#退出虚拟环境
deactivate
#以下是个人比较喜欢的方式
##需要先安装gunicorn
pip install gunicorn -i https://pypi.douban.com/simple/
#1、进入虚拟环境
. superset/bin/activate
#2、后台启动
gunicorn --workers 10 --timeout 120 --bind 0.0.0.0:8088 "superset.app:create_app()" --daemon
#3、退出虚拟环境
deactivate
#4、停止superset
ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
切换到python3.7对应路径,将该文件复制到该目录下:
cd /usr/local/lib/python3.7/lib-dynload
sudo cp /usr/lib/python3.6/lib-dynload/_bz2.cpython-36m-x86_64-linux-gnu.so ./
3、修改文件名称,将"-36m"修改为"-37m"即可:
sudo mv _bz2.cpython-36m-x86_64-linux-gnu.so _bz2.cpython-37m-x86_64-linux-gnu.so
下载地址:https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
(1)执行以下命令进行安装,并按照提示操作,直到安装完成。
[atguigu@hadoop102 lib]$ bash Miniconda3-latest-Linux-x86_64.sh
ERROR: File or directory already exists: '/root/anaconda3'
bash Anaconda3-5.2.0-Linux-x86_64.sh -u
(2)在安装过程中,出现以下提示时,可以指定安装路径
3)出现以下字样,即为安装完成
[atguigu@hadoop102 lib]$ source ~/.bashrc
Miniconda 安装完成后,每次打开终端都会激活其默认的 base 环境,我们可通过以下命令,禁止激活默认 base 环境。
[atguigu@hadoop102 lib]$ conda config --set auto_activate_base false
(base) [atguigu@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
(base) [atguigu@hadoop102 ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
(base) [atguigu@hadoop102 ~]$ conda create --name superset python=3.7
#创建环境:
conda create -n superset-1.2.0 python=3.7
conda create --prefix=/opt/superset python=3.7
#查看所有环境:
conda info --envs
#删除一个环境:
conda remove -n env_name --all
#激活 superset 环境
conda activate superset
#退出当前环境
conda deactivate
(base) [atguigu@hadoop102 ~]$ conda activate superset
激活后效果如下图所示
说明:退出当前环境
(superset) [atguigu@hadoop102 ~]$ conda deactivate
1)安装 Superset 之前,需安装以下所需依赖
(superset) [atguigu@hadoop102 ~]$ sudo yum install -y gcc gcc-c++ libffi-devel python-devel python-pip python-wheel python-setuptools openssl-devel cyrus-sasl-devel openldap-devel
2)安装(更新)setuptools和pip
(superset) [atguigu@hadoop102 ~]$ pip install --upgrade setuptools pip -i https://pypi.douban.com/simple/
**说明:**pip 是 python 的包管理工具,可以和 centos 中的 yum 类比
(superset) [atguigu@hadoop102 ~]$ pip install apache-superset -i https://pypi.douban.com/simple/
说明:-i 的作用是指定镜像,这里选择国内镜像
注:如果遇到网络错误导致不能下载,可尝试更换镜像
(superset) [atguigu@hadoop102 ~]$ pip install apache-superset --trusted-host https://repo.huaweicloud.com -i https://repo.huaweicloud.com/repository/pypi/simple
# pip install 名==版本
pip install apache-superset --upgrade
superset db upgrade
superset init
修改config.py源码;下面添加数据源
/superset/lib/python3.7/site-packages/superset/config.py文件, 修改内容如下:
BABEL_DEFAULT_LOCALE = "zh"
外置数据库
修改配置文件config.py中的数据库连接地址
SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(DATA_DIR, 'superset.db')
# 改为
SQLALCHEMY_DATABASE_URI = 'mysql://root:xxxx@host:port/superset?charset=utf8'
# 进入虚拟环境初始化数据库
source venv/bin/activate
superset db upgrade
(superset) [atguigu@hadoop102 ~]$ superset db upgrade
(superset) [atguigu@hadoop102 ~]$ export FLASK_APP=superset
(superset) [atguigu@hadoop102 ~]$ superset fab create-admin
**说明:**flask 是一个 python web 框架,Superset 使用的就是 flask
(superset) [atguigu@hadoop102 ~]$ superset init
报错
ImportError: cannot import name '_ColumnEntity' from 'sqlalchemy.orm.query' (/Users/ahmedawny/supersetenv/lib/python3.7/site-packages/sqlalchemy/orm/query.py)
- 1
https://stackoverflow.com/questions/66644975/importerror-cannot-import-name-columnentity-from-sqlalchemy-orm-query/66648061#66648061
https://github.com/sqlalchemy/sqlalchemy/issues/6226
转到sqlalchemy_utils\functions\orm.py 文件并更改:
- from sqlalchemy.orm.query import _ColumnEntity (评论这个,或者删除它)
- 从 sqlalchemy.orm.context 导入 _ColumnEntity (包括)
抱怨“flask-appbuilder 3.2.2 需要 SQLAlchemy<1.4.0
1)手动 pip install sqlalchemy==1.3.24 之后
pip install sqlalchemy==1.3.24 -i https://pypi.douban.com/simple/
2)SQLAlchemy-Utils(最新版本是 0.37.2)。
(superset) [atguigu@hadoop102 ~]$ pip install gunicorn -i https://pypi.douban.com/simple/
**说明:**gunicorn 是一个 Python Web Server,可以和 java 中的 TomCat 类比
1)确保当前 conda环境为 superset,及下图所示
2)启动
(superset) [atguigu@hadoop102 ~]$ gunicorn --workers 5 --timeout 120 --bind hbdn2:8787 "superset.app:create_app()" --daemon
说明:
–workers:指定进程个数
–timeout:worker进程超时时间,超时会自动重启
–bind:绑定本机地址,即为Superset 访问地址
–daemon:后台运行
3)登录Superset
访问 http://hadoop102:8787,并使用 2.2.2 节中第 4 步创建的管理员账号进行登录。
停掉 gunicorn 进程
(superset) [atguigu@hadoop102 ~]$ ps -ef | awk '/superset/ && !/awk/{print $2}' | xargs kill -9
退出 superset 环境
(superset) [atguigu@hadoop102 ~]$ conda deactivate
1)创建superset.sh文件
[atguigu@hadoop102 bin]$ vim superset.sh
2)加执行权限
[atguigu@hadoop102 bin]$ chmod +x superset.sh
报错:-bash: ./cleanup.sh: /bin/bash^M: bad interpreter: No such file or directory
sed -i “s/\r//” name.sh 之后再次执行
3)测试
启动 superset
[atguigu@hadoop102 bin]$ superset.sh start
停止 superset
[atguigu@hadoop102 bin]$ superset.sh stop
1)mysql
(superset) [atguigu@hadoop102 ~]$ conda install mysqlclient
mysql://用户名:密码@主机名:端口号/数据库名称
2)hive、Spark SQL
pip install pyhive -i https://pypi.douban.com/simple/
hive://ip:10000
hive://hive@{hostname}:{port}/{database}
3)impala
pip install impyla -i https://pypi.douban.com/simple/
impala:///user:password@{hostname}:21050/{database}
impala://{hostname}:21050/{database}
4)kylin
pip install kylinpy -i https://pypi.douban.com/simple/
kylin://:@:/?=&=