linux修改hostname_零基础入门hadoop大数据三—linux基础环境配置

论坛 期权论坛 脚本     
已经选择匿名的用户   2021-6-10 14:10   1894   0

~~~~~~~~~~~~~~~~~~~~~~~~~更新~~~~~~~~~~~~~~~~~~~~~~~~~~~

本专题教程最终会以搭建4台机器(节点)的集群为教学目的,但会经历单机版(只有一台机器)、伪分布式(还是只有一台机器)、完全分布式(两台或两台以上的机器)的搭建过程。但无论是多少台机器,每一台机器的Linux设置几乎是一样的(除了IP网址不一样外)、Hadoop配置文件的配置也几乎一样的,因此我们主要集中精力配好一台机器就可以了,其他机器直接复制就行,需要做差异化配置的后面文章会特别提出。

一、本文需要完成的事情

1.配置linux网卡,使得你的linux系统可以上网以及和其他主机进行正常通行。

2.修改linux系统的主机名(你不想每台机器的名字都一样吧)

3.创建Hadoopuser用户,并赋予root权限。(其实这部不做也行,不做的话就是在root用户下安装Hadoop,权限过高,不利于多用户管理)

4.关闭linux防火墙(必做)

二、Linux 基础知识以及基础命令回顾

可能很多人刚开始接触linux,因此入手是一头雾水,我刚开始也是,正所谓万事开头难,如果你很熟悉linux系统的话,搭建Hadoop环境简直是小菜一碟。所以,为了大家不中途放弃,在正式搭建前,给大家稍微做一下linux知识回顾,讲一下配置中常用的一些命令,有些比较关键但目前用不到的,等用到了的时候再说一下,here we go!

(一)Linux的目录结构以及查看目录的命令

Linux的树状目录结构图如下;

5b5e83a442d05e946ed6db2f398cc2e0.png

/:根目录,位于Linux文件系统目录结构的顶层,一般根目录下只存放目录,不要存放文件。根目录下还有etc、bin、dev、lib、sbin等子目录,各有作用,请看下文。

/bin 该目录为命令文件目录,包含了供系统管理员及普通用户使用的重要的linux和二进制文件。如我们后续常用的一些命令就是存储在这个文件目录下。

/etc:系统配置文件存放的目录,如网卡的配置、环境变量的配置、主机名配置等,后面我们会经常配置这个文件夹里面的文件

/home,系统默认的用户宿主目录,你新创建的账号家目录就是在home目录下面的,后面会用到。

/opt:给主机额外安装软件所摆放的目录(也不一定得放这,不过放这好管理,大家都默认是这里,是不是)
/root:系统管理员root的宿主目录,和/home下面的普通用户宿主目录类似

/usr:应用程序存放目录。

以上是linux的目录结构简单介绍,下面是关于目录的一些操作命令:

ls:列出当前目录下所有的目录以及文件(不包含隐藏文件和目录),如在根目录下输入ls:

23db778429e3c4b13233d13c74192458.png

如果想查看当前目录下所有目录文件包括隐藏的目录文件的话,在ls 后面加上-a就可以了,比如在根录下输入 ls –a:

5828d927aa10afd0998dd89388601262.png

可以看到加-a后多了 . 和 .. 这两个目录。“.”代表当前目录,“..”代表上一级目录。

ll:和ls命令功能相似,也是列出当前目录下所有的文件(不包含隐藏文件和目录,要显示隐藏文件同样加上-a即可),不同的是,ll会显示详细的信息,包括文件的权限、文件所属用户,所属组,文件大小以及文件创建或者更新日期等。如在/根目录下输入ll:

9af8794ca6dc3215c17d64d3e884162c.png

文件所属权限以及用户要弄清楚,后面对于配置环境来说很重要,很多人会在这里失败。

cd:用于切换当前工作目录至dirname(目录参数),其中dirname可以是绝对路径或相对路径。当dirname省略时,输入cd 进入是的宿主目录(就是当前用户的家目录)

在任意目录下面输入:cd /etc (这是绝对路径):

095900f1ffadb1b382e6de4c3c5825e1.png

也可以输入 cd .. 返回上层目录:

fb4400182cc32fd8aec9ebdc538432e3.png

pwd: 显示当前目录。如在当前目录输入pwd:

a375d36e37d966833b2b6695b52d6469.png

Mkdir :创建目录。可以直接输入mkdir name,则在当前目录下面直接创建目录。也可以输入绝对路径,如 mkdir /opt/test,则标识在/opt目录下面创建目录。

af4c6f54ce558a047650ee180474834d.png

(二)linux文件操作

Linux目录下的文件有几种类型,如下图所示就是常见的几种类型:目录、文件、链接文件。

be0d1b3f674ba3b898b39c38fd8f16e4.png

l开头的代表链接文件,d开头的代表目录,-代表是普通文件,如txt文本等。对于文本文件,我们常用的一些命令有:

touch filename :创建文件

cat filename : 输出文件内容

vi filename ,进入文本文件编辑模式。进入文本文件编辑模式后,按下i可进行内容输入、修改。修改完后,按下esc+shift|+:,再输入wq,则保存退出。若不想保存退出,则是按下esc + shift + :后,输入q!即可直接退出,内容不做保存。

最后,补充一下文件权限问题。大家从上面的图发现,所有文件最后右边都有一串字母,如drwxrwxrwx等,总体上可以分为4部分:

【文件或文件夹】【文件所属用户权限】【同组用户权限】【其他组用户权限】

【文件是-,文件夹是d】【r/w/x相加】【r/w/x相加】【r/w/x相加】

其中,r代表读权限,w代表写权限,x代表可执行权限(excute)。

我们通常把rwx用二进制表示,有权限位就为1,则为0.比如,r-x,则代表是有读和执行权限,没有写权限,用二进制表示为101,就是十进制的5.同理,rwx则是111,十进制是7.因此,一个文件如果用数字表示完整的权限的话会是这样子的:

drwx-wx--x 表示这个目录,文件所有者拥有读写以及执行的权限,同组用户具有写和执行权限,其他用户只有可执行权限,用十进制表示就是731.

如果要修改一个文件或目录的权限,可以用chmod命令。

Chmod 333 filename,就是把文件filename的权限修改为所有用户都只有写和执行的权限。一般只有root用户以及文件所有者才有权限对文件权限进行修改。

二、配置linux网络

1.查看当前网络配置

用linux用ifconfig 命令就可查看当前网路配置。

4e5ac81854c1a172d2bdb0450ba83a8b.png

不对呀,提示comman not found呀。别急,这是因为有些linux系统bin目录下没有这个命令文件,需要自行安装,需要用yun install 命令安装即可。

既然ifconfig不能用,则我们用ip addr 命令代替,查看当前的配置。如图:

b581e15c1a9a302b725932bcd9aff695.png

第一个框中的的地址127.0.0.1/8是主机地址,测试主机用的。下面那个ens33才是网卡地址,和外面通信用的。由图可见,刚安装好的linux是还没有配置ip网络的,因此我们需要给他配置IP地址。

Linux的网络配置文件在根目录下的etc目录下的sysconfig下的network-script目录ifcfg-ensxx的文件,我这里是ens33,有些人的电脑可能是其他数字。

fc81be5796920009c96ec719dd0b43a5.png

用前面说的方法,使用vi命令编辑ifcfg-ens33文件,配置如下(红色框必须有):

30786781a660d601748dbf44916423c7.png

配置完保存退出后,输入service network restart重启网络服务即可:

84b79787173c7d7c34937642ba65d85c.png

重启完成后,重新ip addr 一下:

ec999a86880ce745cc81f7aedec0a47d.png

是不是ens33的配置和之前不一样了?

用ping命令测试一下,我的电脑ip地址(非虚拟机里面的linux电脑哈)是192.168.92.34,因此:ping –c 4 192.168.92.234结果如下,说明配置成功,网络已通。

d60d2e801e9bfbb8b508e04c3d6ad88b.png

那是不是说明可以上网了吗。ping –c 4 www.baidu.com试试:

5aef56c6f8c024bf056212f96bd39d13.png

提示Name or service not known,是不是说明不能上因特网。不是的,因为我们还没配域名服务器,linux主机还不知道www.baidu.com的ip地址是啥,如果我们直接ping 百度的ip地址那就没问题了,比如 ping -c 4 183.232.231.172结果如下:

4619b95ebaadda44561f22cc36d63297.png

说明网络是通的,可以正常上网的(这对后面挺重要的,比较多命令需要联网安装),因此下一步我们需要配置域名服务器IP地址(其实这步可以省略,配不配域名服务器对搭建Hadoop来说没太大影响,只是顺便说下)

域名服务器的Ip地址在文件/etc/resolv.conf里,我们vi一下这个文件,输入以下图中内容,保存退出即可。

5f947db2b47c923a27e8c565a8962c15.png

再重新ping www.baidu.com即可,结果如下:

a2e60b162e46c2d1773dc627999931d2.png

2、修改linux系统的主机名

主机名配置文件是/etc/hosts,因此vi /etc/hosts,输入以下内容,保存退出。

21d525e9480fae979eadb45105ea2350.png

备注:说明一下,这里面除了配置了本机Hadoop101名称外,还配置了其他的一些名称,这主要是方便后面新增其他3台机器的配置。以后可以直接用Hadoop101来代替192.168.100.101,其他的也同理。不信,可以ping Hadoop101试试,结果如下:

7c075d984bb610940dea1497bbfc381c.png

此外,还有个叫hostname的东西也可以配置一下,大家是否留意到,root后面@的内容是localhost,这是默认的主机名称,如果你想把它改成Hadoop101,是可以在/etc/hostname文件中修改

bba114e2b59a36a1bf15e86cb852f651.png

修改方法:vi /etc/hostname ,把里面的localhost.localdomain改成hadoop101即可,保存退出后,用reboot命令重启即可。重启后输入hostname命令查看就知道是否已修改成功了

0d7231299e24d709ce49047bc8a4efe8.png

3.创建一个用户,并赋予root权限。

这部分主要是想hadoop的创建者和root用户分开,root用户权限太大,不适宜所有事情和安装程序都在root用户下面进行。具体操作如下:

A.adduser hadoopuser ,增加用户

B.passwd hadoopuser,在后面需要连续输入两次密码,给hadoopuser设置密码。

C.给hadoopuser 赋予root权限,vi /etc/sudoers,找到Allow root to run 的东西,在root下面添加 Hadoopuser ALL=(ALL)ALL,保存退出即可。如下图:

5a46bb7901d70f31b6fe74bb96bc18d9.png

另外说一下,可能有些同学在用vi修改sudoers时,提示无权限,那是因为有些同学的sudoers文件仅有root的读权限,如下图所示;

002eb41e8cca78be714d7bfdc2416813.png

因此,需要修改文件的操作权限,使用前面说的命令

Chmod 777 sudoers

之后就可以修改了。修改完后,再用chmod 440 sudoers恢复原状,以防其他用户可以随便修改这个文件(意味着可以指定任何人具有root权限,这可不得了)

修改完后,使用sudo + 命令测试下是否正常,如果报

Sudoers world is writable 之类的错误,执行以下以下命令即可

pkexec chmod 555 /etc/sudoers。

4.关闭防火墙

A、查看下当前防火墙的状态:systemctl stauts firewalld,如下图,当前的防火墙是开启状态

bf860f8e6ae6cd947f4a9cfd71603719.png

B、关闭防火墙:systemctl stop firewalld

C、取消开机自动开启防火墙功能:systemctl disable firewalld

D、配置完后,重新查看防火墙状态:systemctl stauts firewalld,it is dead!!

537c6a95f0ff09705623685ccd141979.png

好了,今天更新到这里,目前为止,linux主机的配置已基本完成,网络已调通,下一步就是配置jdk环境变量以及搭配单机版的hadoop了,本章篇幅有点长,有点啰嗦,感谢看到这里的朋友们,我们下期再见~

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:86
帖子:240
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP