centos7设置静态ip并连接外网

此教程可能不具有统一性,非放之四海而皆准,谨慎参考,避免骂娘!

​ 打算学习大数据,第一步就是和Linux又打交道了,我们准备了!四台虚拟机分别为hdf-01到hdf-04。

配置思想如下图(我自己配置的ip与图片中的ip并不相同):

1.虚拟机与宿主机的IP设置

​ 打开vmware的编辑下的虚拟网络编辑器

记下子网IP与下图的NAT设置下的网关地址。

然后打开本机上的网络设置,VMnet8的ipv4属性,设置IP地址。将网关设置与上图的NAT网关相同,IP地址同意网段内随便写,不要重复。

2.对虚拟机的ip设置

打开虚拟机后,进入/etc/sysconfig/network-scripts/,使用 vi 编辑器打开 ifcfg-ens33文件,不同的机器下文件后的数字不尽相同,自己判断。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=01ad6d15-77de-46d0-9d5f-7143e7c557d4
DEVICE=ens33
ONBOOT=yes # 改为yes,可以自动启动
IPADDR=192.168.10.149 # IP地址改为,与网关同意网段的任意地址(不能重复,不能超过255)
GATEWAY=192.168.10.2  # 网关改成ANT设置中的网关,自己添加的时候一定要注意单词的拼写
NETMASK=255.255.255.0 # 子网掩码,不必多说了
DNS1=8.8.8.8 # DNS写不写都行吧,写上也不费事
DNS2=114.114.114.114
NM_CONTROLLED=no
HWADDR=00:0C:29:D0:5F:CA

这些配置好后,基本上就可以ping通外网了,最后,当前的虚拟机的网络模式要选择好呀!如图

成果

3.scp的使用

多个虚拟机安装软件的时候,比如java运行环境的安装,一个一个的进行安装太过于麻烦,可以安装一个后,使当前的安装好后的文件夹直接贴附于另一台虚拟机下。说干就干,先看安装

yum install openssh-clients # 很简单,一句yes就可以了

我将java的运行环境装在了/apps/jdk8.......,想将这个目录贴于其他主机之上运行下面的代码

scp -r apps/ 192.168.10.146:/ #存放到了根目录下,可以配置host文件映射,使用主机名代替IP地址

4.配置免密登陆

​ 此处的免密登陆是从一台虚拟机到另外的几台虚拟机,是为了hadop启动其他的节点更为方便。首先

ssh-keygen #生成key,之后两次回车即可

此处我在/etc/hosts文件中配置了地址映射,

192.168.10.149 hdf-01
192.168.10.148 hdf-02
192.168.10.147 hdf-03
192.168.10.146 hdf-04

如果没有配置要使用IP地址,然后执行下面命令!

ssh-copy-id hdf-01 #虽然在hdf-01上生成了key,但是也需要在hdf-01上也来一下
..........
ssh-copy-id hdf-04 # 要输入虚拟机登陆的密码

5.安装hadoop集群

在hadoop的安装地址 /apps/hadoop-2.9.2下的etc/hadoop目录中修改hadoop-env.sh

export JAVA_HOME=/apps/jdk1.8.0_241

修改core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hdf-01:9000</value>
    </property>
</configuration>

修改hdfs-site.xm

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/root/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/root/dfs/data</value>
    </property>
</configuration>

配置环境变量

export JAVA_HOME=/apps/jdk1.8.0_241
export HADOOP_HOME=/apps/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使用scp将hdf-01虚拟机下的hadoop安装到其他机器上

scp -r /apps/hadoop-2.9.2  hdf-02:/apps
......

6.启动HDFS

初始化namenode的元数据目录

在hdf-01上执行命令来初始化元数据存储目录并启动

hadoop namenode -format # 初始化
hadoop-daemon.sh start namenode # 启动namenode进程

然后在windows中用浏览器访问namenode提供的web端口 50070

http://hdf-01:50070 # 需要关闭centos7的防火墙

然后,启动众datanode们(在任意地方)

hadoop-daemon.sh start datanode

7.批量启动脚本来启动HDFS

配置hdf-01到所有集群中所有机器(包括自己)的免密登陆(见上方)

配置完免密,可以执行一次 ssh0.0.0.0

修改hadoop安装目录中 /etc/hadoop/slaves(把需要启动datanode进程的节点列入)

hdf-01
hdf-02
hdf-03
hdf-04

在hdp-01上用脚本:start-dfs.sh 来自动启动整个集群。如果要停止,则用脚本:stop-dfs.sh

8.hdfs常用操作命令

1.上传到hdfs中

hadoop fs -put /本地文件 /aaa 
hadoop fs -copyFromLocal /本地文件  /hdfs路径 # copyFromLocal等价于 put
hadoop fs -moveFromLocal /本地文件  /hdfs路径 # 跟copyFromLocal的区别是:从本地移动到hdfs中

2.下载文件到客户端本地磁盘

hadoop fs -get /hdfs中的路径   /本地磁盘目录
hadoop fs -copyToLocal /hdfs中的路径 /本地磁盘路径   ## 跟get等价
hadoop fs -moveToLocal /hdfs路径  /本地路径  ## 从hdfs中移动到本地

3.在hdfs中创建文件夹

hadoop fs -mkdir  -p /aaa/xxx

4.移动hdfs中的文件(更名)

hadoop fs -mv /hdfs的路径  /hdfs的另一个路径

5.删除hdfs中文件或者文件夹

hadoop fs -rm -r /aaa

6.修改文件的权限

hadoop fs -chown user:group /aaa
hadoop fs -chmod 700 /aaa

7.追加内容到已存在的文件

hadoop fs -appendToFile /本地文件   /hdfs中的文件

8.显示文本文件的内容

hadoop fs -cat /hdfs中的文件
hadoop fs -tail /hdfs中的文件
posted @ 2022-04-15 17:31  kingstoness  阅读(697)  评论(0编辑  收藏  举报