Процесс CI | Статус |
---|---|
Travis CI Build | ![]() |
Apache Release Audit Tool (RAT) | |
Coverity Static Analysis |
Website | Wiki | Documentation | Developer Mailing List | User Mailing List | Q&A Collections | Open Defect
Apache HAWQ — это движок запросов SQL, который работает на Hadoop и сочетает в себе ключевые технологические преимущества MPP базы данных с масштабируемостью и удобством Hadoop. HAWQ читает данные из и записывает данные в HDFS. HAWQ обеспечивает лучшую в отрасли производительность и линейную масштабируемость. Он предоставляет пользователям инструменты для уверенного и успешного взаимодействия с наборами данных петабайтного диапазона. HAWQ предоставляет пользователям полный, совместимый со стандартами интерфейс SQL. Более конкретно, HAWQ имеет следующие функции:
Установите HomeBrew, следуя инструкциям здесь.
brew install hadoop
${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
<?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> **Настройку HDFS и hawq**
Укажите путь к каталогу namenode файловой системы DFS.
Укажите путь к каталогу namenode файловой системы DFS. dfs.datanode.data.dir file://${HADOOP_DATA_DIRECTORY}/data Укажите путь к каталогу datanode файловой системы DFS. dfs.replication 1
### Шаг 1.2. Настройка среды HDFS
```bash
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
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
Теперь вы можете выполнить команду ssh localhost
без пароля. Если вы столкнулись с ошибкой «Порт 22: подключение отклонено», включите «Удаленный вход» в «Системных настройках» > «Общий доступ» на вашем компьютере Mac.
hdfs namenode -format
# запуск/остановка HDFS
start-dfs.sh/stop-dfs.sh
# выполните несколько базовых тестов, чтобы убедиться, что HDFS работает
hdfs dfsadmin -report
hadoop fs -ls /
Если что-то пойдёт не так, проверьте журнал и просмотрите раздел часто задаваемых вопросов в вики.
Отключите Rootless System Integrity Protection на macOS, которая новее, чем OS X El Capitan 10.11, если вы столкнётесь с некоторыми сложными проблемами LIBRARY_PATH, например HAWQ-513, из-за которых двоичный файл hawq не сможет найти свои общие зависимости библиотек. Следующие шаги:
Для Mac OSX 10.10 / 10.11 добавьте следующее содержимое в /etc/sysctl.conf
и затем sudo sysctl -p
, чтобы активировать их.
Для Mac OSX 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
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.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
mkdir /tmp/magma_master
mkdir /tmp/magma_segment
Вы можете использовать стандартный /usr/local/hawq/etc/hawq-site.xml
. Обратите внимание на сопоставление hawq_dfs_url
с fs.defaultFS
в ${HADOOP_HOME}/etc/hadoop/core-site.xml
.
# Прежде чем инициализировать 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 по умолчанию
hawq init cluster -a
# Теперь вы можете остановить/перезапустить/запустить кластер с помощью:
hawq stop/restart/start cluster
# Команда init автоматически вызовет команду start.
# Мастер 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.
- Имя:
hawq_dfs_url
Описание: URL для доступа к HDFS
- Имя:
hawq_master_directory
Описание: каталог мастера hawq
- Имя:
hawq_segment_directory
Описание: каталог сегмента hawq
- Имя:
hawq_magma_locations_master
Описание: Расположение службы HAWQ magma на мастере
- Имя:
hawq_magma_locations_segment
Описание: Расположение службы HAWQ magma на сегментенапример:
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/*Проверьте, работает ли процесс postgres или magma на вашем компьютере. Если они работают, вы должны убить их перед инициализацией hawq. Например,
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
Почти так же, как на macOS, не стесняйтесь попробовать.
Почти так же, как на macOS, не стесняйтесь попробовать.
Пожалуйста, обратитесь к странице вики HAWQ: https://cwiki.apache.org/confluence/display/HAWQ/Build+and+Install
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';"
Для запуска обычного теста функций, пожалуйста, используйте нижеприведённый фильтр:
hawq/src/test/feature/feature-test --gtest_filter=-TestHawqRegister.*:TestTPCH.TestStress:TestHdfsFault.*:TestZookeeperFault.*:TestHawqFault.*
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
Это распространение включает в себя криптографическое программное обеспечение. Страна, в которой вы в настоящее время проживаете, может иметь ограничения на импорт, владение, использование и/или реэкспорт в другую страну программного обеспечения для шифрования. Прежде чем использовать любое программное обеспечение для шифрования, пожалуйста, проверьте законы, правила и политику вашей страны, касающиеся импорта, владения или использования и реэкспорта программного обеспечения для шифрования, чтобы узнать, является ли это Правительство США, Министерство торговли, Бюро промышленности и безопасности (BIS) классифицировало данное программное обеспечение как Экспортный контрольный номер товара (ECCN) 5D002.C.1. Эта категория включает программное обеспечение для информационной безопасности, использующее или выполняющее криптографические функции с асимметричными алгоритмами.
Форма и способ распространения этого программного обеспечения от Apache Software Foundation делают его пригодным для экспорта в соответствии с исключением License Exception ENC Technology Software Unrestricted (TSU) (см. Раздел 740.13 Правил экспортного администрирования BIS) как для объектного кода, так и для исходного кода.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )