Sept Linux sont requis.
Pour créer un cluster de système de fichiers distribué FastDFS, il est recommandé de déployer au moins 6 nœuds de serveur;
==Créer un cluster FastDFS
Étape 1: Installez 6 mini versions de Linux La mini version de Linux n'a pas d'interface graphique et prend peu de disque et de ressources Le Linux utilisé dans l'entreprise est Linux sans interface graphique;
Étape 2: Comme la version mini de Linux ne dispose pas de certaines bibliothèques d'outils couramment utilisées, son fonctionnement n'est pas pratique. Il est recommandé d'installer les bibliothèques d'outils suivantes:
1. Installez lrzsz, yum install lrzsz -y
2. Installez wget, yum install wget -y
4. Installer vim, yum installer vim -y
5. Installer unzip, yum installer unzip -y
6. Installer ifconfig, yum installer net-tools -y
yum installer lrzsz wget vim décompresser net-tools -y
7. Installez les dépendances de bibliothèque requises par nginx et fastdfs:
yum install gcc perl openssl openssl-devel pcre pcre-devel zlib zlib-devel libevent libevent-devel -y
La troisième étape consiste à installer fastdfs
1. Téléchargez le package d'installation de fastdfs et libfastcommon
2. Décompressez libfastcommon et installez libfastcommon
3. Décompressez fastdfs et installez fastdfs
4. Copiez http.conf et mime.types dans le répertoire fastdfs dans le répertoire / etc / répertoire fdfs
Remarque: les 6 machines effectuent ces opérations
Étape 4: déployez deux serveurs de serveur de suivi, le travail à effectuer:
修改两个tracker服务器的配置文件:
tracker.conf: 修改一个地方:
base_path=/opt/fastdfs/tracker #设置tracker的数据文件和日志目录(需预先创建)
启动tracker服务器 fdfs_trackerd /etc/fdfs/tracker.conf
La cinquième étape consiste à modifier le fichier storage.conf dans les quatre stockages des deux groupes. Le
premier serveur de stockage du premier groupe de group1 (modifier le fichier de configuration
storage.conf ): group_name = group1 #group name, le modifier selon à la situation réelle, la valeur est group1 ou group2
base_path = / opt / fastdfs / storage #Set storage log directory (doit être créé à l'avance)
store_path0 = / opt / fastdfs / storage / files
#Storage path tracker_server = 192.168.171.135 : 22122 Adresse IP du serveur #tracker et numéro de port
tracker_server = 192.168.171.136: 22122
第二组group2的第一个storage server(修改storage.conf配置文件):
group_name=group2 #组名,根据实际情况修改,值为 group1 或 group2
base_path=/opt/fastdfs/storage #设置storage的日志目录(需预先创建)
store_path0=/opt/fastdfs/storage/files #存储路径
tracker_server=192.168.171.135:22122 #tracker服务器的IP地址以及端口号
tracker_server=192.168.171.136:22122
启动storage服务器
使用之前的Java代码测试FastDFS的6台机器是否可以上传文件
Remarque: FastDFS est une stratégie d'équilibrage de charge par défaut. Vous pouvez modifier le fichier tracker.conf sur les 2 machines du tracker
store_lookup = 1
0 随机存放策略
1 指定组
2 选择磁盘空间的优先存放 默认值
修改后重启服务
fdfs_trackerd /etc/fdfs/tracker.conf restart
Utilisez Nginx pour l'équilibrage de charge========
La sixième étape consiste à installer nginx et à utiliser nginx pour équilibrer la charge de fastdfs.
Téléchargez nginx-1.12.2.tar.gz et le package d'installation du module d'extension fastdfs de
nginx fastdfs-nginx-module-master.zip pour ajouter la dépendance d'installation de nginx
yum install gcc openssl openssl -devel pcre pcre-devel zlib zlib-devel -y
Décompressez nginx
tar -zxvf nginx-1.12.2.tar.gz
Décompressez le module d'extension
fastdfs décompressez fastdfs-nginx-module-master.zip
Configurez les informations d'installation de nginx pour
2 serveurs de suivi Configuration information (le module fastdfs n'est pas requis)
./configure --prefix = / usr / local / nginx_fdfs
Informations de configuration de 4 serveurs de stockage (le module fastdfs est requis)
./configure --prefix = / usr / local / nginx_fdfs - add-module = / root / fastdfs-nginx-module-master / src
compile et installe nginx
./make
./make install
4台storage的服务器需要拷贝mod_fastdfs文件
将/root/fastdfs-nginx-module-master/src目录下的mod_fastdfs.conf文件拷贝到 /etc/fdfs/目录下,这样才能正常启动Nginx;
La septième étape consiste à configurer le nginx des deux machines de suivi
dans le répertoire d'installation
cd / usr / local / nginx_fdfs
添加一个location 对请求进行拦截,配置一个正则规则 拦截fastdfs的文件路径, 并将请求转发到其余的4台storage服务器(修改 conf目录下nginx.conf 文件)
#nginx拦截请求路径:
location ~ /group[1-9]/M0[0-9] {
proxy_pass http://fastdfs_group_server;
}
添加一个upstream 执行服务的IP为 另外的4台stroage 的地址
#部署配置nginx负载均衡:
upstream fastdfs_group_server {
server 192.168.171.137:80;
server 192.168.171.138:80;
server 192.168.171.139:80;
server 192.168.171.140:80;
}
La huitième étape consiste à configurer 4 autres nginx de stockage pour ajouter l'interception du chemin de la demande d'accès http.
Entrez le répertoire d'installation
cd / usr / local / nginx_fdfs pour
ajouter un emplacement pour intercepter la demande, configurez une règle régulière pour intercepter le chemin du fichier de fastdfs, et utiliser le module nginx de fastdfs Transférer la requête (modifier le fichier nginx.conf dans le répertoire conf)
#nginx intercept request path:
location ~ / group [1-9] / M0 [0-9] { ngx_fastdfs_module; }
La neuvième étape consiste à modifier le fichier mod_fasfdfs.conf (/etc/fdfs/mod_fastdfs.conf) des 4 serveurs de stockage respectivement #Modifiez le
chemin de base et créez le dossier correspondant dans le chemin spécifié
base_path = / opt / fastdfs / nginx_mod # Enregistrer le répertoire du journal
# Spécifiez l'
adresse IP et le port des deux serveurs de suivi tracker_server = 192.168.171.135: 22122 # L'adresse IP et le numéro de port du serveur de suivi tracker_server = 192.168.171.136: 22122 #Spécifiez le numéro de port du serveur de stockage storage_server_port = 23000
# Pas besoin de modifier en général #Specify Le nom du groupe auquel appartient le serveur de stockage actuel (les cas actuels 03 et 04 sont group1 05 et 06 sont group2) group_name = group1 #Le nom du groupe du serveur actuel #Specify si le nom du groupe est inclus dans le chemin de l'url (l'url du cas actuel contient le nom du groupe) url_have_group_name = true # S'il y a un nom de groupe dans le fichier url store_path_count = 1 # Le nombre de chemins de stockage, doit correspondre au nombre de store_path (généralement pas besoin de changer) store_path0 = / opt / fastdfs / storage / files #Storage path # Spécifiez le nombre de groupes, en fonction de la décision de configuration réelle, (le cas actuel a 2 groupes group1 et group2) group_count = 2 #Définir le nombre de groupes
在末尾增加2个组的具体信息:
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/storage/files
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/opt/fastdfs/storage/files
第一个组的第二个storage按照相同的步骤操作;
另外一个组的两个storage也按照相同的步骤操作;
#测试nginx的配置文件是否正确(测试全部6台服务器)
/usr/local/nginx_fdfs/sbin/nginx -c /usr/local/nginx_fdfs/conf/nginx.conf -t
#启动nginx服务器(全部6台服务器)
/usr/local/nginx_fdfs/sbin/nginx -c /usr/local/nginx_fdfs/conf/nginx.conf
Test: utilisez un navigateur pour accéder aux fichiers fastdfs dans les 6 serveurs respectivement
Étape 10: Déployez les utilisateurs frontaux pour accéder au serveur d'entrée, c'est-à-dire accéder à Nginx sur 192.168.230.128. La charge de Nginx est équilibrée avec les 2 serveurs de suivi principaux;
configurez l'emplacement du fichier nginx.conf
~ / group [1 -9] / M0 [0 -9] { proxy_pass http: // fastdfs_group_server; }
添加一个upstream 执行服务的IP为 2台tracker 的地址
#部署配置nginx负载均衡:
upstream fastdfs_group_server {
server 192.168.171.135:80;
server 192.168.171.136:80;
}
Test: utilisez un navigateur pour accéder au fichier fastdfs sur le serveur 128 (le seul serveur nginx d'entrée).
Remarque: Étant donné que les 128 nginx précédents peuvent avoir une interception de ressources statiques, le fichier n'est pas accessible. Pour le moment, vous pouvez commenter ou supprimer ces intercepteurs de ressources statiques.
matériaux additionnels==============
Enfin, pour que le service se connecte normalement au tracker, veuillez désactiver les pare-feu de toutes les machines:
systemctl status firewalld Afficher l'état du pare-feu
systemctl disable firewalld Désactiver le démarrage pare - feu
systemctl arrêt firewalld Arrêtez le pare - feu
réseau de redémarrage systemctl réseau de redémarrage
réseau de démarrage systemctl réseau de démarrage
systemctl réseau d'arrêt du réseau d'arrêt
Il est possible que le Linux installé (sans graphiques) n'ait pas le service de carte réseau activé, vous pouvez modifier le fichier de configuration de la carte réseau sous / etc / sysconfig / network-scripts pour définir ONBOOT = yse pour
démarrer la carte réseau, puis démarrez le service réseau.
Keepalived est un logiciel qui bascule automatiquement sur le serveur nginx de secours lorsque le nginx principal tombe en panne, généralement par le personnel d'exploitation et de maintenance