0
votes

When using the MarkLogic java-api-client I execute the boot-test.sh

sh src/test/resources/boot-test.sh 

I get

Exception in thread "main" org.apache.http.conn.HttpHostConnectException: Connection to http://localhost:8002 refused

Is this simply an authentication issue?

I've changed the passwords in

java-client-api/src/main/resources/Example.properties

as well as the password in which I believe is the one in question

java-client-api/src/test/java/com/marklogic/client/test/util/TestServerBootstrapper.java

Although I still get connection refused. I've confirmed that the server has the management port set to 8002.

Also having the same general issue not being able to connect to MarkLogic with running curl on the server

curl --anyauth --user admin:xxxx -X PUT -d@'./one.xml' -H "Content-type: application/xml" 'http://localhost:8000/LATEST/documents?uri=/xml/one.xml'

curl: (7) couldn't connect to host

I can access the server through the 8001 interface so I assume it's some configuration error but haven't been able to figure it out. I've basically installed MarkLogic on three digital ocean centos 6 server, changed the admin passwords, set up a cluster of three nodes that are connected and created a database and three forests on each node. Otherwise I believe everything is default.

I installed the following on the centos 6 server

yum -y install glibc.i686 gdb.x86_64 redhat-lsb.x86_64
rpm -i /tmp/MarkLogic-RHEL6-8.0-5.x86_64.rpm
yum install java-1.7.0-openjdk-devel
yum install -y git
yum install -y httpd
service httpd start
yum install -y nano
yum install -y tree
yum install -y wget
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum install apache-maven
yum update

Any ideas on what I'm doing wrong?

Regards Conteh

1
You say I've basically installed MarkLogic on three digital ocean centos 6 server. Are you sure you should be accessing localhost, and not some other address?grtjn
What version of MarkLogic server are you using?Sam Mefford
@grtjn I was executing curl from the server that had one of the nodes installed as well as the java code. I also ran the code with the domain and had the same results. I also ran the java locally from my machine with the domain and had the same error. I had the java code running well on my local machine connecting to a local docker container with marklogic 8.03conteh
@SamMeffod I'm running 8.05 MarkLogic-RHEL6-8.0-5.x86_64.rpmconteh
@SamMefford I've added a list of installation steps as well. Perhaps there is something wrong there.conteh

1 Answers

2
votes

The following worked as an updated version of https://github.com/jmakeig/marklogic-bootstrapping/blob/master/digitalocean/bootstrap.sh The installation works fine thus far.

The bootstrap code executed properly

java-client-api]# sh src/test/resources/boot-test.sh Created java-unittest server on 8012 port for java-unittest database Bootstrapped rest server for unit tests on port 8012 Installed bootstrap extension. Response is HTTP/1.1 204 Created [Server: MarkLogic, Content-Length: 0, Connection: Keep-Alive, Keep-Alive: timeout=5] Invoked bootstrap extension. Response is HTTP/1.1 200 OK [Server: MarkLogic, Content-Type: application/xml; charset=UTF-8, Content-Length: 468, Connection: Keep-Alive, Keep-Alive: timeout=5]

Thanks much for all the help

#!/bin/bash

# MarkLogic 8.0-5 Digital Ocean Centos 6.7 64bit

# log everything to a file
exec &> $HOME/stackscript.log

# yum -y: assume yes, -q: quiet
yum -yq update
yum -yq install nano tree wget gcc gcc-c++ make zlib-devel pcre-devel openssl-devel java-1.7.0-openjdk-devel
wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
yum -yq install apache-maven

yum -yq groupinstall 'Development Tools'
yum -yq install glibc glibc.i686 lsb

curl -o MarkLogic-RHEL6-8.0-5.x86_64.rpm "https://developer.marklogic.com/download/binaries/8.0/MarkLogic-RHEL6-8.0-5.x86_64.rpm?t=5bfgbebCkZ/1KkgggvKp30&email=xxx%40gmail.com"
rpm -iv MarkLogic-RHEL6-8.0-5.x86_64.rpm
#rm MarkLogic-RHEL6-8.0-5.x86_64.rpm



# Set Linux huge pages
echo "vm.nr_hugepages = 292" >> /etc/sysctl.conf
sysctl -p

# Flush all curren

t rules from iptables
iptables -F

#First, we start with blocking null packets
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

#The next pattern to reject is a syn-flood attack.
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

#XMAS packets, also a recon packet.
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

# Set access for localhost
iptables -A INPUT -i lo -j ACCEPT

#Now we can allow web server traffic:
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

#Now, let's allow users use our SMTP servers:
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

# Allow SSH connections on tcp port 22
# This is essential when working on remote servers via SSH to prevent locking yourself out of the system
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

#allow us to use outgoing connections (ie. ping from VPS or run software updates);
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 

# We will block everything else, and allow all outgoing connections.
iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP

# Note eth0 interface
iptables -A INPUT -p tcp -m tcp --dport 7999 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8001 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8002 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8010 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8012 -j ACCEPT

service iptables save 

mkdir -p src && cd src
nginxVersion="1.8.1"
wget http://nginx.org/download/nginx-$nginxVersion.tar.gz
tar -xzf nginx-$nginxVersion.tar.gz 
ln -sf nginx-$nginxVersion nginx

cd nginx

./configure \
--user=nginx                          \
--group=nginx                         \
--prefix=/etc/nginx                   \
--sbin-path=/usr/sbin/nginx           \
--conf-path=/etc/nginx/nginx.conf     \
--pid-path=/var/run/nginx.pid         \
--lock-path=/var/run/nginx.lock       \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module        \
--with-http_stub_status_module        \
--with-http_ssl_module                \
--with-pcre                           \
--with-file-aio                       \
--with-http_realip_module             \
--without-http_scgi_module            \
--without-http_uwsgi_module           \
--without-http_fastcgi_module

make
make install

useradd -r nginx

wget -O /etc/init.d/nginx "https://gist.github.com/sairam/5892520/raw/b8195a71e944d46271c8a49f2717f70bcd04bf1a/etc-init.d-nginx"
chmod +x /etc/init.d/nginx

chkconfig --add nginx
chkconfig --level 345 nginx on


#Manually Configure
#nano /etc/nginx/nginx.conf to set types_hash_bucket_size and server_names_hash_bucket_size which needs to be increased.

#http {
#    include       mime.types;
#    default_type  application/octet-stream;
    # add the below 2 lines under http around line 20
#    types_hash_bucket_size 64;
#    server_names_hash_bucket_size 128;

#service MarkLogic start
#service nginx start