SlideShare a Scribd company logo
1 of 40
OpenDJ 
A LDAP Server for dummies 
Claudio Borges aka but3k4 
cbsfilho@gmail.com
About me 
 +13 years experience with Linux/Unix 
 Systems Administrator Specialist 
 Technical Leader at Locaweb 
 PPP Programmer (Python/Perl/PHP) 
 Fresh Father 
 USF4 player
What is OpenDJ? 
 A powerful and secure LDAP Server 
 Written in java 
 It began as a fork of the OpenDS code base 
 Initial release in december 21 2010 
 100% opensource (CDDL License) 
 Reliable and Scalable
Classic Scenario
Features 
 Easy installation, configuration and administration 
 Rich Command Line Interface (CLI) 
 Control Panel (Admin GUI) 
 Automatic backups with task scheduler 
 High Availability 
 Rest API 
 Flexible, and easy to use plug in mechanism
OpenDJ in Action 
 Install OpenDJ 
 The Command Line Interface (CLI) 
 Control Panel (Admin GUI) 
 Replication 
 Tuning 
 Backup
Install OpenDJ 
 Download OpenDJ from ForgeRock website: 
https://backstage.forgerock.com/#!/downloads/OpenDJ 
 Create a local user: 
Ex: opendj 
 Install JAVA 6 or later 
 If you download the file OpenDJ-2.6.0.zip, unzip the file: 
Ex: unzip -v OpenDJ-2.6.0.zip -d /opt/ 
 Run the setup utility 
 Create the init script and start OpenDJ
Install OpenDJ
Install OpenDJ
Install OpenDJ
Command Line Interface 
 The dsconfig command is the primary command line 
tool for viewing and editing OpenDJ configuration. 
 You can run it with or without arguments.
Command Line Interface
Command Line Interface
Control Panel 
 OpenDJ Control Panel offers a graphical user interface 
for managing both local and remote servers.
Control Panel
Control Panel
Control Panel
Control Panel
Replication 
 You can set up replication automatically using the 
QuickSetup GUI when you first install the directory 
server. If you set up your directory servers by using the 
setup command, you can use the dsreplication 
command to configure replication between the servers.
Replication
Replication 
 First, you need to create an admin user. you will use 
the dsframework command. This utility can be used to 
perform operations in the directory server 
administration framework.
Replication 
 Creating the admin user:
Replication 
 Configuring the replication:
Replication
Replication
Replication 
 Initialize Replication between servers:
Replication
Replication 
 Monitoring the replication:
Replication
Tuning 
 If you have a heavy traffic, you need to change the 
values below using the dsconfig command: 
idle-time-limit = 20 
lookthrough-limit = 10000 
size-limit = 5000 
time-limit = 20
Tuning
Tuning 
 For a server with 24gb of RAM, use these options: 
- -d64 
- -XX:+UseCompressedOops 
- -Xms8g 
- -Xmx12g 
- -Xmn4g 
- -XX:MaxTenuringThreshold=1 
 To apply JVM settings for your server, edit config/java.properties, 
and apply the changes with the dsjavaproperties command.
Tuning
Tuning 
 You need to configure the maximum number of Open 
File Descriptors for the OpenDJ User, so, create the file 
/etc/security/limits.d/opendj.conf, with these values: 
opendj soft nofile 65535 
opendj hard nofile 131072 
 Restart the OpenDJ with the command: 
stop-ds --restart --quiet
Tuning
Backup 
 OpenDJ has a internal backup tool. This tool can be 
used to back up one or more directory server 
backends.
Backup
Locaweb Case 
 The Locaweb OpenDJ environment is composed of: 
- Two F5 BiG-IP Load Balancers (layer 4) 
- 4 servers, 16 procs and 24gb RAM each 
 This configuration reached 60k maximum concurrent 
connections per server in production environment.
References 
 http://opendj.forgerock.org 
 https://wikis.forgerock.org/confluence/display/OPENDJ/ 
Home 
 http://docs.forgerock.org/en/opendj/2.6.0/configref/inde 
x.html 
 https://ludopoitou.wordpress.com/ 
 https://opends.java.net/
Thanks for your 
Attention! 
Any questions? 
Claudio Borges 
www.claudioborges.org 
cbsfilho@gmail.com 
@but3k4

More Related Content

What's hot

Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservices
Kunal Hire
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Lucas Jellema
 

What's hot (20)

[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
 
Kafka basics
Kafka basicsKafka basics
Kafka basics
 
Kafka Deep Dive
Kafka Deep DiveKafka Deep Dive
Kafka Deep Dive
 
"Continuously delivering infrastructure using Terraform and Packer" training ...
"Continuously delivering infrastructure using Terraform and Packer" training ..."Continuously delivering infrastructure using Terraform and Packer" training ...
"Continuously delivering infrastructure using Terraform and Packer" training ...
 
Apache Kafka at LinkedIn
Apache Kafka at LinkedInApache Kafka at LinkedIn
Apache Kafka at LinkedIn
 
KFServing - Serverless Model Inferencing
KFServing - Serverless Model InferencingKFServing - Serverless Model Inferencing
KFServing - Serverless Model Inferencing
 
Ansible
AnsibleAnsible
Ansible
 
An Introduction to Apache Kafka
An Introduction to Apache KafkaAn Introduction to Apache Kafka
An Introduction to Apache Kafka
 
Living the Stream Dream with Pulsar and Spring Boot
Living the Stream Dream with Pulsar and Spring BootLiving the Stream Dream with Pulsar and Spring Boot
Living the Stream Dream with Pulsar and Spring Boot
 
Apache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals ExplainedApache Kafka Architecture & Fundamentals Explained
Apache Kafka Architecture & Fundamentals Explained
 
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)Kafka Tutorial - Introduction to Apache Kafka (Part 1)
Kafka Tutorial - Introduction to Apache Kafka (Part 1)
 
Api gateway in microservices
Api gateway in microservicesApi gateway in microservices
Api gateway in microservices
 
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
Confluent Workshop Series: ksqlDB로 스트리밍 앱 빌드
 
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
[OpenInfra Days Korea 2018] (Track 2) Neutron LBaaS 어디까지 왔니? - Octavia 소개
 
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
KafkaConsumer - Decoupling Consumption and Processing for Better Resource Uti...
 
Tutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting routerTutorial: Using GoBGP as an IXP connecting router
Tutorial: Using GoBGP as an IXP connecting router
 
Kafka Tutorial - introduction to the Kafka streaming platform
Kafka Tutorial - introduction to the Kafka streaming platformKafka Tutorial - introduction to the Kafka streaming platform
Kafka Tutorial - introduction to the Kafka streaming platform
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
Microservices, Apache Kafka, Node, Dapr and more - Part Two (Fontys Hogeschoo...
 
Introduction to Apache Kafka
Introduction to Apache KafkaIntroduction to Apache Kafka
Introduction to Apache Kafka
 

Viewers also liked

OpenIDM: An Introduction
OpenIDM: An IntroductionOpenIDM: An Introduction
OpenIDM: An Introduction
ForgeRock
 
Give a REST to your LDAP directory services
Give a REST to your LDAP directory servicesGive a REST to your LDAP directory services
Give a REST to your LDAP directory services
LDAPCon
 
Making Research "Social" using LDAP
Making Research "Social" using LDAPMaking Research "Social" using LDAP
Making Research "Social" using LDAP
LDAPCon
 
Presentatie Boxit Connecto1
Presentatie Boxit Connecto1Presentatie Boxit Connecto1
Presentatie Boxit Connecto1
Maarten Poppenk
 
LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009
Jonathan Clarke
 
IAM to IRM: The Shift to Identity Relationship Management
IAM to IRM: The Shift to Identity Relationship ManagementIAM to IRM: The Shift to Identity Relationship Management
IAM to IRM: The Shift to Identity Relationship Management
LDAPCon
 

Viewers also liked (20)

OpenDJ - An Introduction
OpenDJ - An IntroductionOpenDJ - An Introduction
OpenDJ - An Introduction
 
OpenIDM - An Introduction
OpenIDM - An IntroductionOpenIDM - An Introduction
OpenIDM - An Introduction
 
OpenAM - An Introduction
OpenAM - An IntroductionOpenAM - An Introduction
OpenAM - An Introduction
 
Présentation Oauth OpenID
Présentation Oauth OpenIDPrésentation Oauth OpenID
Présentation Oauth OpenID
 
OpenIDM: An Introduction
OpenIDM: An IntroductionOpenIDM: An Introduction
OpenIDM: An Introduction
 
Federation in Practice
Federation in PracticeFederation in Practice
Federation in Practice
 
OpenDJ: An Introduction
OpenDJ: An IntroductionOpenDJ: An Introduction
OpenDJ: An Introduction
 
Give a REST to your LDAP directory services
Give a REST to your LDAP directory servicesGive a REST to your LDAP directory services
Give a REST to your LDAP directory services
 
Identity Manager Opensource OpenIDM Architecture
Identity Manager Opensource OpenIDM ArchitectureIdentity Manager Opensource OpenIDM Architecture
Identity Manager Opensource OpenIDM Architecture
 
Getting Started with OpenIDM
Getting Started with OpenIDMGetting Started with OpenIDM
Getting Started with OpenIDM
 
Making Research "Social" using LDAP
Making Research "Social" using LDAPMaking Research "Social" using LDAP
Making Research "Social" using LDAP
 
Presentatie Boxit Connecto1
Presentatie Boxit Connecto1Presentatie Boxit Connecto1
Presentatie Boxit Connecto1
 
Getting Started with OpenIDM
Getting Started with OpenIDMGetting Started with OpenIDM
Getting Started with OpenIDM
 
Was Ist Identity Relationship Management (IRM) - Webinar auf Deutsch
Was Ist Identity Relationship Management (IRM) - Webinar auf DeutschWas Ist Identity Relationship Management (IRM) - Webinar auf Deutsch
Was Ist Identity Relationship Management (IRM) - Webinar auf Deutsch
 
ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?ForgeRock Webinar - Was ist Identity Relationship Management?
ForgeRock Webinar - Was ist Identity Relationship Management?
 
OpenIDM - Flexible Provisioning Platform - April 28 Webinar
OpenIDM - Flexible Provisioning Platform - April 28 WebinarOpenIDM - Flexible Provisioning Platform - April 28 Webinar
OpenIDM - Flexible Provisioning Platform - April 28 Webinar
 
LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009LDAP Synchronization Connector presentation at LDAPCon 2009
LDAP Synchronization Connector presentation at LDAPCon 2009
 
IAM to IRM: The Shift to Identity Relationship Management
IAM to IRM: The Shift to Identity Relationship ManagementIAM to IRM: The Shift to Identity Relationship Management
IAM to IRM: The Shift to Identity Relationship Management
 
LDAP
LDAPLDAP
LDAP
 
IAM Cloud
IAM CloudIAM Cloud
IAM Cloud
 

Similar to Opendj - A LDAP Server for dummies

Similar to Opendj - A LDAP Server for dummies (20)

Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...Customize and Secure the Runtime and Dependencies of Your Procedural Language...
Customize and Secure the Runtime and Dependencies of Your Procedural Language...
 
Continuous delivery with docker
Continuous delivery with dockerContinuous delivery with docker
Continuous delivery with docker
 
Prizm Installation Guide
Prizm Installation GuidePrizm Installation Guide
Prizm Installation Guide
 
Orchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded LinuxOrchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded Linux
 
Orchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded LinuxOrchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded Linux
 
DockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing AureaDockerCon EU '17 - Dockerizing Aurea
DockerCon EU '17 - Dockerizing Aurea
 
Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020
 
Infrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & AnsibleInfrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & Ansible
 
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
Advanced Eclipse Workshop (held at IPC2010 -spring edition-)
 
BUD17-310: Introducing LLDB for linux on Arm and AArch64
BUD17-310: Introducing LLDB for linux on Arm and AArch64 BUD17-310: Introducing LLDB for linux on Arm and AArch64
BUD17-310: Introducing LLDB for linux on Arm and AArch64
 
Infrastructure = Code
Infrastructure = CodeInfrastructure = Code
Infrastructure = Code
 
linux installation.pdf
linux installation.pdflinux installation.pdf
linux installation.pdf
 
From zero to Docker
From zero to DockerFrom zero to Docker
From zero to Docker
 
Automation day red hat ansible
   Automation day red hat ansible    Automation day red hat ansible
Automation day red hat ansible
 
Docker+java
Docker+javaDocker+java
Docker+java
 
Powercoders · Docker · Fall 2021.pptx
Powercoders · Docker · Fall 2021.pptxPowercoders · Docker · Fall 2021.pptx
Powercoders · Docker · Fall 2021.pptx
 
24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs24HOP Introduction to Linux for SQL Server DBAs
24HOP Introduction to Linux for SQL Server DBAs
 
Automação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOpsAutomação do físico ao NetSecDevOps
Automação do físico ao NetSecDevOps
 
Docker as development environment
Docker as development environmentDocker as development environment
Docker as development environment
 
Docker
DockerDocker
Docker
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Opendj - A LDAP Server for dummies

  • 1. OpenDJ A LDAP Server for dummies Claudio Borges aka but3k4 cbsfilho@gmail.com
  • 2. About me  +13 years experience with Linux/Unix  Systems Administrator Specialist  Technical Leader at Locaweb  PPP Programmer (Python/Perl/PHP)  Fresh Father  USF4 player
  • 3. What is OpenDJ?  A powerful and secure LDAP Server  Written in java  It began as a fork of the OpenDS code base  Initial release in december 21 2010  100% opensource (CDDL License)  Reliable and Scalable
  • 5. Features  Easy installation, configuration and administration  Rich Command Line Interface (CLI)  Control Panel (Admin GUI)  Automatic backups with task scheduler  High Availability  Rest API  Flexible, and easy to use plug in mechanism
  • 6. OpenDJ in Action  Install OpenDJ  The Command Line Interface (CLI)  Control Panel (Admin GUI)  Replication  Tuning  Backup
  • 7. Install OpenDJ  Download OpenDJ from ForgeRock website: https://backstage.forgerock.com/#!/downloads/OpenDJ  Create a local user: Ex: opendj  Install JAVA 6 or later  If you download the file OpenDJ-2.6.0.zip, unzip the file: Ex: unzip -v OpenDJ-2.6.0.zip -d /opt/  Run the setup utility  Create the init script and start OpenDJ
  • 11. Command Line Interface  The dsconfig command is the primary command line tool for viewing and editing OpenDJ configuration.  You can run it with or without arguments.
  • 14. Control Panel  OpenDJ Control Panel offers a graphical user interface for managing both local and remote servers.
  • 19. Replication  You can set up replication automatically using the QuickSetup GUI when you first install the directory server. If you set up your directory servers by using the setup command, you can use the dsreplication command to configure replication between the servers.
  • 21. Replication  First, you need to create an admin user. you will use the dsframework command. This utility can be used to perform operations in the directory server administration framework.
  • 22. Replication  Creating the admin user:
  • 23. Replication  Configuring the replication:
  • 26. Replication  Initialize Replication between servers:
  • 28. Replication  Monitoring the replication:
  • 30. Tuning  If you have a heavy traffic, you need to change the values below using the dsconfig command: idle-time-limit = 20 lookthrough-limit = 10000 size-limit = 5000 time-limit = 20
  • 32. Tuning  For a server with 24gb of RAM, use these options: - -d64 - -XX:+UseCompressedOops - -Xms8g - -Xmx12g - -Xmn4g - -XX:MaxTenuringThreshold=1  To apply JVM settings for your server, edit config/java.properties, and apply the changes with the dsjavaproperties command.
  • 34. Tuning  You need to configure the maximum number of Open File Descriptors for the OpenDJ User, so, create the file /etc/security/limits.d/opendj.conf, with these values: opendj soft nofile 65535 opendj hard nofile 131072  Restart the OpenDJ with the command: stop-ds --restart --quiet
  • 36. Backup  OpenDJ has a internal backup tool. This tool can be used to back up one or more directory server backends.
  • 38. Locaweb Case  The Locaweb OpenDJ environment is composed of: - Two F5 BiG-IP Load Balancers (layer 4) - 4 servers, 16 procs and 24gb RAM each  This configuration reached 60k maximum concurrent connections per server in production environment.
  • 39. References  http://opendj.forgerock.org  https://wikis.forgerock.org/confluence/display/OPENDJ/ Home  http://docs.forgerock.org/en/opendj/2.6.0/configref/inde x.html  https://ludopoitou.wordpress.com/  https://opends.java.net/
  • 40. Thanks for your Attention! Any questions? Claudio Borges www.claudioborges.org cbsfilho@gmail.com @but3k4

Editor's Notes

  1. 389 Directory Service from Red Hat, written in C, multi-master Apache DS from Apache SF, written in java, multi-master OpenLDAP from OpenLDAP Foundation, written in C, multi-master (RFC 4533) Ludovic Poitou left Oracle in September 2010 for ForgeRock
  2. RESTful access to directory data over HTTP
  3. You can use Apache Directory Studio for manage OpenDJ servers
  4. Replication in OpenDJ is designed to be both easy to implement in environments with a few servers, and also scalable in environments with many servers.
  5. The directory server replication model is a loosely consistent, multi-master model. In other words, all directory servers in a replicated topology can process both read and write operations.
  6. M.C. - Indicates the number of updates already pushed by the other LDAP servers in the topology, but not yet replayed on the specified LDAP server. If this number is high on a particular server, investigate the latency of that server. A.O.M.C - Specifies the approximate date of the oldest update pushed by the other directory servers in the topology, but not yet processed on the specified LDAP server.
  7. idle-time-limit - the maximum amount of time a connection can sit idle before the server disconnect it lookthrough-limit - the maximum number of entries to look through while processing a search request size-limit - the maximum number of entries returned to a search request time-limit - the maximum amount of time to spend returning results to a client
  8. -d64 - To use a heap larger than about 3.5 GB on a 64-bit system, use this option. -XX:+UseCompressedOops - Java object pointers normally have the same size as native machine pointers. If you run a small, but 64-bit JVM, then compressed object pointers can save space. Set this option when you have a 64-bit JVM, -Xmx less than 32 GB, and Java SE 6u23 or later. -Xms, -Xmx - Set both minimum and maximum heap size to the same value to avoid resizing. Leave space for the entire DB cache and more. -Xmn - Set the new generation size between 1-4 GB for high throughput deployments, but leave enough overall JVM heap to avoid overlaps with the space used for DB cache. -XX:MaxTenuringThreshold=1 - Force OpenDJ to create only objects that have either a short lifetime, or a long lifetime.