Rate This Document
Findability
Accuracy
Completeness
Readability

Installation Node Requirements

This section describes the requirements for installing dependency packages and configuring environment variables on each node before installing OmniOperator.

  • If you choose to perform the installation by compiling the source code, before compiling the source code, install GCC/G++, Autoconf, and CMake on each node. Table 1 lists the version requirements.
    • LLVM and Jemalloc can run properly only after being compiled on the OS. If you want to run them on CentOS, compile them on CentOS. If you want to run them on openEuler 20.03 LTS SP1 or openEuler 22.03 LTS SP1, compile them on openEuler 20.03 LTS SP1 or openEuler 22.03 LTS SP1.
    • Gluten depends on the ABSL library and can run properly only after it is compiled and installed on the current OS (openEuler 22.03 SP1).
    Table 1 Software required for source code compilation

    Software Name

    Version Requirement

    Download URL

    GCC/G++

    openEuler 20.03: 7.3.0

    Link

    openEuler 22.03: 10.3.0

    Link

    Autoconf

    2.69

    Link

    CMake

    3.20.5

    Link

    1. Install GCC/G++. The following uses version 7.3.0 as an example.
      1. Check whether the GCC/G++ version is the target version.
        1
        2
        gcc --version
        g++ --version
        
      2. Compile and install GCC/G++.
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        13
        14
        15
        # Extract the installation package and go to the gcc-7.3.0 directory.
        tar -zxvf gcc-7.3.0.tar.gz
        cd gcc-7.3.0
        # Perform compilation and installation.
        mkdir build && cd build
        ../configure --prefix=/usr/local/gcc-7.3.0 --enable-languages=c,c++ --disable-multilib 
        make -j$(nproc)
        make install
        # Set environment variables.
        echo 'export PATH=/usr/local/gcc-7.3.0/bin:$PATH' >> /etc/profile
        echo 'export LD_LIBRARY_PATH=/usr/local/gcc-7.3.0/lib64:$LD_LIBRARY_PATH' >> /etc/profile
        source /etc/profile
        # Verify the Installation.
        gcc --version
        g++ --version
        
    2. Compile and install Autoconf.
      1. Check whether the Autoconf version is the target version.
        1
        autoconf --version
        
      2. Compile and install Autoconf.
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10
        11
        12
        # Extract the installation package and go to the autoconf-2.69 directory.
        tar -zxvf autoconf-2.69.tar.gz
        cd autoconf-2.69
        # Perform compilation and installation.
        ./configure --prefix=/usr/local/autoconf-2.69
        make -j$(nproc)
        make install
        # Set environment variables.
        echo 'export PATH=/usr/local/autoconf-2.69/bin:$PATH' >> /etc/profile
        source /etc/profile
        # Verify the Installation.
        autoconf --version
        
    3. Install CMake.
      1. Check whether the CMake version is the target version.
        1
        cmake --version
        
      2. Install CMake.
        1
        2
        3
        4
        5
        6
        7
        # Extract the installation package to any directory (/opt in this example).
        tar -zxvf cmake-3.20.5-linux-aarch64.tar.gz -C /opt
        # Set environment variables.
        echo 'export PATH=/opt/cmake-3.20.5-linux-aarch64/bin:$PATH' >> /etc/profile
        source /etc/profile
        # Verify the Installation.
        cmake --version
        
  • Before installing OmniOperator, deploy necessary components in the cluster environment by following instructions in OS and Software Requirements.
  • Before configuring environment variables, check whether the environment variable LD_LIBRARY_PATH exists in your environment. If the environment variable does not exist, you do not need to add $LD_LIBRARY_PATH during configuration, so as to prevent irrelevant content from being introduced to the current path. Otherwise, security problems may occur. All environment variable export operations in this document comply with this principle. Take LD_LIBRARY_PATH as an example. If LD_LIBRARY_PATH already exists in your environment, use export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/xxx. Otherwise, use export LD_LIBRARY_PATH=/xxx.