Installation Process Apache Flink 1.18.1
Installation Process Apache Flink 1.18.1
Step 1 — Install Java 17 (Required for Flink 1.x)
sudo dnf install -y java-17-openjdk java-17-openjdk-devel
Download Apache Flink 1.18.1 (Correct link)
cd /opt
sudo wget https://dlcdn.apache.org/flink/flink-1.18.1/flink-1.18.1-bin-scala_1.18.1.tgz
Extract Flink and move flink folder
sudo tar -xvf flink-1.18.1-bin-scala_1.18.1.tgz
sudo mv flink-1.18.1 flink
Set Environment Variables
echo 'export FLINK_HOME=/opt/flink' >> ~/.bashrc
echo 'export PATH=$PATH:$FLINK_HOME/bin' >> ~/.bashrc
source ~/.bashrc
echo $FLINK_HOME
Start Flink Cluster
$FLINK_HOME/bin/start-cluster.sh
If CentOS firewall is active:
sudo firewall-cmd --add-port=8081/tcp --permanent
sudo firewall-cmd --reload
Check that Flink listens on 0.0.0.0
sudo nano flink/conf/config.yaml
Inside jobmanager tag bind-host will be 0.0.0.0
Restart Flink:
/opt/flink/bin/stop-cluster.sh
/opt/flink/bin/start-cluster.sh
Run the flink as a system deamon
Create a Flink system user
sudo useradd -r -m -d /opt/flink -s /bin/bash flink
sudo chown -R flink:flink /opt/flink
Create a systemd service file
Create the file:
sudo nano /etc/systemd/system/flink.service
Paste this service configuration:
[Unit]
Description=Apache Flink Cluster
After=network.target
[Service]
Type=forking
User=flink
Group=flink
# Modify if your Flink is in a different directory
Environment="FLINK_HOME=/opt/flink"
WorkingDirectory=/opt/flink
ExecStart=/opt/flink/bin/start-cluster.sh
ExecStop=/opt/flink/bin/stop-cluster.sh
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Reload systemd daemon
sudo systemctl daemon-reload
Enable Flink at boot
sudo systemctl enable flink
Start Flink
sudo systemctl start flink
Check Flink status
sudo systemctl status flink
Verify Flink Web UI
http://192.168.1.227:8081
Open firewall
sudo firewall-cmd --add-port=8081/tcp --permanent
sudo firewall-cmd --reload