Hadoop运行集群搭建
虚拟机环境准备
安装虚拟机及基本配置
- IP地址192.168.10.100、主机名称hadoop100,内存4G、硬盘50G
- 测试下虚拟机联网情况
- 1 [root@hadoop100 ~]# ping www.baidu.com
- 2 PING www.baidu.com (14.215.177.39) 56(84) bytes of data.
- 3 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1
- 4 ttl=128 time=8.60 ms
- 5 64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2
- 6 ttl=128 time=7.72 ms
复制代码
- 安装 epel-release
注:Extra Packages for Enterprise Linux 是为“红帽系”的操作系统提供额外的软件包, 适用于 RHEL、CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数 rpm 包在官方 repository 中是找不到的)- [root@hadoop100 ~]# yum install -y epel-release
复制代码 - 注意:如果 Linux 安装的是最小系统版,还需要安装如下工具;如果安装的是 Linux 桌面标准版,不需要执行如下操作
net-tool:工具包集合,包含 ifconfig 等命令- [root@hadoop100 ~]# yum install -y net-tools
复制代码 vim:编辑器- [root@hadoop100 ~]# yum install -y vim
复制代码 关闭防火墙
- [root@hadoop100 ~]# systemctl stop firewalld <br><br>[root@hadoop100 ~]# systemctl disable firewalld.service
复制代码
- 注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙
创建用户snoopy,并修改用户密码
- [root@hadoop100 ~]# useradd snoopy<br>[root@hadoop100 ~]# passwd snoopy
复制代码 配置 snoopy 用户具有 root 权限
- 方便后期加 sudo 执行 root 权限的命令
- [root@hadoop100 ~]# vim /etc/sudoers
复制代码 - 修改/etc/sudoers 文件,在%wheel 这行下面添加一行,如下所示:
- ## Allow root to run any commands anywhere<br>root ALL=(ALL) ALL<br>## Allows people in group wheel to run all commands<br>%wheel ALL=(ALL) ALL<br>snoopy ALL=(ALL) NOPASSWD:ALL
复制代码 - 注意:snoopy这一行不要直接放到 root 行下面,因为所有用户都属于 wheel 组,你先 配置了 atguigu 具有免密功能,但是程序执行到%wheel 行时,该功能又被覆盖回需要 密码。所以 snoopy 要放到%wheel 这行下面。
在/opt 目录下创建文件夹
- 并修改所属主和所属组
- 在/opt 目录下创建 module、software 文件夹
- [root@hadoop100 ~]# mkdir /opt/module<br>[root@hadoop100 ~]# mkdir /opt/software
复制代码 - 修改 module、software 文件夹的所有者和所属组均为snoopy 用户
- [root@hadoop100 ~]# chown snoopy:snoopy /opt/module<br>[root@hadoop100 ~]# chown snoopy:snoopy /opt/softwar
复制代码 - 查看 module、software 文件夹的所有者和所属组
- [root@hadoop100 ~]# cd /opt/<br>[root@hadoop100 opt]# ll<br>总用量 12<br>drwxr-xr-x. 2 atguigu atguigu 4096 5 月 28 17:18 module<br>drwxr-xr-x. 2 root root 4096 9 月 7 2017 rh<br>drwxr-xr-x. 2 atguigu atguigu 4096 5 月 28 17:18 software
复制代码 卸载自带的jdk
- [root@hadoop100 ~]# rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
复制代码
- rpm -qa:查询所安装的所有rpm软件包
- grep -i:忽略大小写
- xargs -n1:表示每次只传递一个参数
- rpm -e –nodeps:强制卸载软件
重启虚拟机
- [root@hadoop100 ~]# reboot
复制代码 克隆虚拟机
开始克隆
- 克隆三台虚拟机Hadoop102、Hadoop103、Hadoop104
- 克隆时,要先关闭hadoop100
修改克隆机IP
修改虚拟机的静态IP
- [root@hadoop100 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
复制代码 改为- TYPE="Ethernet"
- PROXY_METHOD="none"
- BROWSER_ONLY="no"
- BOOTPROTO="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="f1b4f112-6706-4d05-b097-d60abe63fea0"
- DEVICE="ens33"
- ONBOOT="yes"
-
- IPADDR="192.168.153.100"
- GATEWAY="192.168.153.2"
- DNS1="192.168.153.2"
复制代码
查看Linux虚拟机的虚拟网络编辑器
- 编辑->虚拟网络编辑器->VMnet8
<img alt="image-20230408101136392">
<img alt="image-20230402152213227">
查看Windows系统适配器
- VMware Network Adapter VMnet8的IP地址
- 保证Linux系统ifcfg-ens33文件中IP地址、虚拟网络编辑器地址和Windows系统VM8网络IP地址相同。
<img alt="image-20230408101223631">
修改克隆机主机名
修改主机名称
- [root@hadoop100 ~]# vim /etc/hostname<br><br>hadoop102
复制代码 配置Linux克隆机主机名称映射hosts文件
- [root@hadoop100 ~]# vim /etc/hosts<br>添加内容<br>
复制代码- 1 192.168.10.100 hadoop100
- 2 192.168.10.101 hadoop101
- 3 192.168.10.102 hadoop102
- 4 192.168.10.103 hadoop103
- 5 192.168.10.104 hadoop104
复制代码 重启克隆机hadoop102
- [root@hadoop100 ~]# reboot
复制代码 修改windows的主机映射文件(hosts文件)
window7操作系统
- 进入 C:\Windows\System32\drivers\etc 路径
- 打开hosts文件并添加如下内容,然后保存
- 192.168.10.100 hadoop100
- 192.168.10.101 hadoop101
- 192.168.10.102 hadoop102
- 192.168.10.103 hadoop103
- 192.168.10.104 hadoop104
复制代码
window10操作系统
- 先拷贝出来,修改保存以后,再覆盖即可
- 进入 C:\Windows\System32\drivers\etc 路径
- 拷贝 hosts 文件到桌面
- 打开桌面 hosts 文件并添加如下内容
- 1 192.168.10.100 hadoop100
- 2 192.168.10.101 hadoop101
- 3 192.168.10.102 hadoop102
- 4 192.168.10.103 hadoop103
- 5 192.168.10.104 hadoop104
复制代码
- 将桌面 hosts 文件覆盖 C:\Windows\System32\drivers\etc 路径 hosts 文件
安装JDK和Hadoop
卸载现有的JDK
- 安装JDK前,一定确保提前删除了虚拟机自带的JDK。
rpm -qa | grep -i java | xargs -n1
传输JDK和Hadoop
- 利用XShell传输工具将JDK和Hadoop的包导入opt目录下的module文件夹下
- 查看是否导入成功
解压JDK和Hadoop
- [root@hadoop102 software]$ tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/software/
复制代码- [root@hadoop102 module]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/software/
复制代码 配置JDK和Hadoop环境变量
- 新建/etc/profile.d/my_file.sh文件
- [root@hadoop102 ~]$ sudo vim /etc/profile.d/my_file.sh
复制代码
- 添加内容
- #JAVA_HOME
- export JAVA_HOME=/opt/software/jdk1.8.0_212
- export PATH=$PATH:$JAVA_HOME/bin
-
- #HADOOP_HOME
- export HADOOP_HOME=/opt/software/hadoop-3.1.3
- export PATH=$PATH:$HADOOP_HOME/bin
- export PATH=$PATH:$HADOOP_HOME/sbin
复制代码
- 保存后退出
:wq
- source一下/etc/profile文件,让新的环境变量PATH生效
- [root@hadoop102 ~]$ source /etc/profile
复制代码
- 测试JDK是否成功
- [root@hadoop102 ~]$ java -version
复制代码 - 测试Hadoop是否安装成功
- [root@hadoop102 hadoop-3.1.3]$ hadoop version
复制代码 - 重启(java -version可以用就不用重启)
- [root@hadoop102 ~]$ reboot
复制代码
Hadoop目录
Hadoop目录结构
- [root@hadoop102 hadoop-3.1.3]$ ll<br>总用量 52<br>drwxr-xr-x. 2 atguigu atguigu 4096 5 月 22 2017 bin<br>drwxr-xr-x. 3 atguigu atguigu 4096 5 月 22 2017 etc<br>drwxr-xr-x. 2 atguigu atguigu 4096 5 月 22 2017 include<br>drwxr-xr-x. 3 atguigu atguigu 4096 5 月 22 2017 lib<br>drwxr-xr-x. 2 atguigu atguigu 4096 5 月 22 2017 libexec<br>-rw-r--r--. 1 atguigu atguigu 15429 5 月 22 2017 LICENSE.txt<br>-rw-r--r--. 1 atguigu atguigu 101 5 月 22 2017 NOTICE.txt<br>-rw-r--r--. 1 atguigu atguigu 1366 5 月 22 2017 README.txt<br>drwxr-xr-x. 2 atguigu atguigu 4096 5 月 22 2017 sbin<br>drwxr-xr-x. 4 atguigu atguigu 4096 5 月 22 2017 share
复制代码 重要目录
- bin目录:存放对Hadoop相关服务(hdfs,yarn,mapred)进行操作的脚本
- etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
- lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
- sbin目录:存放启动或停止Hadoop相关服务的脚本
- share目录:存放Hadoop的依赖jar包、文档、和官方案例
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |