一、环境准备
(0)需要准备三台虚拟机,名称为Hadoop(102,103,104),ip地址为192.168.10.(102、103、104)。 (1)关闭虚拟机防火墙
[root@hadoop100 ~]
[root@hadoop100 ~]
注意:可以用 systemctl status firewalld 命令查看防火墙状态 (2)设置虚拟机ip
- 在VMware中设置如下内容
- 在windows中做如下设置
右键属性
点击属性配置如下 3. 虚拟机配置
将虚拟机ip改为静态ip
[root@hadoop100 ~]
(3)修改克隆机主机名并配置 Linux 克隆机主机名称映射 hosts 文件
[root@hadoop100 ~]
改为
hadoop102
[root@hadoop100 ~]
添加
192.168.10.102 hadoop102
192.168.10.103 hadoop103
192.168.10.104 hadoop104
(4)在/opt/目录下创建software和module两个目录
[root@hadoop100 ~]
[root@hadoop100 ~]
(5)卸载现有 JDK
[root@hadoop100 ~]
--nodeps
? rpm -qa:查询所安装的所有 rpm 软件包 ? grep -i:忽略大小写 ? xargs -n1:表示每次只传递一个参数 ? rpm -e –nodeps:强制卸载软件
(6)重启虚拟机
[root@hadoop100 ~]
(7) 克隆虚拟机haoop103,hadoop104 更改vim /etc/sysconfig/network-scripts/ifcfg-ens33中的ip地址,并更改主机名,然后重启
二、在hadoop102中安装jdk
(1)版本jdk1.8.0_181 (2)用 XShell 传输工具将 JDK 导入到 opt 目录下面的 software 文件夹下面 (3)解压 JDK 到/opt/module 目录下
[root@hadoop102 software]$ tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt/module/
(4)配置 JDK 环境变量
- 在/etc/profile.d/目录下创建my_env.sh
- 在my_env.sh中添加如下内容
export JAVA_HOME=/opt/module/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
- source 一下/etc/profile 文件,让新的环境变量 PATH 生效
[root@hadoop102 ~]$ source /etc/profile
- 测试 JDK 是否安装成功
[root@hadoop102 ~]$ java -version
如果能看到以下结果,则代表 Java 安装成功。 java version “1.8.0_212”
三、在 hadoop102 安装 Hadoop
安装hadoop
(1)版本hadoop-3.1.3 (2)用 XShell 文件传输工具将 hadoop-3.1.3.tar.gz 导入到 opt 目录下面的 software 文件夹下 面 (3)解压安装文件到/opt/module 下面
[atguigu@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
(4)将 Hadoop 添加到环境变量 (2)打开/etc/profile.d/my_env.sh 文件
- 在my_env.sh中添加如下内容
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
- source 一下/etc/profile 文件,让新的环境变量 PATH 生效
- 测试是否安装成功
[root@hadoop102 profile.d]
Hadoop 3.1.3
查看 Hadoop 目录结构
[root@hadoop102 hadoop-3.1.3]# ll 总用量 176 drwxr-xr-x. 2 zx zx 183 9月 12 2019 bin drwxr-xr-x. 3 zx zx 20 9月 12 2019 etc drwxr-xr-x. 2 zx zx 106 9月 12 2019 include drwxr-xr-x. 3 zx zx 20 9月 12 2019 lib drwxr-xr-x. 4 zx zx 288 9月 12 2019 libexec -rw-rw-r–. 1 zx zx 147145 9月 4 2019 LICENSE.txt -rw-rw-r–. 1 zx zx 21867 9月 4 2019 NOTICE.txt -rw-rw-r–. 1 zx zx 1366 9月 4 2019 README.txt drwxr-xr-x. 3 zx zx 4096 9月 12 2019 sbin drwxr-xr-x. 4 zx zx 31 9月 12 2019 share
重要目录 (1)bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapred)进行操作的脚本 (2)etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件 (3)lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能) (4)sbin 目录:存放启动或停止 Hadoop 相关服务的脚本 (5)share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例
四、编写集群分发脚本
- scp(secure copy)安全拷贝
(1)scp 定义 scp 可以实现服务器与服务器之间的数据拷贝。(from server1 to server2) (2)基本语法
scp -r $pdir/$fname $user@$host:$pdir/$fname
命令 递归 要拷贝的文件路径/名称 目的地用户@主机:目的地路径/名称
(3)案例实操 ? 前提:在 hadoop102、hadoop103、hadoop104 都已经创建好的/opt/module、 /opt/software 两个目录,并且已经把这两个目录修改为 zx:zx
[zx@hadoop102 module]$ sudo chown zx:zx -R /opt/module
(a)在 hadoop102 上,将 hadoop102 中/opt/module/jdk1.8.0_212 目录拷贝到 hadoop103 上。
[zx@hadoop102 module]$ scp -r /opt/module/jdk1.8.0_212/ zx@hadoop103:/opt/module
(b)在 hadoop103 上,将 hadoop102 中/opt/module/hadoop-3.1.3 目录拷贝到 hadoop103 上。 [atguigu@hadoop103 ~]$ scp -r atguigu@hadoop102:/opt/module/hadoop-3.1.3 /opt/module/ (c)在 hadoop103 上操作,将 hadoop102 中/opt/module 目录下所有目录拷贝到 hadoop104 上。 [atguigu@hadoop103 opt]$ scp -r atguigu@hadoop102:/opt/module/* atguigu@hadoop104:/opt/module
|