Привет всем, я Дугу Фэн, автор Big Data Flow.
Однажды, когда я впервые установил среду JDK, я столкнулся с множеством проблем. В то время некоторые друзья почувствовали, что из-за этой проблемы с программированием они плохо разбираются в программировании, поэтому решили сдаться. В то время была шутка, в которой говорилось: «Если бы не среда JDK, с которой я не мог справиться, я, наверное, был бы гением программирования». Куан Данг смеется, но экологические проблемы действительно являются большой проблемой.
Платформа управления метаданными с открытым исходным кодом Datahub теперь достигла версии 0.10.5, но самой стабильной версией на данный момент остается 0.10.4.
Но в процессе установки Datahub каждый столкнулся с немалым количеством проблем.
напримерУстановка datahub и переход на github для доступа к файлу конфигурации зависли;
Перейдите в Docker, чтобы получить образ концентратора данных, и повторите попытку, но в конечном итоге это не удалось;
При каждом запуске датахаба образ будет обновляться, что очень хлопотно;
и т. д. . .
В документе официального сайта рекомендуется использовать последнюю версию для отладки и установить головную версию, но, как всем известно, проблемы с сетью застали врасплох многих людей.
Поэтому, если вы еще не освоили среду datahub, рекомендуется внимательно прочитать эту статью.
Первое, что хочу сказать, это то, что я скачал все установочные пакеты, использованные для данной установки. Если у вас плохое сетевое соединение, вы можете сначала скачать пакет, а затем установить его.
Хорошо, давайте официально начнем установку~
Первое, что нам нужно сделать, это получить среду Python3.
Прежде всего, вам необходимо скачать зависимости. Их можно установить через yum. Пакеты относительно небольшие и с нормальной скоростью сети проблем нет.
Если это тоже застряло, вы можете рассмотреть возможность перехода на домашний источник вкусняшки.
Переключите внутренний источник ням.
1、cd /etc/yum.repos.d/
2. Резервное копирование: cp CentOS-Base.repo CentOS-Base.repo.bak
3. Загрузите зеркало Alibaba Cloud локально:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
4. Очистите кеш yum
yum clean all
yum makecache
5、yum install -y ntpdate
Затем используйте команду для установки этих зависимостей.
yum install -y zlib-devel bzip2-devel \
openssl-devel ncurses-devel epel-release gcc gcc-c++ xz-devel readline-devel \
gdbm-devel sqlite-devel tk-devel db4-devel libpcap-devel libffi-devel
Во-вторых, должен быть установочный пакет с именем Python-3.8.3.tgz. Вы можете использовать для этого мой, а также скачать его самостоятельно, если скорость сети высокая.
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
tar -zxvf Python-3.8.3.tgz
Дальнейший процесс установки аналогичен.
mkdir /usr/local/python3
cd Python-3.8.3
./configure --prefix=/usr/local/python3
make && make install
Наконец, измените указатель системного Python.
rm -rf /usr/bin/python
ln -s /usr/local/python3/bin/python3 /usr/bin/python
rm -rf /usr/bin/pip
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
python -V
pip -V
успех!
Для студентов, прошедших этот этап, мы перейдем к этапу письма~
Для установки Docker требуются два пакета: docker-20.10.0.tgz и docker-compose-Linuxx86_64. Вы можете использовать для этого мой. Вы можете скачать его самостоятельно, если скорость сети высокая.
Docker-compose необходимо загрузить с github, что может работать медленно.
#Загрузить пакет docker-20.10.0
https://download.docker.com/linux/static/stable/x86_64/docker-version.tgz
#Скачиваем пакет docker-compose, соответствующий системе
https://github.com/docker/compose/releases/download/version/docker-compose-Linuxx86_64
Установить докер
tar -zxvf docker-20.10.0.tgz
#Переместите содержимое распакованного файла Docker в /usr/bin/ в каталоге
cp docker/* /usr/bin/
#Проверить версию докера
docker version
#Просмотр информации о докере
docker info
Настройте докер.
КонфигурацияDocker автоматически запускает службу после загрузки.
#Добавляем файл docker.service
vi /etc/systemd/system/docker.service
#Нажмите i для режима вставки, скопируйте следующим образом:
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues
still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
Установить докер-compose
Загрузите docker-compose на сервер/usr/local/bin/:
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker
containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
#Добавляем права на исполняемый файл
chmod +x /etc/systemd/system/docker.service
#Перезагрузить файл конфигурации
systemctl daemon-reload
#Запустить Докер
systemctl start docker
#Просмотр статуса запуска докера
systemctl status docker
#Просмотр контейнеров запуска
docker ps
#Устанавливаем автозапуск при загрузке
systemctl enable docker.service
#Просмотр статуса запуска докера включено: включено, отключено: закрыто
systemctl is-enabled docker.service
Установить докер-compose
mkdir -p ~/.docker/cli-plugins
cp docker-compose-Linuxx86_64 ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
docker compose version
Отображаемая версия: успех Для студентов, прошедших этот этап, мы перейдем к этапу письма~
В зависимости от установки Datahub необходимо использовать большое количество пакетов Python. К счастью, pip интегрирован и его можно легко установить. Конечно, скорость сети является проблемой, поэтому рекомендуется выбрать подходящий источник.
Изменить pip на внутренний источник
cd ~
mkdir .pip
cd .pip
vim pip.conf
#Установите следующим образом
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
Сначала проверьте окружающую среду
python3 -m pip uninstall datahub acryl-datahub || true # sanity check - ok if it
fails
Проверьте среду. Если вы получили такое приглашение, проблем нет.
WARNING: Skipping datahub as it is not installed.
Установите зависимые пакеты.
(cli обратно совместим с версией 0.10.5, без проблем)
pip3 install acryl-datahub==0.10.5
Проверьте статус версии.
python -m datahub version
Отображаемая версия: успех Для студентов, прошедших этот этап, мы перейдем к этапу письма~
Загрузка образа. Следующим шагом будет загрузка образа. Мы знаем, что компоненты datahub имеют множество зависимостей общим объемом более десяти ГБ, поэтому при загрузке нужно проявить терпение. Но образ универсальный, его можно загрузить напрямую, а можно использовать скачанный пакет образа.
Это самый важный шаг, и большинство друзей застревают на нем.
В файле конфигурации в GitHub записана информация для загрузки образа linkedin/datahub/master/docker/quickstart/docker-composewithout-neo4j.quickstart.yml.
Обратите внимание:
1. Так как версия в этой конфигурации записана как головная, то это означает, что вам придется видеть самый последний образ при каждом запуске, а образ часто меняется, в результате чего каждый раз скачивается.
2. Механизм докера заключается в том, что если образ уже существует локально, он не будет загружен.
3. На момент публикации текущий датахаб только что выпустил версию 0.10.4, а это значит, что версия 0.10.4 больше не изменится. Загрузите ее один раз и больше не загружайте.
Так что просто скачайте мой пакет образа datahub и объедините его с моим файлом конфигурации docker-composewithout-neo4j-dugufeng.quickstart.yml.
(Я изменил все номера версий).
Эти проблемы можно решить, и датахаб работает стабильно.
Сначала загрузите мой пакет изображений. Затем загрузите сервер и загрузите другие изображения.
docker load -i elasticsearch7.10.1.tar
docker load -i cp-schema-registry.tar
docker load -i cp-zookeeper.tar
。。。
Наконец, запустите образы Docker, чтобы убедиться, что все изображения в порядке.
Затем запустите концентратор данных в обычном режиме и обязательно используйте версию файла конфигурации Dugufeng.
python -m datahub docker quickstart --quickstart-compose-file ./docker-compose-without-neo4j-dugufeng.quickstart.yml
Произошло волшебство, хаб данных запустился напрямую.
IP доступа: 9002, все нормально!
Больше не зацикливайтесь на окружающей среде, поторопитесь и примените это на практике~