自己学习Linux 时间也不短了,从简单的命令到一些基本的软件,还有对Linux 网络,存储,都有一定的了解,但是怎么感觉一直掌握不熟练,原来是一直没有自己的练习,所以从现在开始开始慢慢做自己的一个小企业级应用 利用HA 搭建 高可用前段集群,利用nginx 的upstream 搭建负载均衡,并且实现反向代理后端服务器,
现在自己有三个虚拟机,都是Linux 的 2.6.32的内核, 由于资源有限,现在先用两台主机搭建一个HA 高可用集群, 然后删除一个 做nginx 负载均衡 后端用tomcat 实现web实现
话不多说 开始干
两台 server 虚拟机,用host-only 连接 IP 分别是 192.168.137.100/192.168.137.100 (为了保证server能联网,每个虚拟机装两个网卡,第一个网卡就是自己固定的IP ,第二块网卡用NAT 方式连接,保证虚拟机可以连上网,以便于安装软件 我喜欢用wget 方式来下载安装包。下载完成以后 再把第二块网卡改成一个心跳ip,没办法 ,工作电脑 只能这么搞了。嘿嘿,这个配置可以自己在网络配置中找到)
首先说下HA, 从我这个门都没有进的人眼中看,HA 就是利用heartbeat 软件, 把两台服务器连接起来,利用心跳检测,利用共享磁盘,然后有一个内部的UDP IP广播,或者是串口, 把这些集合在一起,混杂配置 配置。 当然,其中还有很多很多具体的问题,比如磁盘共享那一块就很多需要具体解决的复杂的问题,但是现在只是搭建一个测试的HA ,所以 不要在意太多
下载 heartbeat 压缩包 http://www.linux-ha.org/wiki/Downloads
上面的heartbeat ,cluster glue ,resource agents 都要下了
由于我装得是mini版的CentOS所以 有非常多的包需要下,我会在最后写下我安装中让人头疼的错误,真心是非常多。
一样的 tar -jxvf 解压软件(tar.bz2)
然后就一步一步的 这是官网上的步骤
$ ./bootstrap
$ ./configure --help
$ ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var LIBS='/lib/libuuid.so.1'
#查看下 lib下面有没有这个 没有的话 yum下载之
$ make
$ sudo make install
但是执行第一个就一直报错,按部就班 查看需要什么包 需要什么装什么
autoconf automake libtool
这些 都可以在ftp://ftp.gnu.org/pub/gnu/ 这上面找到 包 自己下吧。。wget很方便。。不需要挂载什么东西。 (我下载的最新的heartbeat 需要最新的autoconf 和 automake 就是这个最新的搞得我费了半天劲
晚上11点。 install 了半个多小时。。终于 装上了!!!! 明天开始正式配置。
-----------那些需要升级包还有少包的错误就不写了----------
1.
Reusable-Cluster-Components-glue—glue-1.0.9
./autogen.sh
报告如下错误
configure.ac:71: error: possibly undefined macro:AC_LIBTOOL_DLOPEN
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:72: error: possiblyundefinedmacro:AC_LIBLTDL_CONVENIENCE
configure.ac:73: error: possibly undefined macro: AC_PROG_LIBTOOL
./autogen.sh exiting due to error (sorry!).
解决办法是,在执行一次./autogen.sh 即可(不清楚)
2.编译heartbeat时报错:
configure: error: Core development headers were not found
See `config.log'' for more details.
./bootstrap exiting due to error (sorry!).
解决:这需要中间层包glue,
3.出现configure.in:required file './install-sh' not found 求大神
这个把 automake 下面的 install-sh 拷贝到root 目录下
4.安装Reusable-Cluster-Components-glue--glue-1.0.9
./.libs/libplumb.so: undefined reference to `uuid_parse’
./.libs/libplumb.so: undefined reference to `uuid_generate’
./.libs/libplumb.so: undefined reference to `uuid_copy’
./.libs/libplumb.so: undefined reference to `uuid_is_null’
./.libs/libplumb.so: undefined reference to `uuid_unparse’
./.libs/libplumb.so: undefined reference to `uuid_clear’
./.libs/libplumb.so: undefined reference to `uuid_compare’
collect2: ld returned 1 exit status
gmake[2]: *** [ipctest] Error 1
gmake[2]: Leaving directory `/root/Reusable-Cluster-Components-glue-1.0.6/lib/clplumbing’
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/root/Reusable-Cluster-Components-glue-1.0.6/lib’
make: *** [all-recursive] Error 1
解决办法:
./configure --prefix=$PREFIX --with-daemon-user=${CLUSTER_USER} --with-daemon-group=${CLUSTER_GROUP} --enable-fatal-warnings=no LIBS='/lib64/libuuid.so.1'
各位在./configure的时候指定一下LIBS,如果是32位系统的话改成LIBS='/lib/libuuid.so.1'。下面ClusterLabs-resource Heartbeat在./configure的时候都指定一下,要不然继续报错。
5。make时出现
lib/pils/.libs/libpils.so -lbz2 -lxml2 -lc -lrt -ldl -lglib-2.0 -lltdl ./.libs/libplumb.so: undefined reference to `uuid_parse' ./.libs/libplumb.so: undefined reference to `uuid_generate' ./.libs/libplumb.so: undefined reference to `uuid_copy' ./.libs/libplumb.so: undefined reference to `uuid_is_null' ./.libs/libplumb.so: undefined reference to `uuid_unparse' ./.libs/libplumb.so: undefined reference to `uuid_clear' ./.libs/libplumb.so: undefined reference to `uuid_compare' collect2: ld returned 1 exit status gmake[2]: *** [ipctest] Error 1
解决办法:yum install e2fsprogs-devel libuuid-devel
6../configure时出现configure: error: BZ2 libraries not found
解决办法:yum -y install bzip2-devel glib2-devel
7编译安装3.0.7,make时出错了
ucast.c: 在函数‘HB_make_send_sock’中:
ucast.c:468: 错误:与‘i’类型冲突
ucast.c:465: 附注:‘i’的上一个声明在此
ucast.c:502: 错误:在非结构或联合中请求成员‘ifr_ifrn’
ucast.c:508: 错误:在非结构或联合中请求成员‘ifr_ifrn’
ucast.c:513: 错误:在非结构或联合中请求成员‘ifr_ifrn’
gmake[4]: *** [ucast.lo] 错误 1
gmake[4]: Leaving directory `/usr/local/src/Heartbeat-3-0-7e3a82377fa8/lib/plugins/HBcomm'
gmake[3]: *** [all-recursive] 错误 1
gmake[3]: Leaving directory `/usr/local/src/Heartbeat-3-0-7e3a82377fa8/lib/plugins/HBcomm'
gmake[2]: *** [all-recursive] 错误 1
gmake[2]: Leaving directory `/usr/local/src/Heartbeat-3-0-7e3a82377fa8/lib/plugins'
gmake[1]: *** [all-recursive] 错误 1
gmake[1]: Leaving directory `/usr/local/src/Heartbeat-3-0-7e3a82377fa8/lib'
make: *** [all-recursive] 错误 1
解决方法:Heartbeat-3-0-7e3a82377fa8/lib/plugins/HBcomm/ucast.c
这个文件貌似有问题,删除468行int i = 1;应该就能make了。(这个真心坑爹)
8. 下面是一些要安装的 包 应该比较全了
ftp://ftp.gnu.org/pub/gnu/automake/automake-1.14.tar.gz
ftp://ftp.gnu.org/pub/gnu/autoconf/autoconf-2.69.tar.gz
http://hg.linux-ha.org/heartbeat-STABLE_3_0/archive/7e3a82377fa8.tar.bz2
http://hg.linux-ha.org/glue/archive/glue-1.0.9.tar.bz2
https://github.com/ClusterLabs/resource-agents/tarball/v3.9.2
yum install bzip2-devel
yum install glib2-devel
yum install libxml2 libxml2-devel
yum install gcc-c++
yum install libtool-ltdl-devel
yum install libxslt-devel
分享到:
相关推荐
HA+nginx集群
Nginx第一天学习笔记
学习Nginx HTTP Server.pdf 清晰版
通过这个例子,开发者可以学习到Nginx模块开发的基本流程,从而能够根据实际需求创建自己的模块,增强Nginx的功能。这个过程涉及到了C语言编程、Nginx API理解和配置文件解析等多个方面,对提升Nginx的使用和开发...
第1章 Nginx简介 第2章 Nginx服务器的安装与配置 第3章 Nginx的基本配置与优化 第4章 Nginx与PHP(FastCGI)的安装、配置与优化 第5章 Nginx与JSP、ASP.NET、Perl的安装与配置 第6章 Nginx HTTP负载均衡和反向代理的...
**Nginx源码学习资料概述** Nginx是一款高性能的HTTP和反向代理服务器,以其轻量级、高并发处理能力以及优秀的稳定性而受到广大Web开发者和运维人员的青睐。学习Nginx源码有助于深入理解其工作原理,提高在实际应用...
Nginx第二天学习笔记
Nginx第三天学习笔记
《Nginx学习丛书:Nginx应用与提高》是一套深入探讨Nginx服务器的教程,涵盖了Nginx在各种场景下的应用和优化。这套资料的目的是帮助读者全面理解和掌握Nginx的强大功能,提升其在实际工作中的效能。 1. **第3章 ...
Nginx是一款高性能的HTTP和反向代理服务器,也是一款邮件代理服务器,广泛应用于网站的负载均衡和静态资源处理。其轻量级、高效的特性使其在全球范围内被许多大型网站所采用。下面,我们将深入探讨Nginx的核心概念、...
想学习Nginx的同学快来看哦~比较适合初学者。
《精通Nginx(第二版)》是一本深入解析Nginx配置的权威指南,由瑞士的Dimitri Aivaliotis撰写,并由李红军翻译为中文版。这本书旨在帮助读者全面理解Nginx的强大功能,提升服务器性能,优化网络服务。Nginx是一款高...
windows nginx 按天切割日志
`nginx` 是一款高性能的反向代理服务器,常用于实现负载均衡,而 `Eureka` 是 Netflix 提供的一个服务注册与发现组件,是微服务架构中的关键组件。本实例将讲解如何结合 `nginx` 和 `Eureka` 实现微服务的负载均衡,...
Nginx是一款高性能的Web服务器和反向代理服务器,由伊戈尔·赛索耶夫在2004年创建,最初是为俄罗斯的搜索引擎rambler.ru开发的。Nginx以其高效的性能、低资源消耗以及强大的并发处理能力而闻名,目前在全球Web服务器...
Nginx 1.18 是 Nginx Web 服务器的一个特定版本,它在 Linux 操作系统上运行。Nginx 是一个流行的开源 Web 服务器,以其高性能、高并发处理能力而闻名,常用于静态内容服务和反向代理。在这个版本中,Nginx 提供了...
Nginx完整学习笔记 Nginx 是一个功能强大、灵活、可扩展的 Web 服务器,以下是关于 Nginx 的详细知识点: 安装与部署 Nginx 依赖于 pcre 库,因此在安装 Nginx 之前需要先安装 pcre 库。使用 yum 安装 pcre 和 ...
Nginx学习 .
这个“Nginx学习笔记.zip”压缩包文件包含了一系列关于Nginx的教程资源,分别命名为“第1节课”到“第5节课”,暗示着一个逐步深入的学习过程。 在第一节课中,我们通常会了解Nginx的基本概念和安装步骤。Nginx的...