• b0102 linux centos7.9 操作系统安装和维护


    关键词: linux  centos  ubuntu redhat 操作系统 2021 持续累积

    环境

    主机: win7

    虚拟机:  vmware 12

    安装文件:  CentOS-7.9-x86_64-DVD-2009.iso

    输出路径:  W:Virtual MachinesCentOS7

    创建普通账户 hadoop

    安装过程选择了 带桌面的服务器套件,选了一些软件装上去。  

    自带:  jdk1.8

    克隆了若干虚拟机,为后续具体用途使用

    功能

    安装jdk1.8 20210727

    描述

    系统安装完成,自带jdk1.8, 但是只有jre。后续操作需要全面的jdk, 需要卸载重装

    操作

    1. win环境下 从oracle 官网下载 jdk-8u301-linux-x64.tar.gz, 上传到linux 目录中

    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

    2.   查看和卸载原来自带不想要的jdk

    java -version  # 查看java版本
    rpm -qa | grep java # 查看安装的java包
    rpm -qa | grep jdk
    sudo rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64  # 卸载
    sudo rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64

     3.   将下载的 jdk-8u301-linux-x64.tar.gz 解压,并移动到安装目录下, 我这里选定 /opt

    tar -zxvf jdk-8u301-linux-x64.tar.gz
    
    mv jdk1.8.0_301  /opt

    4.  修改环境变量

    执行 sudo vi /etc/profile

    在文件中添加以下内容:

    ### 配置jdk
    export JAVA_HOME=/opt/jdk1.8.0_301
    export JRE_HOME=$JAVA_HOME/jre
    export CLASSPATH=./:$JAVA_HOME/jre/lib
    export PATH=$PATH:$JAVA_HOME/bin

    执行 source /etc/profile 生效。

    5. 最后验证完毕

     参考

    ref1 "centos7 安装JDK1.8详细过程"

    关闭防火墙 20210725

    描述

    默认防火墙应该开了,会妨碍一些分布式集群比如hadoop 机器之间的通信。 需要关闭

    操作

    systemctl status firewalld #查看firewall服务状态
    
    systemctl stop firewalld  # 关闭防火墙
    
    systemctl disable firewalld # 禁止开机启动

    防火墙开启中

    关闭后

     

    为当前用户增加sudo功能和免密码输入 20210725

    描述

    当前用户为hadoop,是普通用户,有时需要通过sudo执行需要更多权限才能执行的操作。centos默认没有给普通用户sudo功能,需要手动添加

    操作

    主要参考  ref1 "centos7 ubuntu14 添加sudo 权限"

    root账户 修改文件 /etc/sudoers,参考下图

    1. 添加黄色背景的信息,其中hadoop是用户名。 这样hadoop有了sudo权限了

    2. 用户有sudo权限,但是每次操作需要输入密码,很麻烦。  将红色箭头指示那行前面的注释符号#去掉(本来有的),  

    添加用户名到wheel用户组:
    usermod -G wheel hadoop

    :wq! 保存退出 就生效了

    设置静态ip和主机名 20210724

    描述

    当前为动态获取ip,主机名是centos,  依据后面需要固定成指定的名字

    操作

    1. 先设置静态网络, root账户修改网络文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,改动如下。   改完后,执行命令重启生效  service network restart 

     2. 修改主机名

    参考   ref3 "CentOS7修改主机名的三种方法" , 执行以下操作

    a. 执行命令改主机名  hostnamectl set-hostname hc2101,  hc2101是新的主机名

    b. root下修改hosts文件,添加新主机名字 

    c. 重启

     后记:  只需要添加第3行就可以了

    参考

    ref1 "centos7设置静态IP地址"

    ref2 "如何为CentOS 7配置静态IP地址的两种方法"

    英文变中文和中文语言 20210724

    描述

    系统默认是英文系统, 所有提示都是英文的。

    加入中文输入法,可以切换

    操作

    定位到路径 下 应用程序/系统工具/设置/Region & Language, 对应英文路径也好找

    按图中红色标记设置好。 改系统语言,增加中文输入法

    定位到路径 下 应用程序/系统工具/设置/设备/Keyboard

    修改输入法切换快捷键,根据个人习惯设置就行了

    参考

    ref1 "Centos7设置中文输入法及解决方法"

    ref2 "CentOS 7 无法使用中文输入法"

    问题

    Shell 命令用不了 20210728

    现象: 

    修改/etc/profile后。  突然出现问题了。

    可以开机, 但是无法登陆进去。 

    可以xshell 连接,  但是无法执行大部分shell命令

    其他机器可以ssh 连上,但是无法执行大部分shell命令

    如同所示

     原因:

    本来应该在/etc/profile 中 加入这行

    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    但是直接从 博客园复制过来后(博客园美元符号有问题),变成了,美元符号不见了  (问题见 b0111 博客园日常使用遇到的/问题/Q1)

    export PATH=PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin

    导致整个shell都用不了

    解决:

    还是可以使用 echo ,export set 查看环境变量

    1、 先在shell 界面执行 重置 PATH的值,其中后面的值, 从相似的其他机器上复制过来的。

    echo $PATH   # 注意看有没有设置错误,漏掉美元符号
    echo $SHELL # 正常是 /bin/bash
    export PATH=/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/jdk1.8.0_301/bin:/home/hadoop/.local/bin:/home/hadoop/bin

    执行上面完,shell命令就可以正常执行了

    2、  修改之前改动的 /etc/profile 文件

         把错误的地方,没有美元$符号的加上去

       执行 source /etc/profile 生效

    调正系统日期 20210723

    现象: 

    日期不对。

    解决:

    1. 校准时间: date -s "19:07:10 2021-07-23"   # 这里的日期要校准的日期
    2. 硬件层面同步  clock --systohc

    忘记是否要重启

    无法连接网络 20210721

    现象:   

    虚拟机NAT网络设置,动态分配IP,其他虚拟机在这种模式下可以用。

    本虚拟机刚安装完成, 但是本机无法ping通网络,    用ifconfig ,即没有ip地址,也没有mac地址。

    在 /etc/sysconfig/network-scripts/  下的是 ifcfg-ens33网卡

    原因:

    具体不详, centos7的网络和centos6有点不一样 。

    网上说要把centos7下的  ifcfg-ens33改名为 ifcfg-eth0 (个人安装的ubuntu,centos6.5都不用这样操作 )

    解决:


    1 .   改网卡信息,先不要重启,   结果以本文图片输出参数为校准目标 参考   ref1 "vmware安装centos7 输入ifconfig出现ens33,没有eth0

    2.    搞定没有ip地址和hwaddr,  参考  ref2 "Centos7克隆虚拟机之后,不显示ip地址......"

           确保 ifcfg-eth0文件中 有一行  "HWADDR=.....",没有就添加, 地址在ref2中 图片 生产Mac地址那

           备注: 后续验证发现, 没有hwaddr也可以正常获得ip

    3.    确保其他参数都和 本文   ifcfg-eth0 参数保持一致, 比如,onboot=yes, 

    其他参考

    ref3 ”centos7中的网卡一致性命名规则、网卡重命名方法

    相关命令:

    重建适配器
    
    1.systemctl stop NetworkManager
    
    2.systemctl disable NetworkManage
    
    service network restart   # 重启网关
    

      

    正常情况下:

    最终可用的网络的配置参数如下

    虚拟机设置NAT模式,vmware 自动分配ip

    ----

     ----

     

    相关

    1. 关联代码,  disk/202107_linux_centos7.txt
    2.  博客园 "b0103 vmware workstation 虚拟机 使用和维护
    写满200篇博文再说
  • 相关阅读:
    初次学习Vue,输出Hello Vue!
    js的let语句在安卓手机端的QQ浏览器出错的问题
    前端框架的对比
    Vue环境搭建及node安装过程整理
    快速排序与冒泡排序(面试题)
    判断一个字符串中出现次数最多的字符并统计其出现的次数(面试题)
    Go_18: Golang 中三种读取文件发放性能对比
    GO_05_2:Golang 中 panic、recover、defer 的用法
    Go_17:GoLang中如何使用多参数属性传参
    Go_16:GoLang中flag标签使用
  • 原文地址:https://www.cnblogs.com/sunzebo/p/15041848.html
Copyright © 2020-2023  润新知