1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-hawq

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

HAWQ


Процесс CI Статус
Travis CI сборка https://travis-ci.org/apache/hawq.svg?branch=master
RAT (Release Audit Tool) (RAT) Статус RAT
Статический анализ Coverity Статус сборки Coverity Scan

Сайт | Вики | Документация | Список рассылки разработчиков | Список рассылки пользователей | Коллекция вопросов и ответов | Открытые дефекты# Apache HAWQ

Apache HAWQ — это нативный движок запросов SQL для Hadoop, который объединяет ключевые технологические преимущества баз данных MPP с масштабируемостью и удобством использования Hadoop. HAWQ нативно читает данные из HDFS и записывает их обратно в HDFS. HAWQ обеспечивает превосходную производительность и линейную масштабируемость. Он предоставляет пользователям средства для уверенного и успешного взаимодействия с наборами данных объемом до петабайтов. HAWQ предлагает пользователям полный, соответствующий стандартам SQL интерфейс. Более конкретно, HAWQ имеет следующие характеристики:

  • Локальная установка или облачная развертка
  • Высокое соответствие стандарту ANSI SQL: SQL-92, SQL-99, SQL-2003, расширение OLAP
  • Очень высокая производительность. В несколько раз быстрее других движков SQL для Hadoop
  • Мировой класс параллельной оптимизации
  • Полная поддержка транзакций и гарантий согласованности данных: ACID
  • Динамическая система управления потоками данных через высокоскоростное соединение на основе протокола UDP
  • Упругий выполнитель на основе виртуальных сегментов и локализации данных
  • Поддержка множественного уровня партиционирования и таблиц с партицией на основе списков и диапазонов
  • Поддержка нескольких методов сжатия: snappy, gzip, zlib
  • Поддержка многопользовательских пользовательских функций: Python, Perl, Java, C/C++, R- Расширенные возможности машинного обучения и анализа данных через MADLib
  • Динамическое расширение узлов: за несколько секунд
  • Наиболее продвинутая трёхуровневая система управления ресурсами: интеграция с YARN и иерархическими очередями ресурсов
  • Простой доступ ко всем данным HDFS и внешним системам (например, HBase)
  • Нативная поддержка Hadoop: от хранения (HDFS), управления ресурсами (YARN) до развертки (Ambari)
  • Аутентификация и детализированное управление доступом: Kerberos, SSL и роль-основанный доступ
  • Расширенная библиотека доступа к HDFS и YARN на языках C/C++: libhdfs3 и libYARN
  • Поддержка большинства сторонних инструментов: Tableau, SAS и т. д.
  • Стандартное соединение: JDBC/ODBC

Настройка сборки и установки HAWQ на Mac## Шаг 1 Установка HDFS

Установите HomeBrew, следуя этой инструкции.

brew install hadoop

Шаг 1.1 Настройка параметров HDFS

  • ${HADOOP_HOME}/etc/hadoop/slaves

    Например, /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/slaves

    localhost
  • ${HADOOP_HOME}/etc/hadoop/core-site.xml

    Например, /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/core-site.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost:8020</value>
        </property>
    </configuration>
  • ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml

    Например, /usr/local/Cellar/hadoop/2.8.1/libexec/etc/hadoop/hdfs-site.xml

    Обратите внимание: Замените переменные ${HADOOP_DATA_DIRECTORY} и ${USER_NAME} своими собственными значениями.

    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
    <configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>file://${HADOOP_DATA_DIRECTORY}/name</value>
            <description>Укажите путь к директории namenode</description>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>file://${HADOOP_DATA_DIRECTORY}/data</value>
            <description>Укажите путь к директории datanode</description>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>

Шаг 1.2 Настройка окружения HDFS

touch ~/.bashrc
touch ~/.bash_profile
    
echo "if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi" >> ~/.bash_profile
    
echo "export HADOOP_HOME=/usr/local/Cellar/hadoop/2.8.1/libexec" >> ~/.bashrc
echo "export PATH=\$PATH:\${HADOOP_HOME}/bin:\${HADOOP_HOME}/sbin" >> ~/.bashrc
    
source ~/.bashrc
```### Шаг 1.3 Настройка безпарольной аутентификации SSH
```bash
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

Теперь вы можете подключаться к ssh localhost без пароля. Если возникает ошибка Port 22 connecting refused, включите Remote login в настройках системы Mac (System Preferences -> Sharing).### Шаг 1.4 Форматирование файловой системы HDFS

hdfs namenode -format

Шаг 1.5 Запуск HDFS

# запустить/остановить HDFS
start-dfs.sh/stop-dfs.sh

# Выполните базовые тесты, чтобы убедиться в работоспособности HDFS
hdfs dfsadmin -report
hadoop fs -ls /

Если возникают проблемы, проверьте журнал и просмотрите часто задаваемые вопросы в вики.

Шаг 2 Настройка Hawq

Шаг 2.1 Конфигурация системы

Шаг 2.1.1 Отключение Rootless System Integrity Protection

Отключение Rootless System Integrity Protection на macOS новее чем OS X El Capitan 10.11, если вы сталкиваетесь с проблемами LIBRARY_PATH, например, HAWQ-513, что делает бинарники Hawq неспособными находить свои зависимости из общих библиотек. Шаги ниже:

  1. Перезагрузите Mac и одновременно зажмите клавиши Command + R после того как услышите сигнал старта, это запустит OS X в режиме восстановления
  2. Когда появится экран "OS X Utilities", нажмите 'Utilities' в верхней части экрана и выберите "Terminal"
  3. Введите следующую команду в терминал и нажмите Enter: csrutil disable; reboot

Шаг 2.1.2 Настройка sysctl.conf

Для Mac OS X 10.10 / 10.11, добавьте следующий контент в /etc/sysctl.conf и затем выполните sudo sysctl -p для активации.Для macOS 10.12+ добавьте следующий контент в /etc/sysctl.conf и затем выполните cat /etc/sysctl.conf | xargs sudo sysctl для проверки.

kern.sysv.shmmax=2147483648
kern.sysv.shmmin=1
kern.sysv.shmmni=64
kern.sysv.shmseg=16
kern.sysv.shmall=524288
kern.maxfiles=65535
kern.maxfilesperproc=65536
kern.corefile=/cores/core.%N.%P

Шаг 2.2 Подготовка исходного кода и целевой папки

mkdir ~/dev
git clone git@github.com:apache/hawq ~/dev/hawq

sudo mkdir -p /opt
sudo chmod a+w /opt
sudo install -o $USER -d /usr/local/hawq

Шаг 2.3 Настройка компиляторной цепочки и зависимостей третьей стороны

Настройка компиляторной цепочки и зависимостей третьей стороны

Шаг 2.4 Сборка Hawq

  • 2.4.1 Добавьте информацию об окружении Hawq в ~/.bashrc, и выполните source ~/.bashrc, чтобы применить изменения.

    ulimit -c 10000000000
    export CC=clang
    export CXX=clang++
    export DEPENDENCY_PATH=/opt/dependency/package
    source /opt/dependency-Darwin/package/env.sh
  • 2.4.2 Сборка Hawq

    cd ~/dev/hawq
    git checkout master
    ln -sf ../../commit-msg .git/hooks/commit-msg
    ./configure
    make -j8
    make -j8 install

Шаг 2.5 Настройка HAWQ

mkdir /tmp/magma_master
mkdir /tmp/magma_segment

Не забудьте отобразить hawq_dfs_url в fs.defaultFS в ${HADOOP_HOME}/etc/hadoop/core-site.xml.

Шаг 2.6 Инициализация/Запуск/Остановка HAWQ

# Перед инициализацией HAWQ вам потребуется установить HDFS и убедиться, что он работает.

source /usr/local/hawq/greenplum_path.sh

# Также вам потребуется настроить безпарольный вход через SSH на всех системах.
# Если вы устанавливаете HAWQ только для локальной разработки, пропустите этот шаг.
# Обмен ключами SSH между хостами host1, host2 и host3:
# hawq ssh-exkeys -h host1 -h host2 -h host3
```# Инициализируйте кластер HAWQ и запустите его по умолчанию
hawq init cluster -a

# Теперь вы можете останавливать/перезапускать/вновь запускать кластер с помощью команд:
# hawq stop/restart/start cluster
# Команда инициализации автоматически вызывает команду запуска.

# Master HAWQ и сегменты полностью разделены.
# Поэтому вы также можете инициализировать, запускать или останавливать мастер и сегменты отдельно.
# Например, чтобы инициализировать:
# hawq init master, затем hawq init segment
# Чтобы остановить:
# hawq stop master, затем hawq stop segment
# Чтобы запустить:
# hawq start master, затем hawq start segment
```> Каждый раз при инициализации HAWQ вам потребуется удалить некоторые файлы. Директория всех файлов, которые требуется удалить, была конфигурирована в `/usr/local/hawq/etc/hawq-site.xml`.
>
> - 1) Название: `hawq_dfs_url`, Описание: URL для доступа к HDFS
> - 2) Название: `hawq_master_directory`, Описание: Директория master HAWQ
> - 3) Название: `hawq_segment_directory`, Описание: Директория сегмента HAWQ
> - 4) Название: `hawq_magma_locations_master`, Описание: Расположение службы HAWQ magma на master
> - 5) Название: `hawq_magma_locations_segment`, Описание: Расположение службы HAWQ magma на сегменте
>
> Например:
>
> ```bash
> hdfs dfs -rm -r /hawq*
> rm -rf /Users/xxx/data/hawq/master/*
> rm -rf /Users/xxx/data/hawq/segment/*
> rm -rf /Users/xxx/data/hawq/tmp/magma_master/*
> rm -rf /Users/xxx/data/hawq/tmp/magma_segment/*
> ```
>
> Убедитесь, что нет никаких процессов PostgreSQL или magma, работающих на вашем компьютере. Если они работают, вам следует завершить их перед инициализацией HAWQ. Например,
>
> ```bash
> ps -ef | grep postgres | grep -v grep | awk '{print $2}' | xargs kill -9
> ps -ef | grep magma | grep -v grep | awk '{print $2}' | xargs kill -9
> ```
># Установка HAWQ в CentOS 7Аналогично установке на macOS, можете попробовать.

# Установка HAWQ в CentOS 7 (версия 6.x) с использованием Docker

Аналогично установке на macOS, можете попробовать.

# Установка, сборка и тестирование (версия Apache HAWQ)

----------------
Для получения более подробной информации обратитесь к странице HAWQ wiki:
https://cwiki.apache.org/confluence/display/HAWQ/Build+and+Install

```shell
cd hawq
make feature-test

Чтобы сделать вывод консистентным, создайте новую базу данных и используйте конкретную локаль.

TEST_DB_NAME="hawq_feature_test_db"
psql -d postgres -c "CREATE DATABASE $TEST_DB_NAME;"
export PGDATABASE=$TEST_DB_NAME
psql -c "ALTER DATABASE $TEST_DB_NAME SET LC_MESSAGES TO 'C';"
psql -c "ALTER DATABASE $TEST_DB_NAME SET LC_MONETARY TO 'C';"
psql -c "ALTER DATABASE $TEST_DB_NAME SET LC_NUMERIC TO 'C';"
psql -c "ALTER DATABASE $TEST_DB_NAME SET LC_TIME TO 'C';"
psql -c "ALTER DATABASE $TEST_DB_NAME SET TIMEZONE_ABBREVIATIONS TO 'Default';"
psql -c "ALTER DATABASE $TEST_DB_NAME SET TIMEZONE TO 'PST8PDT';"
psql -c "ALTER DATABASE $TEST_DB_NAME SET DATESTYLE TO 'postgres,MDY';"

Чтобы запустить обычные тесты функциональности, используйте следующий фильтр:

  1. Ваши тесты могут выполняться только последовательно
hawq/src/test/feature/feature-test --gtest_filter=-TestHawqRegister.*:TestTPCH.TestStress:TestHdfsFault.*:TestZookeeperFault.*:TestHawqFault.*
  1. Эти тесты можно выполнять параллельно
cd hawq/src/test/feature/
mkdir -p testresult
python ./gtest-parallel --workers=4 --output_dir=./testresult --print_test_times ./feature-test --gtest_filter=-TestHawqRegister.*:TestTPCH.*:TestHdfsFault.*:TestZookeeperFault.*:TestHawqFault.*:TestQuitQuery.*:TestErrorTable.*:TestExternalTableGpfdist.*:TestExternalTableOptionMultibytesDelimiter.TestGpfdist:TETAuth.*
```  TestHawqRegister не включен
  TestTPCH.TestStress предназначен для тестирования нагрузки TPCH
  TestHdfsFault — тесты отказоустойчивости HDFS
  TestZookeeperFault — тесты отказоустойчивости Zookeeper
  TestHawqFault — тесты отказоустойчивости HAWQ# Экспорт контролируемых товаров
----------------

Эта распределённая версия включает криптографическое программное обеспечение. Страна, в которой вы сейчас проживаете, может иметь ограничения на импорт, владение, использование и/или пересылку в другую страну криптографического программного обеспечения. **ПЕРЕД** использованием любого криптографического программного обеспечения, пожалуйста, проверьте законы, регламенты и политики вашей страны относительно импорта, владения или использования, а также пересылки криптографического программного обеспечения, чтобы узнать, разрешено ли это. Для получения дополнительной информации см. <http://www.wassenaar.org/>.

Департамент торговли США, Управление промышленной безопасности (BIS), отнёсло эту программу к категории Экспортного номера контроля товаров (ECCN) 5D002.C.1, которая включает программное обеспечение для обеспечения информационной безопасности с использованием или выполнением криптографических функций с асимметричными алгоритмами. Форма и способ распространения этой программы Apache Software Foundation делают её пригодной для экспорта под исключением Лицензионного исключения ENC для технологического программного обеспечения без ограничений (TSU) (см. раздел 740.13 Управления по экспортному администрированию BIS) как для объектного кода, так и для исходного кода.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

HAWQ — это масштабируемый параллельный SQL-движок для аналитики, созданный на основе Hadoop и ориентированный на аналитические приложения. Как и другие реляционные базы данных, он принимает SQL-запросы и возвращает результирующие наборы. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/mirrors-hawq.git
git@api.gitlife.ru:oschina-mirror/mirrors-hawq.git
oschina-mirror
mirrors-hawq
mirrors-hawq
master