参考安装节点一,使用一键安装脚本进行节点二的安装
#!/bin/bash
#######################################################
# Functions: centos6.x mininal install apache couchdb
# auther: hwang@aniu.tv
# changelog:
# 2017-07-05 wanghui initial
#######################################################
#
/etc/init.d/iptables stop
chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
#
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum -y update
yum -y groupinstall "Development Tools" "Development Libraries"
yum -y install autoconf automake curl-devel help2man libicu-devel libtool perl-Test-Harness wget libicu-devel curl-devel ncurses-devel libtool libxslt fop java-1.7.0-openjdk java-1.7.0-openjdk-devel unixODBC unixODBC-devel vim openssl-devel
#
wget http://erlang.org/download/otp_src_19.3.tar.gz -P /usr/local/src
cd /usr/local/src && tar xvf otp_src_19.3.tar.gz && cd otp_src_19.3 && ./configure && make && make install
#
cd /usr/local/src
wget http://springdale.math.ias.edu/data/puias/computational/6/i386//autoconf-archive-2015.02.24-1.sdl6.noarch.rpm
yum localinstall -y autoconf-archive-2015.02.24-1.sdl6.noarch.rpm
#
cd /usr/local/src
wget http://ftp.mozilla.org/pub/mozilla.org/js/js185-1.0.0.tar.gz
tar zxvf js185-1.0.0.tar.gz && cd js-1.8.5/js/src && ./configure && make && make install
ln -s /usr/local/include/js /usr/include/js
#
cd /usr/local/src
wget http://mirror.bit.edu.cn/apache/couchdb/source/2.0.0/apache-couchdb-2.0.0.tar.gz
tar zxvf apache-couchdb-2.0.0.tar.gz && cd apache-couchdb-2.0.0 && ./configure && make release
#
#adduser --system --no-create-home --shell /bin/bash -c "CouchDB Administrator" couchdb
useradd couchdb
mv /usr/local/src/apache-couchdb-2.0.0/rel/couchdb /usr/local/
chown -R couchdb:couchdb /usr/local/couchdb
# find /usr/local/couchdb -type d -exec chmod 0770 {} \;
# chmod 0644 /usr/local/couchdb/etc/*
# define configure
# hostname n2couchdb.aniu.so
ip=`ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}'`
echo "127.0.0.1 localhost localhost.localdomain n2couchdb.aniu.so" > /etc/hosts
echo "192.168.0.155 n2couchdb.aniu.so " >> /etc/hosts
sed -i 's/localhost.localdomain/n2couchdb.aniu.so/g' /etc/sysconfig/network
# config couchdb
sed -i 's/couchdb@localhost/couchdb@n2couchdb.aniu.so/g' /usr/local/couchdb/etc/vm.args
sed -i 's/127.0.0.1/0.0.0.0/g' /usr/local/couchdb/etc/default.ini
# errors
# 到这里安装完成,登录上去启动。
[root@n2couchdb ~]# netstat -nlpt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5984 0.0.0.0:* LISTEN 21495/beam.smp
tcp 0 0 0.0.0.0:5986 0.0.0.0:* LISTEN 21495/beam.smp
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 21371/epmd
tcp 0 0 0.0.0.0:35797 0.0.0.0:* LISTEN 21495/beam.smp
修改node1 和node2 hosts配置
# n1couchdb.aniu.so
127.0.0.1 localhost localhost.localdomain n1couchdb.aniu.so
192.168.0.154 n1couchdb.aniu.so
192.168.0.155 n2couchdb.aniu.so
# n2couchdb.aniu.so
127.0.0.1 localhost localhost.localdomain n2couchdb.aniu.so
192.168.0.154 n1couchdb.aniu.so
192.168.0.155 n2couchdb.aniu.so
查看集群节点:
curl http://admin:password@n1couchdb.aniu.so:5984/_membership
{"all_nodes":["couchdb@n1couchdb.aniu.so","couchdb@n2couchdb.aniu.so"],"cluster_nodes":["couchdb@n1couchdb.aniu.so","couchdb@n2couchdb.aniu.so"]}
curl http://admin:password@n2couchdb.aniu.so:5984/_membership
erl -sname bus -setcookie 'brumbrum' -kernel inet_dist_listen_min 9100 -kernel inet_dist_listen_max 9200
erl -sname bus -setcookie 'brumbrum' -kernel inet_dist_listen_min 9100 -kernel inet_dist_listen_max 9200
待更新
建议不要直接修改/etc/couchdb/default.ini,因为default.ini会随着couchdb的更新而被覆盖,建议修改/etc/couchdb/local.ini
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 5984
# cd /etc/couchdb
# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt
/etc/couchdb/local.ini
[daemons]
httpsd = {couch_httpd, start_link, [https]}
[ssl]
cert_file = /etc/couchdb/server.crt
key_file = /etc/couchdb/server.key