×

Install and Configure Apache Kafka on Ubuntu 20.04 - Step by Step process to implement this task ?

This article covers how to install and configure Apache Kafka on your Ubuntu 20.04 LTS machine. Apache Kafka is a distributed events streaming platform which has the ability to handle the high-performance data pipelines. It was originally developed by Linkedin then to be public as an open-source platform and used by many IT companies in the world.


Terms related to Apache Kafka Infrastructure:

1. Topic: A topic is a common name used to store and publish a particular stream of data. For example if you would wish to store all the data about a page being clicked, you can give the Topic a name such as "Added Customer".


2. Partition: Every topic is split up into partitions ("baskets"). When a topic is created, the number of partitions need to be specified but can be increased later as need arises. Each message gets stored into partitions with an incremental id known as its Offset value.


3. Kafka Broker: Every server with Kafka installed in it is known as a broker. It is a container holding several topics having their partitions.


4. Zookeeper: Zookeeper manages Kafka's cluster state and configurations.


Main advantages of using Apache Kafka:

1. Message Broking: In comparison to most messaging systems Kafka has better throughput, built-in partitioning, replication, and fault-tolerance which makes it a good solution for large scale message processing applications


2. Website Activity Tracking


3. Log Aggregation: Kafka abstracts away the details of files and gives a cleaner abstraction of log or event data as a stream of messages.


4. Stream Processing: capturing data in real-time from event sources; storing these event streams durably for later retrieval; and routing the event streams to different destination technologies as needed


5. Event Sourcing: This is a style of application design where state changes are logged as a time-ordered sequence of records.


6. Commit Log: Kafka can serve as a kind of external commit-log for a distributed system. The log helps replicate data between nodes and acts as a re-syncing mechanism for failed nodes to restore their data.


7. Metrics: This involves aggregating statistics from distributed applications to produce centralized feeds of operational data.


To install Apache Kafka on Ubuntu:

1. Update your fresh Ubuntu 20.04 server and get Java installed as illustrated below.

$ sudo apt update && sudo apt upgrade
$ sudo apt install default-jre wget git unzip -y
$ sudo apt install default-jdk -y

2. Fetch Kafka on Ubuntu 20.04.

$ cd ~
$ wget https://downloads.apache.org/kafka/2.6.0/kafka_2.13-2.6.0.tgz
$ sudo mkdir /usr/local/kafka-server && cd /usr/local/kafka-server
$ sudo tar -xvzf ~/kafka_2.13-2.6.0.tgz --strip 1

3. Create Kafka and Zookeeper Systemd Unit Files

i. Let us begin with Zookeeper service.

$ sudo vim /etc/systemd/system/zookeeper.service
[Unit]
Description=Apache Zookeeper Server
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
ExecStart=/usr/local/kafka-server/bin/zookeeper-server-start.sh /usr/local/kafka-server/config/zookeeper.properties
ExecStop=/usr/local/kafka-server/bin/zookeeper-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target


ii. Then for Kafka service. Make sure your JAVA_HOME configs are well inputted or Kafka will not start.

$ sudo vim /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka Server
Documentation=http://kafka.apache.org/documentation.html
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
ExecStart=/usr/local/kafka-server/bin/kafka-server-start.sh /usr/local/kafka-server/config/server.properties
ExecStop=/usr/local/kafka-server/bin/kafka-server-stop.sh
Restart=on-abnormal
[Install]
WantedBy=multi-user.target


iii. Reload the systemd daemon to apply changes and then start the services. 

$ sudo systemctl daemon-reload
$ sudo systemctl enable --now zookeeper
$ sudo systemctl enable --now kafka
$ sudo systemctl status kafka zookeeper


4. Install Cluster Manager for Apache Kafka (CMAK) | Kafka Manager.

$ cd ~
$ git clone https://github.com/yahoo/CMAK.git


5. Configure CMAK on Ubuntu.


Install Emacs Editor in Ubuntu 20.04 - How to perform it ?

This article covers methods to install Emacs editor in the Ubuntu 20.04 system. Emacs is a text editor designed for POSIX operating systems and available on Linux, BSD, macOS, Windows, and so on.


Emacs is an open-source, cross-platform editor that is highly customizable and provides a user-friendly interface to its users. 

It Provide features like multiple editing modes, full Unicode support for scripts, text manipulation tools, and integration with numerous external tools like the shell and git clearly gives an indication of how powerful it is.


To Install Emacs on Linux:

You can check if your Linux system has emacs installed by simply running the following command:

$ emacs

If you get an error message such as "-bash: -bash:: command not found", then you need to install it.

To install the emacs packages, run the command:

$ yum install emacs

On Ubuntu, execute:

$ apt-get install emacs


To install Emacs using Snap on Ubuntu:

Execute the following command in the command line:

$ sudo snap install emacs --classic

Once this is done, you can find Emacs in your list of installed applications.


Create and Run a Perl Script in Linux Mint - How to perform this task ?

This article covers how to create and execute a Perl script in Linux Mint 20. Moreover, if Perl is not installed on your system already, then we have even shared with you the method of installing it on your system and also ensuring if its interpreter exists there or not.

Perl is a programming language that can be used to perform tasks that would be difficult or cumbersome on the command line. Perl is included by default with most GNU/Linux distributions. 

PERL- Practical Extraction and Reporting Language (not an official acronym), is a stable and cross-platform language and was created by Larry Wall. 

Perl is an open source, general-purpose, interpreted language. Programs written in Perl are called Perl scripts. 

Perl supports both Procedural language and Object Oriented language and has powerful built-in support for text processing and have a collection of third-party modules. Perl language is mainly used for Web Applications, System Administration, Batch Processing, Applications which involving text processing and most command line applications. 


To run a Perl script in Unix:

1. Find the interpreter/executors path. In this case its /usr/bin/perl or /usr/bin/env perl.

2. Add it to the first line of the file as #!/usr/bin/perl .

3. Give execute permission to the file chmod +x example.pl.


Features of Perl language:

1. Perl takes the best features from other languages, such as C, awk, sed, sh, and BASIC, among others.

2. Perls database integration interface DBI supports third-party databases including Oracle, Sybase, Postgres, MySQL, and others.

3. Perl works with HTML, XML, and other mark-up languages.

4. Perl supports Unicode.

5. Perl supports both procedural and object-oriented programming.

6. Perl interfaces with external C/C++ libraries through XS or SWIG.

7. Perl is extensible.

8. The Perl interpreter can be embedded into other systems.


To install Perl in Linux:

1. Before proceeding with the installation of Perl in your Linux system, please have a check Perl is installed or not on your Linux system by running the below command:

# perl -v

2. Download the zipped source code available for Unix/Linux by running the below command:

# wget https://www.cpan.org/src/5.0/perl-5.28.1.tar.gz

3. After download the zip file runs the below commands to extract and install Perl:

# tar -xzf perl-5.28.1.tar.gz

# cd perl-5.28.1

# ./Configure -de

#make

# make test

# make install


How to write your Perl script in Linux?

You can write your Perl script in a text file and the text file should have the extension '.pl'. 

To run your Perl script run the below command.

#perl filename

Eg: #perl hello.pl


Install Chrony on Linux Mint - Easy steps to do it ?

This article covers how to #install Chrony on Linux Mint 20. Once it will be installed on your system, its daemon will silently work in the background to synchronize your system's clock with the #NTP server. 

However, if you do not want Chrony to perform this job any longer, then you can simply uninstall it as well.

Chrony is a flexible implementation of the Network Time Protocol (NTP). 

It is used to synchronize the system clock from different NTP servers, reference clocks or via manual input.


Chrony comes with two programs:

1. chronyc – command line interface for chrony

2. chronyd – daemon that can be started at boot time


How to Install #Chrony in #Linux :

On some systems, chrony may be installed by default. Still if the package is missing, you can easily install it. 


You can install chrony Using your default package manager tool on your respective Linux distributions using following command:

# yum -y install chrony    [On CentOS/RHEL]

# apt install chrony       [On Debian/Ubuntu]

# dnf -y install chrony    [On Fedora 22+]


To check the status of chronyd use the following command:

# systemctl status chronyd      [On SystemD]

# /etc/init.d/chronyd status    [On Init]


If you want to enable chrony daemon upon boot, you can use the following command:

# systemctl enable chronyd       [On SystemD]

# chkconfig --add chronyd        [On Init]


How to Check Chrony Synchronization in Linux ?

To check if chrony is actually synchronized, we will use it's command line program chronyc, which has the tracking option which will provide relevant information:

# chronyc tracking


To check information about chrony’s sources, you can issue the following command:

# chronyc sources


Install and Use TermRecord on CentOS 8 - Do it now

This article Covers how to install the TermRecord application on CentOS 8. The TermRecord application allows you to better enjoy the recorded #Terminal content. 

TermRecord is a simple, open source, terminal session recorder with easy-to-share self-contained HTML output.

#TermRecord Stores these files as your own notes, email them to collaborators, use them as instructional examples, or whatever you wish.

TermRecord consumes output from the script command with timing information and can create a self-contained HTML file which replays the recorded session without needing to load anything from the web. 

These term sessions can be emailed and viewed on practically any device (including iPads etc.). 

The end user only needs a modern browser.


Features of TermRecord includes:

1. User friendly.

2. Detects the terminal size.

3. Nest sessions.

4. Cross-platform HTML-based output.

5. Stores the output as either JSON, embeddable JavaScript, or a static HTML file.

6. Written in Python.


To install on TermRecord #CentOS:

1. First of all, connect to your server via SSH and make sure that all of your system software is up to date. 

Run the following command to update the package list and upgrade all of your system software to the latest version available:

$ sudo yum update -y

2. Install Pip. 

Add the EPEL Repository:

$sudo yum install epel-release

Install pip:

$ sudo yum install python-pip

Once the installation has completed, you can verify that it was successful by using the following command:

$pip -V

3. Install TermRecord

Install TermRecord using the Python package manager (pip):

$sudo pip install TermRecord


How to use TermRecord on CentOS system ?

Taking a video of the terminal with TermRecord is rather simple, just run the following command (be attentive to capital letters):

TermRecord -o record.html

Note: We specify the output file in which the video will be recorded using the -o option. the .html format is the default format.

For more complex operations check out TermRecord --help


Install MariaDB on CentOS 8 - Step by step process ?

This article will guide you on how to install MariaDB on your CentOS 8 system. Now you can create new databases and grant privileges to other database users. Also, you can add users and create new databases for web or desktop applications which will be written in PHP, Python, and so on.

In MariaDB replication is faster whereas in MySQL replication is slower. 

MariaDB is Open Source whereas MySQL uses some proprietary code in its Enterprise Edition. 

MariaDB doesn't support Data Masking and Dynamic column while MySQL supports it. Comparatively MariaDB is faster than MySQL.


To uninstall MariaDB and install mysql:

1. Purge mariadb sudo apt purge mariadb-* Remove all databases ('Yes' answer)

2. Purge mysql sudo apt purge mysql-*

3. Remove folders: sudo rm -r /usr/share/mysql/ sudo rm -r /etc/mysql/ sudo rm -r /lib/systemd/system/mysql.service.

4. Now you can try to install oracle mysql: sudo apt install mysql-server.


MariaDB on Debian 10 - Step by step process to install it ?

This article will guide you on the different methods to conveniently install and start the MariaDB service on a Debian 10 system. Also, we dealt with how to easily remove MariaDB from your Debian 10 system. 

In MariaDB replication is faster whereas in MySQL replication is slower. 

MariaDB is Open Source whereas MySQL uses some proprietary code in its Enterprise Edition. 

MariaDB doesn't support Data Masking and Dynamic column while MySQL supports it. Comparatively MariaDB is faster than MySQL.

Since MariaDB is a fork of MySQL, the database structure and indexes of MariaDB are the same as #MySQL. 

This allows you to switch from MySQL to MariaDB without having to alter your applications since the data and data structures will not need to change. Data and table definition files are compatible.


To install #MariaDB on #Debian , follow these steps:

1. First update the apt packages index by typing: sudo apt update.

2. Once the packages list is updated, install MariaDB by running the following command: sudo apt install mariadb-server.

3. The MariaDB service will start automatically.


Install Linux, Apache, MariaDB, PHP (LAMP) Stack on Debian 10 - Step by step process to do it ?

This guide will help you on how to #install the LAMP stack (Linux, Apache, MariaDB, and PHP ) in your #Debian system. 

LAMP stands for Linux, Apache, MySQL, and PHP. Together, they provide a proven set of software for delivering high-performance web applications.

For a web application to work smoothly, it has to include an operating system, a web server, a database, and a programming language. 

A LAMP Stack is a set of open-source software that can be used to create websites and web applications. 

LAMP is an acronym, and these stacks typically consist of the Linux operating system, the Apache HTTP Server, the MySQL relational database management system, and the PHP programming language.

To Install #LAMP stack on Ubuntu:

1. Update your system. sudo apt-get update.

2. Install Mysql. sudo apt-get install mysql-server mysql-client libmysqlclient-dev.

3. Install #Apache server.

4. Install #PHP (php7.0 latest version of PHP).

5. Install #Phpmyadmin (for #database).


Process to install and configure Nagios on Linux ?

This article will guide you on how to install and configure the #Nagios #monitoring solution on Linux. We have also explained how to setup remote hosts for monitoring. Now you can easily monitor the health of #Linux #hosts and the services running on them.

Nagios is an open source monitoring system for computer systems. It was designed to run on the Linux operating system and can monitor devices running Linux, Windows and Unix operating systems (OSes).

Nagios provides complete monitoring of applications and application state – including Windows applications, Linux applications, UNIX applications, and Web applications.

To  install Nagios Plugins and NRPE daemon on the Remote Linux Host:

1. Install Required Dependencies.

2. Create Nagios User.

3. Install the Nagios Plugins.

4. Extract Nagios Plugins.

5. Compile and Install Nagios Plugins.

6. Install Xinetd.


Step by step process to install Zimbra on Ubuntu 18.04 LTS ?

This article will guide you on how to #install Zimbra on Ubuntu. Zimbra is an open-source #mail server that offers several features. It is recommended to install it in a #machine that has enough memory, processor, and disk space available. 

To install and configure #Zimbra mail server:

1. Install System Packages.

2. Configure System #Hostname.

3. Add a Static IP Address.

4. Disable Unwanted Services.

5. Install Zimbra Collaboration Suite Open Source Edition.

6. Zimba Initial Configuration.


Step by step process to install MongoDB on Linux Mint 20 ?

This article will guide you on methods to install MongoDB on #Linux #Mint 20 system. You can check #MongoDB status, and can also access its shell to pass #commands to this database.

MongoDB installs as a #systemd service, which means that you can manage it using standard systemd commands alongside all other sytem services in Ubuntu. To verify the status of the service, type: sudo systemctl status mongodb.

Companies and development teams of all sizes use MongoDB because: The document data model is a powerful way to store and retrieve data that allows developers to move fast. MongoDB's horizontal, scale-out architecture can support huge volumes of both data and traffic.

To start MongoDB in Debian:

1. Start MongoDB. Issue the following command to start mongod: sudo service mongod start.

2. Stop MongoDB. As needed, you can stop the mongod process by issuing the following command: sudo service mongod stop.

3. Restart MongoDB. Issue the following command to restart mongod: sudo service mongod restart.


Steps to Configure and host an application in Apache web server in Linux ?

This article will guide you on the basics of #Apache configurations on Linux. This includes #firewall configuration, managing Apache services, setting up virtual hosts, changing default listening #ports, and allowing/denying specific IPs from accessing the #sites. For more information about Apache configurations, visit Apache server official documentation at http://httpd.apache.org/docs/. Apache #HTTP Server is a free and open-source web server that delivers web content through the internet. It is commonly referred to as Apache and after development, it quickly became the most popular HTTP client on the web. To Set Up Virtual Hosts in Apache: 1. Set up a #domain name. The server block that is enabled by default is capable of serving documents from /var/www/html. 2. Enable the domain configuration file. 3. Test for errors. 4. Test if Apache is serving your domain name.


How to use Linux command to delete the PREROUTING rule in iptables ?

This article will guide you on how to list and remove/delete iptables pretrouting chain nat rules on your #Linux based system. The -D or --delete option delete one or more rules from the selected chain. There are two versions of this #command, the rule can be specified as a number in the chain or a rule to match. One of the ways to delete #iptables #rules is by rule specification. To do so, you can run the iptables command with the -D option followed by the rule specification.


How To Run a Script In Linux?

This tutorial will guide you on how to write a simple shell script and run a script in Linux operating system with help of chmod and other commands.