01-集群安装JDK(普通用户)

这篇具有很好参考价值的文章主要介绍了01-集群安装JDK(普通用户)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

机器部署

集群规划

我们准备三台服务器kk01、kk02、kk03,内存4G、硬盘50G、处理器4核心2内核(总8)

kk01使用 192.168.188.128

kk02使用 192.168.188.129

kk03使用 192.168.188.130

模板机准备

我们先创建一台作为模板机,后续的两台采用完整克隆的方式

1)我们配置了模块机kk01的主机名为 kk01

2)配置了root用户的密码123456、创建了普通用户nhk、密码123456

3)使用vim 配置了模板机ip地址、网关、DNS等信息

# 2.配置静态ip  (注意,我们这里刚开始需要使用root用户来修改)
[nhk@kk01 ~]$ su root
Password: 
[root@kk01 nhk]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 做出如下修改

BOOTPROTO=static  # 改为静态
# 末尾添加如下内容
IPADDR=192.168.188.128
GATEWAY=192.168.188.2
NETMASK=255.255.255.0
DNS1=192.168.188.2
# 重启网卡
[root@kk01 nhk]# systemctl restart network.service
# 查看当前ip地址
[root@kk01 nhk]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.188.128  netmask 255.255.255.0  broadcast 192.168.188.255
        inet6 fe80::517f:78e:56fc:d924  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:61:40:47  txqueuelen 1000  (Ethernet)
...

4)关闭模板机 kk01的防火墙

[root@kk01 nhk]# systemctl stop firewalld.service  # 关闭当前防火墙
[root@kk01 nhk]# systemctl disable firewalld.service  # 关闭防火墙开机自启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

# 查看防火墙状态,看到 inactive (dead) 则证明防火墙成功关闭
[root@kk01 nhk]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
....

5)修改模板机kk01主机名

# 修改主机名
[root@kk01 nhk]# vim /etc/hostname   # 这种修改方式需要重启系统,才生效
[root@kk01 nhk]# cat /etc/hostname 
kk01

6)修改hosts文件

[root@kk01 nhk]# vim /etc/hosts

192.168.188.128 kk01
192.168.188.129 kk02
192.168.188.130 kk03

7)配置普通用户(nhk)具有root权限

修改/etc/sudoers文件,在100多行左右,在%wheel下面添加一行内容,如下操作所示

# 配置普通用户(nhk)具有root权限,方便后期加sudo执行root权限的命令
# 注意:修改这个文件,即使是root用户也需要 :wq! 强制保存退出
[root@kk01 nhk]# vim /etc/sudoers
# 在%wheel这行下面添加一行 (大概是在100行左右位置)


## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL

## Allows members of the 'sys' group to run networking, software, 
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

nhk ALL=(ALL) 	NOPASSWD: ALL 
## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL

注意:

​ nhk ALL=(ALL) NOPASSWD: ALL 这一行不要直接放到root行下面,因为所有用户都属于wheel组,你先配置了nhk具有免密功能,但是程序执行到%wheel行时,该功能又被覆盖回需要密码。所以nhk要放到%wheel这行下面。

8)创建统一工作目录

[root@kk01 nhk]# mkdir -p /opt/software/  		 # 软件安装目录、安装包存放目录
[root@kk01 nhk]# mkdir -p /opt/data/			 # 数据存储路径
[root@kk01 nhk]# 
[root@kk01 nhk]# ll /opt
total 0
drwxr-xr-x. 2 root root 6 Jun 16 15:51 data
drwxr-xr-x. 2 root root 6 Oct 31  2018 rh
drwxr-xr-x. 2 root root 6 Jun 16 15:51 software


# 修改文件夹所有者和所属组 (如果是使用root用户搭建集群可以忽略)
[root@kk01 nhk]# chown nhk:nhk /opt/software
[root@kk01 nhk]# chown nhk:nhk /opt/data
[root@kk01 nhk]# ll /opt
total 0
drwxr-xr-x. 2 nhk  nhk  6 Jun 16 15:51 data
drwxr-xr-x. 2 root root 6 Oct 31  2018 rh
drwxr-xr-x. 2 nhk  nhk  6 Jun 16 15:51 software

克隆出其他机器

上述配置完以后,将模板机kk01关机,使用VMware的完整克隆方式,克隆出 kk02、kk03,并依次开机,修改kk02、kk03上的ip地址

kk02

# 修改ip
[nhk@kk01 ~]$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
做出如下修改

IPADDR=192.168.188.129

# 重启网卡服务
[nhk@kk01 ~]$ sudo systemctl restart network
[nhk@kk01 ~]$ ifconfig		# 查看ip
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.188.129  netmask 255.255.255.0  broadcast 192.168.188.255
...

# 修改主机名
[nhk@kk01 ~]$ sudo hostnamectl set-hostname kk02		# 这种方式修改主机名无需重启即可生效
[nhk@kk01 ~]$ hostname		# [nhk@kk01 ~]$ 这里还显示kk01是这个bash的原因,重新打开bash即可
kk02

kk03

# 修改ip
[nhk@kk01 ~]$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
做出如下修改

IPADDR=192.168.188.130

# 重启网卡服务
[nhk@kk01 ~]$ sudo systemctl restart network
[nhk@kk01 ~]$ ifconfig		# 查看ip
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.188.130  netmask 255.255.255.0  broadcast 192.168.188.255
...

# 修改主机名
[nhk@kk01 ~]$ sudo hostnamectl set-hostname kk03		# 这种方式修改主机名无需重启即可生效
[nhk@kk01 ~]$ hostname		# [nhk@kk01 ~]$ 这里还显示kk01是这个bash的原因,重新打开bash即可
kk03

此致,3台机器准备完成

集群安装JDK

1)删除Linux系统自带JDK

如果安装的是最小化版本的Linux,则不需要执行此操作

# 需要在所有节点删除(我们使用的是nhk用户,必须加sudo)
[nhk@kk01 .ssh]$ sudo rpm -qa | grep -i java
java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
tzdata-java-2020a-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
[nhk@kk01 .ssh]$ sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps

[nhk@kk02 .ssh]$ sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps

[nhk@kk03 ~]$ sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps

# 参数说明
(1)rpm -qa:表示查询所有已经安装的软件包
(2)grep -i:表示过滤时不区分大小写
(3)xargs -n1:表示一次获取上次执行结果的一个值
	xargssudo rpm -qa | grep -i java 的结果传递给 sudo rpm -e --nodeps
	-n1 表示将 sudo rpm -qa | grep -i java 的结果传递 一个一个传递给 sudo rpm -e --nodeps
(4)rpm -e --nodeps:表示卸载软件

2)上传压缩包

将 jdk压缩包 kk01 的 /opt/software 文件夹下面

[nhk@kk01 software]$ pwd
/opt/software
[nhk@kk01 software]$ rz

[nhk@kk01 software]$ ll
total 185340
-rw-r--r--. 1 nhk nhk 189784266 Dec 25  2017 jdk-8u152-linux-x64.tar.gz

3)解压压缩包

解压 jdk 到指定目录 /opt/software

[nhk@kk01 software]$ tar -zxvf jdk-8u152-linux-x64.tar.gz -C /opt/software

[nhk@kk01 software]$ ll
total 185340
drwxr-xr-x. 8 nhk nhk       255 Sep 14  2017 jdk1.8.0_152
-rw-r--r--. 1 nhk nhk 189784266 Dec 25  2017 jdk-8u152-linux-x64.tar.gz	

4)配置普通用户环境变量

[nhk@kk01 software]$ sudo vim /etc/profile.d/my_env.sh

添加如下内容

# 配置JDK环境
export JAVA_HOME=/opt/software/jdk1.8.0_152				# 导入环境变量
export PATH=$PATH:$JAVA_HOME/bin						# 将环境变量拼接到PATH中

让环境变量生效(重新载入环境变量)

[nhk@kk01 software]$ source /etc/profile.d/my_env.sh 

5)测试jdk是否安装成功

能看到jdk相关的版本信息,则说明jdk安装成功

[nhk@kk01 software]$ java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)

6)分发JDK、分发环境

使用我们自定义的分发脚本 xsync

# 分发jdk
[nhk@kk01 software]$ xsync /opt/software/jdk1.8.0_152/

# 普通用户使用 xsync 脚本分发环境变量时,必须加上脚本路径
#(分发环境时,需要使用sudo,因为/etc目录只有root用户才能操作,并且使用xsync脚本还需要加上绝对路径,因为我们使用sudo命令将权限切换到了root目录下,而root目录下没有xsync脚本)
# 如果不加会报错 failed: Permission denied (13)
[nhk@kk01 software]$ sudo /home/nhk/bin/xsync /etc/profile.d/my_env.sh 

在集群的其他机器(kk02、kk03)刷新环境变量

[nhk@kk02 ~]$ source /etc/profile.d/my_env.sh 
[nhk@kk03 ~]$ source /etc/profile.d/my_env.sh 

如果我们没有自定义分发脚本,也可以使用 scp 或 rsync 命令代替,如下

scp -r /opt/software/jdk1.8.0_152/ kk02/opt/software/
scp -r /opt/software/jdk1.8.0_152/ kk03/opt/software/

7)注意事项

​ 无论是基于root用户,还是基于普通用户nhk,大体上的命令都是相似的,只是在某些情况下普通用户权限不够,需要加上sudo来暂时提升权限

8)环境变量说明

​ Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,/.bashrc,/.bash_profile等,下面说明上述几个文件之间的关系和区别。

​ bash的运行模式可分为 login shellnon-login shell

​ 例如,我们通过终端,输入用户名、密码,登录系统之后,得到就是一个login shell。而当我们执行以下命令ssh kk01 command,在kk01执行command的就是一个non-login shell。

登录 shell 与 非登录 shell 区别

登录shell

环境变量加载顺序
/etc/profile	~/.bash_profile		~/.bashrc ==> /etc/bashrc ==> /etc/profile.d/*.sh	

非登录shell

环境变量加载顺序
									~/.bashrc ==> /etc/bashrc ==> /etc/profile.d/*.sh	

注意:

如果把环境变量只放到 /etc/profile 中,non-login shell 模式会获取不到环境变量

​ 这两种shell的主要区别在于,它们启动时会加载不同的配置文件,login shell启动时会加载**/etc/profile,/.bash_profile,/.bashrc**。non-login shell启动时会加载**~/.bashrc**。

而在加载/.bashrc(实际是/.bashrc中加载的/etc/bashrc)或/etc/profile时,都会执行如下代码片段,

[nhk@kk03 etc]$ pwd
/etc
[nhk@kk03 etc]$ vim /etc/bashrc
  # Only display echos from profile.d scripts if we are no login shell
    # and interactive - otherwise just process them to set envvars
    for i in /etc/profile.d/*.sh; do
        if [ -r "$i" ]; then
            if [ "$PS1" ]; then
                . "$i"
            else
                . "$i" >/dev/null
            fi
        fi
    done

因此不管是login shell还是non-login shell,启动时都会加载/etc/profile.d/*.sh中的环境变量。

并且,/etc/profile文件中也告诉我们最好自己在 /etc/profile.d/ 创建一个自定义的环境变量,如下查看文章来源地址https://www.toymoban.com/news/detail-646526.html

[nhk@kk03 etc]$ vim /etc/profile

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

系统范围的环境和启动程序,用于登录设置
函数和别名放在/etc/bashrc中

修改这个文件不是一个好主意,除非你知道你要做什么
正在做什么。创建一个自定义对环境的更改脚本要好得多
/etc/profile.对您的环境进行自定义更改,如下所示
将防止在未来的更新中合并。

到了这里,关于01-集群安装JDK(普通用户)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux-一篇文章,速通Hadoop集群之伪分布式,完全分布式,高可用搭建(附zookeeper,jdk介绍与安装)。

    文章较长,附目录,此次安装是在VM虚拟环境下进行。文章第一节主要是介绍Hadoop与Hadoop生态圈并了解Hadoop三种集群的区别,第二节和大家一起下载,配置Linux三种集群以及大数据相关所需的jdk,zookeeper,只需安装配置的朋友可以直接跳到文章第二节。同时,希望我的文章能帮

    2024年03月19日
    浏览(48)
  • 头歌Hadoop 开发环境搭建及HDFS初体验(第2关:配置开发环境 - Hadoop安装与伪分布式集群搭建)

    注: 1 头歌《Hadoop 开发环境搭建及HDFS初体验》三关在一个实验环境下,需要三关从前往后按顺序评测,跳关或者实验环境结束后重新打开 不能单独评测通过 2 复制粘贴请用右键粘贴,CTRL+C/V不管用哦~ 第1关:配置开发环境 - JavaJDK的配置: 解压: 配置环境变量: 细节: vi

    2024年02月08日
    浏览(191)
  • Linux从零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

    和相关配置版本 :Linux CentOS Hadoop Java 版本: CentOS7 Hadoop3.2.0 JDK1.8 虚拟机参数信息内存3.2G、处理器2x2、内存50G ISO:CentOS-7-x86_64-DVD-2009.iso 基本主从思路: 先把基础的设置(SSH、JDK、Hadooop、环境变量、Hadoop和MapReduce配置信息)在一台虚拟机(master)上配好,通过

    2024年02月05日
    浏览(65)
  • IDEA2022版教程上(下载、卸载、安装、新建Project、jdk设置、详细设置、新建/导入/删除普通java模块、修改模块名、同时打开多个工程、常用代码模板:非空判断,遍历,输出语句快捷键)

    初学Java语言,熟悉了记事本、EditPlus、NotePad++或Sublime Text3等简易开发工具的Java初学者 熟练使用其他Java集成开发环境(IDE),需要转向IDEA工具的Java工程师们 关注IDEA各方面特性的Java程序发烧友、爱好者 【注】JetBrains官方说明: 尽管我们采取了多种措施确保受访者的代表性

    2024年02月07日
    浏览(64)
  • 【C语言基础】01环境安装 Windows下的CLion开发环境的安装

    资源:放在评论区中 把压缩包拖拽到C盘根目录,一键解压压缩包,得到文件夹mingw64 点击CLion.exe,运行安装程序 路径为默认安装,如需更改,注意路径中不要带有中文. Installation Options 全部勾选 选择我想要之后重启电脑 点击CLion,进入内部设置 点击下方continue 继续 存放在D盘,不要有中

    2024年02月01日
    浏览(51)
  • JDK安装和Java开发环境变量配置(详细)

    下载 首先去官网https://www.oracle.com/java/technologies/downloads/下载jdk,目前jdk已更新至19 推荐jdk8和jdk11(新版本jdk一般是测试较不稳定,jdk8和jdk11是大版本较为常用) 安装 双击安装包 点击下一步(这里用jdk7为例) 选择安装路径,一般选择默认路径 安装JRE,同上面步骤一样,选择安装

    2024年02月02日
    浏览(76)
  • Hadoop安装(一) --- JDK安装

    目录 1.安装虚拟机 2.关防火墙 3.修改网络配置文件 4.重启网络服务 5.连接shell 6.安装vim工具 7.免密登陆 8. 开启远程免密登录配置 9.远程登录 10.同步时间 10.1.安装ntpdate 10.2.定时更新时间 10.3.启动定时任务 10.4.查看状态 11.修改计算机名  12.配置hosts文件 13.安装并配置jdk 13.1.在

    2023年04月16日
    浏览(36)
  • Mac-Java开发环境安装(JDK和Maven)

    1、访问oracle官网,下载jdk 点击下载链接:https://www.oracle.com/java/technologies/downloads/#java11-mac 选择Mac版本,下载dmg 打勾点击下载,跳转登陆,没有就注册,输入账号密码即可下载成功。 下载之后直接双击安装下一步就完事了,Mac安装JDK时无需配置安装目录。 2、检查是否安装成

    2024年02月06日
    浏览(70)
  • 面向普通用户和开发者的ChatGPT Prompt Engineering 终极指南

    你准备好发掘 ChatGPT 的全部潜力了吗?想象一下拥有一个AI工具,它能在很多方面帮助你 — — 从回答问题和创作有趣内容到提供个性化建议。这就是「Prompt Engineering」的用武之地 — — 一种有效且强大的方法,通过精心创建Prompt和指导,让 ChatGPT 的工作更出色。 在这篇文章

    2024年02月17日
    浏览(68)
  • 【Hadoop Linux安装jdk1.8】

    目录 前言 一、用SecureCRT把jdk1.8传输到Linux系统 二、安装jdk 总结 本文是按照林子雨老师的课程进行安装,Hadoop3.1.3需要JDK版本在1.8及以上。需要按照下面步骤来自己手动安装JDK1.8。 准备工作: 环境需求: jdk1.8的安装包,可以在官网直接下载,或者点击此处下载(提取码:

    2024年02月09日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包