Linux下配置Oracle JDK(Centos/Ubuntu)

 

OpenJDK和Oracle JDK在细节上的区别有哪些,这个请自行百度。不过为了与Windows开发环境相对应,本篇文章主要介绍如何在Centos/Ubuntu下安装配置Oracle JDK

  • 下载安装JDK

首先,到Java官网下载适合自己平台的JDK版本,当前的最新版本为JDK 8u144

一般可以下载到的格式有以下几种:

exe : windows操作系统专用的安装包,除了JDK和JRE外还带有一些管理工具

rpm : Red Hat Linux系列的安装包,可直接用于Centos发行版和Fedora发行版

tar.gz : Linux通用压缩文件版,里面带有JDK和JRE,适用于一切Linux发行版(需自行配置相关环境变量)

Centos :

# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.rpm
# rpm -ivH jdk-8u144-linux-x64.rpm

这样,Centos的JDK环境就算安装好了

Ubuntu :

# wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"  http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
# mkdir /usr/java/
# tar -xvf jdk-8u144-linux-x64.tar.gz -C /usr/java

上述操作已经把压缩包下载并解压到了/usr/java目录下,对Ubuntu而言我们还需要继续进行最后一步,也就是环境变量的配置。

# ls /usr/java
jdk1.8.0_144
# nano /etc/profile

在profile结尾处添加以下内容:

JAVA_HOME=/usr/java/jdk1.8.0_144
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

使修改生效

# source /etc/profile

到此为了,Ubuntu的JDK环境也配置好了

  • 检验JDK是否可用

# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b11, mixed mode)

大功告成!

Centos7开启内核TCP BBR拥塞控制模块

Linux 升级内核开启 TCP BBR 实现高效单边加速

  • 谷歌为我们带来了干货 新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT)。 目前在 Linux Kernel 4.9 中加入了该算法,所以我们只要升级内核就可以爽一波了,至于如何升级内核在上一篇文章中已有介绍,在此不再重复。

开启 TCP BBR

只要 Linux 发行版的 Kernel 即内核版本大于等于 4.9 即可开启,开启方法是通用的,只需修改内核参数即可。

修改内核参数文件sysctl.conf

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

更新内核参数

# sysctl -p

检查当前内核使用拥塞控制算法

sysctl net.ipv4.tcp_available_congestion_control

如果开启bbr成功,返回结果应为

net.ipv4.tcp_available_congestion_control = bbr cubic reno

进一步检查是否成功开启BBR

lsmod | grep bbr

其返回结果不为空即说明开启成功。

  • 通过以上简单的几步就能开启tcp_bbr从而充分利用服务器有限的带宽资源,对于一些虚拟云服务器而言是一大利器!

Centos7升级内核

更新前,检查当前Centos系统内核版本:

# uname -r

3.10.0-327.10.1.el7.x86_64

1.首先去清华的TUNA或者中科大的USTC的elrepo下载适合自己的内核rpm包,我的是64位的,地址如下:

https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el7/x86_64/RPMS/

可以看到的是,

kernel-lt : Linux LTS长期维护版本的内核,当前为4.4.78
kernel-ml : Linux MainLine主线版本内核,通常为最新内核,当前版本为4.12.3

2.使用wget下载所需要的rpm包,然后用rpm -ivh xxxx.rpm来安装;或者直接可以用

rpm  -Uvh rpm包的URL地址来安装

例如:

rpm  -Uvh https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-4.12.3-1.el7.elrepo.x86_64.rpm

(kernel-*-devel为系统所需头文件,一般用的比较多,建议也装上^_^)

3.查看默认启动顺序

# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg 

CentOS Linux (4.4.4-1.el7.elrepo.x86_64) 7 (Core)

CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core) 

CentOS Linux (0-rescue-c52097a1078c403da03b8eddeac5080b) 7 (Core)

默认启动的顺序是从0开始,新内核是从头插入(目前位置在0,而4.4.4的是在1),所以需要选择0

# grub2-set-default 0

4.然后reboot重启,使用新的内核,下面是重启后使用的内核版本:

# uname -r 

4.4.4-1.el7.elrepo.x86_64

5.这一步可做可不做,删除旧的内核。

# yum remove kernel kernel-headers

到此为止,大功告成,下次再来讲讲Linux 4.9以上内核开启BBR拥塞控制算法。