虚拟机部署hadoop集群

参考文章

一、配置虚拟机以及本地IP

vmware中编辑-虚拟网络编辑器

本地网络共享中心-适配器-vmnet8

二、配置开发机器环境

为了用xshell时,不用一直写ip地址,我们可以在自己的开发机器上进行配置C:WindowsSystem32driversetchosts

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
192.168.10.105 hadoop105

三、配置服务器

执行命令

vi /etc/sysconfig/network-scripts/ifcfg-ens33

进行修改添加

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# 将dhcp改为static,dhcp表示动态获取ip,static为固定ip
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=058b7a7a-1bea-4058-be18-2244d061018c
DEVICE=ens33
ONBOOT=yes
# 添加ip地址
IPADDR=192.168.10.100
# 网关
GATEWAY=192.168.10.2
# dns解析器
DNS1=192.168.10.2

修改主机的hostname

vi /etc/hostname

配置host映射,相当于ip地址起别名(跟绑定域名一个道理)

vi /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
192.168.10.105 hadoop105

重启服务器

reboot

测试是否有网络

ping meethigher.top

由于跟多rpm包在官方仓库是没有的,Centos需要额外安装一个软件仓库

yum install epel-release # 加上-y表示自动选是

关闭防火墙、关闭防火墙自启

systemctl stop firewalld
systemctl disable firewalld.service
firewall-cmd --state #查看防火墙状态

实际开发中,单个服务器的防火墙关闭,对整个集群设置防火墙

创建普通用户和其密码

useradd meethigher #创建用户
passwd meethigher #设置该用户密码 提示输入密码

授予用户最高权限

vi /etc/sudoers

在wheel后面追加

## Allows members of the 'sys' group to run networking, software, 
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL     
# 下面是追加内容 
# 所有的用户都在wheel这个组里,所以需要放到他的后面,如果放到他的前面,最后会被wheel的值给覆盖
# 第二个All如果改成NOPASSWD:ALL表示切换root时可以不用输密码
meethigher      ALL=(ALL)       ALL

切换用户

su meethigher

创建存储开发工具的文件夹

sudo mkdir /opt/module
sudo mkdir /opt/software

如果不是命令行版的系统,需要卸载自带的jdk

rpm -qa|grep -i java|xargs -nl rpm -e --nodeps
# rpm -qa:查询所安装的所有 rpm 软件包
# grep -i:忽略大小写
# xargs -n1:表示每次只传递一个参数
# rpm -e --nodeps:强制卸载软件

reboot重启

四、克隆虚拟机

右键-管理-克隆自当前状态-完整克隆

分别配置ifcfg-ens33以及hostname即可

五、安装JDK

将JDK1.8解压到/opt/module下,自带jre,所以不用准备了。

配置环境变量

# 进入环境变量路径下
cd /etc/profile.d/

创建java_env.sh

sudo vi java_env.sh

添加环境变量

JAVA_HOME=/opt/module/jdk1.8
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH

然后刷新环境变量

source /etc/profile

输入java -versionjavac -version查看版本

如果提示没有java命令,则可能是安错版本了。比如,你是64位(x64)的,结果安装了32(x86)位

六、安装hadoop

将hadoop解压到/opt/module下

配置环境变量

cd /etc/profile.d/

创建hadoop_env.sh

sudo vim hadoop_env.sh

添加环境变量

HADOOP_HOME=/opt/module/hadoop3.3
PATH=$PATH:$HADOOP_HOME/bin
PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_HOME

刷新环境变量

source /etc/profile

输入hadoop version查看版本信息

hadoop中目录介绍

  1. bin:存储和hdfs、mapreduce、yarn有关的命令
  2. etc
  3. include:C++的头文件
  4. lib:库
  5. sbin:启动集群、启动yarn、启动历史服务器等的命令
原文地址:https://www.cnblogs.com/meethigher/p/14839379.html