瀏覽代碼

HUE-8888 [docs] Reorganize the list of dependencies

As some are still easy to miss. Ideally this should all come from a
script at some point.
Romain 5 年之前
父節點
當前提交
086395e9ae
共有 1 個文件被更改,包括 75 次插入62 次删除
  1. 75 62
      docs/docs-site/content/administrator/installation/dependencies/_index.md

+ 75 - 62
docs/docs-site/content/administrator/installation/dependencies/_index.md

@@ -5,7 +5,7 @@ draft: false
 weight: -1
 ---
 
-### Python
+## Python
 
 Hue employs some Python modules which use native code and requires certain development libraries be installed on your system. To install from the tarball, you'll need these library development packages and tools installed on your system:
 
@@ -17,13 +17,15 @@ Versions supported:
 export PYTHON_VER=python3.8
 ```
 
-### Database
+## Database
 
-Hue is being ran the most with [MySQL InnoDB, PostgreSQL or Oracle](https://docs.cloudera.com/documentation/enterprise/latest/topics/hue_dbs_0.html)
+Hue is being ran the most with [MySQL InnoDB, PostgreSQL or Oracle](https://docs.cloudera.com/documentation/enterprise/latest/topics/hue_dbs_0.html).
 
-**Note**: MySQL module
+### MySQL / MariaDB
 
-With the recent OSs like Ubuntu 20.04 or using Python 3, the [MySQL-python](https://github.com/cloudera/hue/tree/master/desktop/core/ext-py/MySQL-python-1.2.5) lib won't compile properly and will produce an error similar to:
+The client lib [MySQL-python](https://github.com/cloudera/hue/tree/master/desktop/core/ext-py/MySQL-python-1.2.5) is already included so it should work out of the box.
+
+With the recent OSs like Ubuntu 20.04 or using Python 3, the MySQL-python lib won't compile properly and will produce an error similar to:
 
     _mysql.c: Cannot open include file my_config.h
 
@@ -31,16 +33,68 @@ The lib folder needs to be swapped with https://pypi.org/project/mysqlclient/. U
 
 Read [HUE-9390](https://issues.cloudera.org/browse/HUE-9390) for more details and the two commits doing this change.
 
-### Ubuntu
+### PostgreSQL
 
-    sudo apt-get install git ant gcc g++ libffi-dev libkrb5-dev libmysqlclient-dev libsasl2-dev libsasl2-modules-gssapi-mit libsqlite3-dev libssl-dev libxml2-dev libxslt-dev make maven libldap2-dev python-dev python-setuptools libgmp3-dev
+You would need the OS `python-psycopg2` or Python [psycopg2](https://pypi.org/project/psycopg2/).
 
+### Oracle
 
-**Install Node.js**
+How to install the client lib.
 
-    curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
-    sudo apt-get install -y nodejs
+#### Version 11
+
+Download both instantclient-basic and instantclient-sdk of the same version (11.2.0.4.0 for this example) and on your ~/.bash_profile, add
+
+    export ORACLE_HOME=/usr/local/share/oracle
+    export VERSION=11.2.0.4.0
+    export ARCH=x86_64
+    export DYLD_LIBRARY_PATH=$ORACLE_HOME
+    export LD_LIBRARY_PATH=$ORACLE_HOME
+
+and then
+
+    source ~/.bash_profile
+    sudo mkdir -p $ORACLE_HOME
+    sudo chmod 775 $ORACLE_HOME
+
+then unzip the content of both downloaded zip files into the newly created $ORACLE_HOME in a way that the 'sdk' folder is at the same level with the other files and then
+
+    ln -s libclntsh.dylib.11.1 libclntsh.dylib
+    ln -s libocci.dylib.11.1 libocci.dylib
+
+and finally
 
+    cd sdk
+    unzip ottclasses.zip
+
+#### Version 12
+
+Hue comes with an older Oracle client cx_Oracle-5.2.1 Python module so it will fail. We need to do the above client install and then upgrade Hue's client module to at least cx_Oracle-5.3.
+
+Make sure you have the `python-dev` package dependencies, ensure that ORACLE_HOME and LB_LIBRARY_PATH are properly set so that pip knows which version to install, then:
+
+    echo $ORACLE_HOME $LD_LIBRARY_PATH
+
+    ./build/env/bin/pip install cx_Oracle
+
+Tip: You can also wget the proper cx_Oracle file yourself: https://pypi.python.org/pypi/cx_Oracle/.
+
+Tip: Going to where is the Oracle client, e.g. /usr/local/share/oracle then creating a symlink similar to below could even trick the cx_Oracle-5.2.1 module to work with 12.2 without doing the pip upgrade:
+
+    ln -s libclntsh.so.12.2 libclntsh.so.11.1
+
+There is more details on this [Apply Temporary Workaround for Oracle 12 Client](https://docs.cloudera.com/documentation/enterprise/latest/topics/hue_dbs_oracle_pkg.html#concept_qx3_hfw_4z).
+
+
+#### Mac
+
+* [Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/downloads.html)
+
+## OS Packages
+
+### Ubuntu
+
+    sudo apt-get install git ant gcc g++ libffi-dev libkrb5-dev libmysqlclient-dev libsasl2-dev libsasl2-modules-gssapi-mit libsqlite3-dev libssl-dev libxml2-dev libxslt-dev make maven libldap2-dev python-dev python-setuptools libgmp3-dev
 
 ### CentOS/RHEL
 
@@ -52,7 +106,7 @@ Read [HUE-9390](https://issues.cloudera.org/browse/HUE-9390) for more details an
 
 Installing Python 2.7:
 
-#### CentOS 6.8 / 6.9 OS
+### CentOS 6.8 / 6.9 OS
 
 Check your OS Version:
 
@@ -64,7 +118,7 @@ Make sure "/etc/redhat-release" contains "CentOS 6.8 or 6.9" version. These inst
     yum install -y scl-utils
     yum install -y python27
 
-#### RedHat 6.8 / 6.9 OS
+### RedHat 6.8 / 6.9 OS
 
 Check your OS Version
 
@@ -77,7 +131,7 @@ Make sure `/etc/redhat-release` contains "RedHat 6.8 or 6.9" version. These inst
     yum install -y scl-utils
     yum install -y python27
 
-#### Oracle 6.8 / 6.9 OS
+### Oracle 6.8 / 6.9 OS
 
 Check your OS Version
 
@@ -149,61 +203,20 @@ On macOS 10.15.x
 
     sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/* /usr/local/include/
 
+### NodeJs
 
-### Oracle Client lib
-
-#### Version 11
-
-Download both instantclient-basic and instantclient-sdk of the same version (11.2.0.4.0 for this example) and on your ~/.bash_profile, add
-
-    export ORACLE_HOME=/usr/local/share/oracle
-    export VERSION=11.2.0.4.0
-    export ARCH=x86_64
-    export DYLD_LIBRARY_PATH=$ORACLE_HOME
-    export LD_LIBRARY_PATH=$ORACLE_HOME
+Version 10+ is needed.
 
-and then
+e.g. how to install on Ubuntu:
 
-    source ~/.bash_profile
-    sudo mkdir -p $ORACLE_HOME
-    sudo chmod 775 $ORACLE_HOME
-
-then unzip the content of both downloaded zip files into the newly created $ORACLE_HOME in a way that the 'sdk' folder is at the same level with the other files and then
-
-    ln -s libclntsh.dylib.11.1 libclntsh.dylib
-    ln -s libocci.dylib.11.1 libocci.dylib
-
-and finally
-
-    cd sdk
-    unzip ottclasses.zip
-
-#### Version 12
-
-Hue comes with an older Oracle client cx_Oracle-5.2.1 Python module so it will fail. We need to do the above client install and then upgrade Hue's client module to at least cx_Oracle-5.3.
-
-Make sure you have the `python-dev` package dependencies, ensure that ORACLE_HOME and LB_LIBRARY_PATH are properly set so that pip knows which version to install, then:
-
-    echo $ORACLE_HOME $LD_LIBRARY_PATH
-
-    ./build/env/bin/pip install cx_Oracle
-
-Tip: You can also wget the proper cx_Oracle file yourself: https://pypi.python.org/pypi/cx_Oracle/.
-
-Tip: Going to where is the Oracle client, e.g. /usr/local/share/oracle then creating a symlink similar to below could even trick the cx_Oracle-5.2.1 module to work with 12.2 without doing the pip upgrade:
-
-    ln -s libclntsh.so.12.2 libclntsh.so.11.1
-
-There is more details on this [Apply Temporary Workaround for Oracle 12 Client](https://docs.cloudera.com/documentation/enterprise/latest/topics/hue_dbs_oracle_pkg.html#concept_qx3_hfw_4z).
-
-
-#### Mac
-
-* [Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/downloads.html)
+    curl -sL https://deb.nodesource.com/setup_10.x | sudo bash -
+    sudo apt-get install -y nodejs
 
 ### Java
 
-Java is only for the [JDBC proxy](/developer/connectors/#jdbc) connector.
+Optional.
+
+Java is only for the [JDBC proxy](/developer/connectors/#jdbc) connector which is not built automatically anymore.
 
 **Install Oracle JDK**