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

OSCHINA-MIRROR/brother-ting-om

Клонировать/Скачать
Linux应用.md 23 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 28.11.2024 17:54 41a3ca4

Linux-приложения (однопользовательская версия)

Требования к среде разработки: виртуальная машина VMware 15.5.6 + CentOS 7.8

1. Установка программного обеспечения в системе Linux

  • Какие существуют способы установки программного обеспечения в Linux?
  • Как установить различные программы в системе Linux?

1.1 Установка программного обеспечения

В Linux для установки, удаления и поиска программного обеспечения используется менеджер пакетов.

Менеджеры пакетов делятся на две категории:

  • бэкенд-инструменты: rpm, dpt;
  • фронтэнд-инструменты: yum.

Бэкенд-инструменты имеют следующие проблемы:

  • сложные зависимости между программами;
  • например, X зависит от Y, а Y — от Z.

Фронтэнд-инструмент yum был создан для решения проблем с зависимостями между программами. Yum анализирует зависимости устанавливаемой программы и скачивает все необходимые пакеты из сети (yum-репозитория), после чего устанавливает программу.

1.2 Часто используемые команды rpm

  • Установить пакет:
    rpm -ivh <имя пакета>
    Опция --nodeps позволяет установить пакет, игнорируя зависимости:
    rpm -ivh --nodeps <имя пакета>
    Опция --force заставляет установить пакет, даже если это приведёт к конфликту с другими пакетами:
    rpm -ivh --force <имя пакета>
  • Проверить, установлен ли пакет:
    rpm -q <имя пакета>
  • Получить информацию о пакете:
    rpm -qi <имя пакета>
  • Вывести список файлов в пакете:
    rpm -ql <имя пакета>
  • Определить, какому пакету принадлежит файл или каталог:
    rpm -qf <файл или каталог>
  • Перечислить все установленные пакеты:
    rpm -qa
  • Удалить пакет:
    rpm -e <имя пакета>

1.3 Часто используемые команды yum

  • Посмотреть список всех пакетов в yum-репозитории:
    yum list
    yum list | grep <содержимое>
  • Установить программу:
    yum install <имя программы>
  • Посмотреть установленные программы:
    yum list installed
    yum list installed | grep <содержимое>
  • Удалить программу:
    yum remove <имя программы>

2. JDK 1.8+ установка

Скачать JDK 1.8 можно по ссылке: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html. Выберите файл jdk-8u271-linux-x64.tar.gz. Загрузите его и скопируйте в каталог /usr/local.

Распакуйте файл командой:

tar -zxvf jdk-8u271-linux-x64.tar.gz

После распаковки будет создана папка jdk1.8.0_271. Переименуйте её в jdk8:

mv jdk1.8.0_271 jdk8

Перейдите в каталог /etc и откройте файл profile:

vi /etc/profile

Добавьте следующие строки:

JAVA_HOME=/usr/local/jdk8
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME

Сохраните и закройте файл.

Чтобы изменения вступили в силу, выполните команду:

source /etc/profile

Проверьте установку Java с помощью команды:

java

Если команда выполняется успешно, значит, установка прошла успешно.

3. Tomcat 8.5.x установка

Скачайте Tomcat по ссылке: https://tomcat.apache.org/download-80.cgi. Выберите файл apache-tomcat-8.0.50.tar.gz и загрузите его. Скопируйте файл в каталог /usr/loca/.

Распакуйте архив командой:

tar -zxvf apache-tomcat-8.0.50.tar.gz

Переместите распакованную папку в /usr/local:

mv apache-tomcat-8.0.50 /usr/local

Запустите Tomcat командой:

./bin/start.sh

Убедитесь, что Tomcat запущен, выполнив команду:

ps -ef | grep tomcat

По умолчанию порт Tomcat — 8080. Чтобы получить доступ к серверу, необходимо открыть этот порт в брандмауэре. Введите в браузере адрес вашей машины и порт 8080, чтобы проверить работу сервера.

Например: http://192.168.0.111:8080/

4. MySQL 8.0.22 установка

Загрузите MySQL по ссылке: https://downloads.mysql.com/archives/community/. Выберите файл mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz и скачайте его. Скопируйте архив в каталог /usr/local/.

Извлеките содержимое архива командой:

tar xvf /usr/local/mysql-8.0.22-linux-glibc2.12-x86_64.tar.xz

Создайте каталог data внутри папки mysql:

mkdir data

Откройте файл my.cnf в редакторе:

vi /etc/my.cnf

Добавьте в файл следующие строки:

[mysqld]
port=3306
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
max_connections=10000
max_connect_errors=10
character-set-server=UTF8
default-storage-engine=INNODB
lower_case_table_names=1
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
symbolic-links=0

[mysql_safe]
log-error=/usr/local/mysql/data/mysqld.log
pid-file=/usr/local/mysql/data/mysql.pid

Сохраните файл и закройте редактор.

Создайте пользователя MySQL и предоставьте ему права доступа:

  1. Создайте группу mysql и добавьте в неё пользователя mysql:
    groupadd mysql
    useradd -g mysql mysql
  2. Предоставьте права доступа пользователю mysql к каталогу /usr/local/mysql:
    chown -R mysql.mysql /usr/local/mysql
    chmod 755 /usr/local/mysql
  3. Установите права доступа к файлу my.cnf:
    chmod 644 /etc/my.cnф

Сгенерируйте базовые данные MySQL:

  1. Перейдите в каталог bin внутри папки MySQL:
    cd /usr/local/mysql/bin
  2. Выполните команду для генерации базовых данных MySQL:
    ./mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --lower_case_table_names=1 --initialize
    ``` **Обновление переменных среды: source /etc/profile**
    
  • Протестируйте установку Erlang: введите команду: erl.

  • В нём введите halt(). Команда для выхода (не забудьте про точку).

  • На этом установка Erlang завершена.

6.2. Повторная установка RabbitMQ

  • Скачать RabbitMQ можно по адресу: https://github.com/rabbitmq/rabbitmq-server/releases/. Версия для скачивания: https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.11/rabbitmq-server-generic-unix-3.8.11.tar.xz.

  • Для RabbitMQ версии 3.8.11 требуется версия Erlang от 2.2.x до 2.3.x.

  • Перенесите файл rabbitmq-server-generic-unix-3.8.11.tar.xz в каталог /usr/local.

  • Поскольку это формат tar.xz, вам потребуется использовать xz. Если у вас его нет, сначала установите его с помощью команды:

      yum install -y xz
  • Первое разархивирование: /bin/xz -d rabbitmq-server-generic-unix-3.8.11.tar.xz

  • Второе разархивирование: tar -zxvf rabbitmq-server-generic-unix-3.8.11.tar

  • Удалите пакет rabbitmq-server-generic-unix-3.8.11.tar: rm -f rabbitmq-server-generic-unix-3.8.11.tar

  • Переименуйте файл: mv /usr/local/rabbitmq_server-3.8.11 rabbitmq

  • Настройка переменных среды: echo 'export PATH=$PATH:/usr/local/rabbitmq/sbin' >> /etc/profile

  • Обновление переменных среды: source /etc/profile

  • Создание каталога конфигурации: mkdir /etc/rabbitmq

  • Управление RabbitMQ:

    • Запуск: rabbitmq-server -detached
    • Остановка: rabbitmqctl stop
    • Просмотр состояния: rabbitmqctl status
  • Открытие портов в брандмауэре:

    • Открыть порты: 5672 и 15672
    • Добавить порт: firewall-cmd --add-port=5672/tcp --permanent
    • Добавить порт: firewall-cmd --add-port=15672 /tcp --permanent
    • Обновить правила брандмауэра: firewall-cmd --reload
    • Просмотреть открытые порты: firewall-cmd --list-ports
  • Веб-управление RabbitMQ:

    • Включить веб-плагин: rabbitmq-plugins enable rabbitmq_management
    • Пароль по умолчанию: guest guest (этот аккаунт доступен только на локальном хосте)
  • Пользовательский менеджмент:

    • Посмотреть всех пользователей: rabbitmqctl list_users

    • Создать пользователя: rabbitmqctl add_user tg 123456

    • Установить разрешения:

     rabbitmqctl set_permissions -p "/" tg ".*" ".*" ".*"
    • Проверить разрешения пользователя: rabbitmqctl list_user_permissions tg

    • Задать тег: rabbitmqctl set_user_tags tg administrator

    • Удалить пользователя (для тестирования, рекомендуется не удалять): rabbitmqctl delete_user guest

  • Если во время операции возникает ошибка:

    • 
      

    Error: unable to perform an operation on node 'rabbit@localhost'. Please see diagnostics information and suggestions below.

    Most common reasons for this are:

    • Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
    • CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
    • Target node is not running

    In addition to the diagnostics info below:

    • See the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more
    • Consult server logs on node rabbit@localhost
    • If target node is configured to use long node names, don't forget to use --longnames with CLI tools

    DIAGNOSTICS

    attempted to contact: [rabbit@localhost]

    rabbit@localhost: * connected to epmd (port 4369) on localhost * epmd reports: node 'rabbit' not running at all no other nodes on localhost * suggestion: start the node

    Current node details:

    • node name: 'rabbitmqcli-57247-rabbit@localhost'
    • effective user's home directory: /var/lib/rabbitmq
    • Erlang cookie hash: unswVCIRfHzkYWCn9Y3/lw== 实际上这有可能是因为我们停止的时候进程并未完全关闭,导致后续重启失败,rabbitmq没有启动

    Rabbitmq-server默认占用的端口号有:5672、15672、25672、4369

    命令查看这几个端口的进程情况:

    [root@public44 ~]# ss -tnlp | grep 4369 [root@public44 ~]# ss -tnlp | grep 15672 [root@public44 ~]# ss -tnlp | grep 5672 [root@public44 ~]# ss -tnlp | grep 25672

    发现4369这个端口的确被进程占用

    然后kill - 9 52028

    然后重新再启动就可以了

7.Elasticsearch7.6.2+Kibana7.6.2+中文分词7.6.2

7.1 elasticsearch7.6.2 安装

  • https://mirrors.huaweicloud.com/(华为开源镜像站,下载速度比较快点)下载地址 https://repo.huaweicloud.com/elasticsearch/7.6.2/

  • Поместите файл elasticsearch-7.6.2-linux-x86_64.tar.gz в каталог /usr/local

  • Распакуйте: tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz

  • Удалите файл elasticsearch-7.6.2-linux-x86_64.tar.gz: rm -f elasticsearch-7.6.2-linux-x86_64.tar.gz

  • Переименовать: mv elasticsearch-7.6.2 elasticsearch

  • Создайте каталог data в каталоге elasticsearch для хранения данных: mkdir data

  • Измените файл конфигурации elasticsearch:

    • vi config/elasticsearch.yml

    • cluster.name: grootes #集群名称
      node.name: node-1 #节点名称
      #数据和日志的存储目录
      path.data: /usr/local/elasticsearch/data
      

Примечание: в тексте запроса присутствуют фрагменты кода на языке программирования YAML. В ответе они сохранены без изменений. path.logs: /usr/local/elasticsearch/logs

Настройка связанного IP, настройка 0.0.0.0 позволяет любому узлу компьютерного доступа

network.host: 0.0.0.0 http.port: 9200 # порт

Установка имён всех узлов в кластере, это имя узла было изменено ранее, конечно, вы также можете использовать значение по умолчанию, в настоящее время это одномашинная установка, достаточно поместить один узел

cluster.initial_master_nodes: ["node-1"]

* Изменение конфигурации памяти
  * Если ваша память достаточно большая, вы можете не изменять её, мы никогда не будем иметь такой большой объём памяти, поэтому уменьшите его с 1G до 512m
  * В производственной среде можно увеличить размер памяти
  * vi ./config/jvm.options
  * ```
    #-Xms1g
    #-Xmx1g
    -Xms512m
    -Xmx512m
    ```

* Создание учётной записи пользователя для elasticsearch
  * Продукт elasticsearch не позволяет запускать его с учётной записью root
  * ```
    # Создать пользователя
    adduser grootes
    # Установить пароль
    passwd grootes
    # Введите пароль дважды, если появится сообщение о том, что пароль слишком простой, установите более сложный пароль, например: tg123456
    ```
  * Каталог учётных записей и права доступа к файлам
  * ```
    # Предоставить разрешения на доступ к каталогам es и kibana для нового пользователя, /usr/local/elasticsearch/ является родительским каталогом es
    chown grootes /usr/local/ -R
    ```
  * Настройка ограничений для пользователей
  * ```
    vi /etc/security/limits.conf, добавьте в конце:
    grootes soft nofile 65536
    grootes hard nofile 65536
    grootes soft nproc 4096
    grootes hard nproc 4096
     
    vi /etc/security/limits.d/20-nproc.conf, добавить:
    grootes    soft    nproc     4096
    
    vi /etc/sysctl.conf
    fs.file-max = 65536
    vm.max_map_count = 262144
    
    ```
  * Сделать конфигурацию эффективной: выполнить sysctl -p
  * Добавить sudo разрешения пользователю: vi /etc/sudoers
  * ```
    Найдите строку «root ALL=(ALL) ALL», вставьте новую строку ниже (вставьте эффект следующим образом):
    root ALL=(ALL)       ALL
    grootes ALL=(ALL)       ALL
    ```

* Открыть порт
  * firewall-cmd --add-port=9200/tcp --permanent
  * firewall-cmd --reload

* Запустить elasticsearch
  * Сменить пользователя: su grootes
  * Запустить elasticsearch: ./bin/elasticsearch
  * Без ошибок, доступ: 192.168.0.128:9200 (обратите внимание: это мой локальный IP-адрес, не копируйте и не вставляйте его для доступа)
  * ```
    1. Во время запуска, если будет предложено, будущие версии Elasticsearch потребуют Java 11; ваша версия Java из [/usr/local/jdk/jre]
    2. На моей машине используется JDK 8, и она будет напоминать, что для последующих версий потребуется поддержка JDK 11. Но она обратно совместима.
    3. Я рекомендую попробовать версию JDK выше 11 для тестирования, здесь я не буду демонстрировать это.
    ```

  * ![img](https://img-blog.csdnimg.cn/20200420210853716.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NhcHRhaW5KYXZh,size_16,color_FFFFFF,t_70)

* Остановить выполнение и просмотреть журнал
  * Ctrl+c остановить выполнение elasticsearch, повторно выполнить команду фонового запуска: nohup ./bin/elasticsearch > nohup.out 2>&1 &
  * Журнал запуска будет выведен в файл nohup.out в каталоге выполнения команды
  * Просмотреть команду журнала: cat nohup.out

* Команда закрытия программы в фоновом режиме
  * ```
    # Сначала выполните
    nohup ./bin/elasticsearch > nohup.out 2>&1 &
    # Запрос процесса
    ps -aef | grep elasticsearch
    # Убить процесс с помощью kill -9 pid
    kill -9 123456
    ```

### 7.2 Установка kibana7.6.2

​ **Установка kibana намного проще**

* https://mirrors.huaweicloud.com/ (сайт зеркал Huawei Cloud, скорость загрузки относительно высокая) адрес для скачивания https://repo.huaweicloud.com/kibana/7.6.2/

* Загрузите kibana-7.6.2-linux-x86_64.tar.gz в каталог: /usr/local

* Распаковать: tar -zxvf kibana-7.6.2-linux-x86_64.tar.gz

* Удалить пакет kibana-7.6.2-linux-x86_64.tar.gz: rm -f kibana-7.6.2-linux-x86_64.tar.gz

* Переименовать: mv kibana-7.6.2 kibana

* Открыть порт
  * firewall-cmd --add-port=5601/tcp --permanent
  * firewall-cmd --reload

* Операция переключения пользователя: su grootes

* Изменить файл конфигурации
  * ```
    # Перейти в каталог kibana
    cd /usr/local/kibana
    # Редактировать файл конфигурации
    vi config/kibana.yml
    # Добавить следующее содержимое:
    server.port: 5601
    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://localhost:9200"]
    ```

* Запуск kibana
  * ./bin/kibana
  * Перед запуском kibana сначала запустите elasticsearch
  * http://192.168.0.128:5601 (обратите внимание: это мой локальный IP-адрес, не копируйте и не вставляйте его для доступа)

* Остановка выполнения и просмотр журнала
  * Ctrl+c остановить выполнение kibana, повторно выполнить команду запуска в фоновом режиме: nohup ./bin/kibana> nohup.out 2>&1 &
  * Журнал запуска будет выводиться в файл nohup.out в каталоге выполнения команды
  * Просмотр команды журнала: cat nohup.out

* Закрыть команду программы в фоновом режиме
  * ```
    # Выполнить сначала
    nohup ./bin/kibana > nohup.out 2>&1 &
    # Запросить процесс
    ps -aef | grep kibana
    # Убить процесс с помощью kill -9 pid
    kill -9 123456
    ```

### 7.3 Разделение слов на китайском языке 7.6.2

* Скачать адрес: https://github.com/medcl/elasticsearch-analysis-ik/releases найти версию 7.6.2 для загрузки, обязательно соответствовать версии

* Скачайте соответствующий zip-пакет, распакуйте его и поместите в каталог elasticsearch/plugins/ik/, затем удалите исходный zip-файл.

* Обратите внимание: вам нужно переключиться на использование пользователя grootes для работы.

* ```
  Перейти в каталог plugins: cd /usr/local/elasticsearch/plugins/
   
  Создать каталог ik: mkdir ik
   
  Распаковать файлы анализатора: unzip elasticsearch-analysis-ik-7.6.2.zip
   
  Удалить исходный zip-архив: rm -rf elasticsearch-analysis-ik-7.6.2.zip
  • Перезапустите elasticsearch

    • Следуйте инструкциям по завершению поиска и уничтожению процесса es, а затем перезапустите es. Откройте kibana, чтобы проверить эффект сегментации.

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/brother-ting-om.git
git@api.gitlife.ru:oschina-mirror/brother-ting-om.git
oschina-mirror
brother-ting-om
brother-ting-om
master