【分布式存储项目】(2)动态库链接问题以及服务器配置

2 篇文章 0 订阅
2 篇文章 0 订阅

1.动态库问题以及解决方案

1.1问题发现

在Linux环境下编写C程序时,经常需要使用动态库,这里给出常见动态库问题的解决方案。
开源项目使用redis中的examples.c程序
直接编译错误
直接使用指令对example.c进行编译

gcc example.c

出现以下错误

缺少头文件
提示缺少头文件hiredis.h,使用查找指令

find /usr/local/include -name "hiredis.h"

查找头文件
导入头文件继续进行编译

gcc examples.c -I /usr/local/include/hiredis -o example

出现动态库未找到错误

动态库错误
找到动态库文件的目录
返回父目录

1.2 解决动态库问题的三种方案
1.

使用环境变量LD_LIBRARY_PATH
将动态库的绝对路径添加到该环境变量中

LD_LIBRARY_PATH = /usr/include/xxx:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

写入到配置文件当中

~/.bashrc  -用户级别
/etc/profile -系统级别
2.

给动态库设置软连接 /usr/USERNAME/fastdfs
将软连接放到 /usr/lib /usr/lib64 /lib /lib4

sudo ln -s /usr/USERNAME/fastdfs/XXX.so /usr/lib/libXXX.so
3.(推荐)

刷新/etc/ld.so.cache

vi etc/ld.so.conf
sudo ldconfig -v
1.3

完成动态库配置之后,再检查动态库链接情况

ldd example

动态库连接情况
执行redis-test程序
测试程序通过

2.fastDFS基本配置

1.默认配置文件的位置

/etc/fdfs

2.Tracker追踪器配置

修改配置文件

bind_addr = 192.168.82.101
port = 22122
base_path = /home/USERNAME/fastDFS/tracker

启动tracker服务

fdfs_trackered /etc/fdfs/tracker.conf
sudo fdfs_trakcerd /etc/fdfs/trakcer.conf restart
sudo fdfs_trakcerd /etc/fdfs/trakcer.conf stop
3.Storage配置
group_name = group1 //存储节点所属的组
bind_addr = 192.168.82.101 //存储节点绑定的IP
port = 23000
base_path = /home/USERNAME/fastDFS/storage
store_path_count = 1//存储目录的个数
store_path0=/home/USERNAME/fastDFS/storage //配置具体存储目录
tracker_server=192.168.82.101:22122

启动Storage服务

fdfs_storaged /etc/fdfs/storage.conf
4.Clinet配置
base_path = /home/USERNAME/fastDFS/client
tracker_server=192.168.82.101:22122
5.检测fdfs环境

检测通过

6.进行文件上传至服务器
fdfs_upload_file /etc/fdfs/client.conf makefile(some file...)

文件上传
至此,fastDFS服务器配置完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值