超详细超简单的搭建三台虚拟机集群

Posted oxygen_ls

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了超详细超简单的搭建三台虚拟机集群相关的知识,希望对你有一定的参考价值。

1.vm虚拟机配置
宿主机:真机
NAT模式:(VM虚拟机里面设置)
查看:你的NAT网段和网关是多少?
网段:192.168.136.0/24
网关:192.168.136.2

我的规划:
NN1 192.168.136.200
DN1 192.168.136.201
DN2 192.168.136.202

CETNOS7 NN1 里面配置IP
ifconfig 查看网卡的名字--------ens33

root下面运行:

ifconfig   ens33   192.168.136.200  netmask  255.255.255.0

2.创建hadoop sudu权限

下面的命令在root用户下操作:
创建hadoop用户

useradd  hadoop
passwd  hadoop
vim   /etc/sudoers


插入:

Hadoop ALL=(ALL)    NOPASSWD:ALL

esc键+:wq!保存并退出
esc键+:q!退出
i插入

切换到hadoop用户

su - hadoop      ///”-”是用户环境一同切换过去。  
scp /etc/sudoers      root @192.168.136.201:/etc/
scp /etc/sudoers      root @192.168.136.202:/etc/ 


测试

3.关闭防火墙

sudo systemctl status firewalld.service  //查看防火墙的状态


关闭防火墙:

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

4.配置静态IP

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

如下图
同理更改DN1,DN2的静态IP,并sudo reboot看是否生效(有IP)

5.修改主机名
NN1 192.168.136.200
DN1 192.168.136.201
DN2 192.168.136.202

查看机器的名称

hostname

修改名称

vim /etc/hostname

将对应的主机名称修改一下

查看名称

cat /etc/hostname

同理更改DN1,DN2

6.修改IP和主机名的映射关系,主机IP映射如下

192.168.78.200 NN1
192.168.78.201 DN1
192.168.78.202 DN2
在下面这个文件里面添加以上内容

vim  /etc/hosts

同理修改DN1,DN2
测试:分别ping 主机的名字 ctl+z退出

安装插件:

yum install -y lrzsz


新建资源目录:

cd /home/
ll
mkdir soft
ll

7.卸载OPENJDK,安装新版JDK
上传jdk和hadoop命令:

rz



查看是否上传成功:

ll


查看以前安装的jdk:

rpm -qa | grep jdk


卸载原有的jdk,再查看:

rpm -e –nodeps +jdk名字


解压jdk:

tar -zxvf +jdk名称


解压hadoop:

tar -zxvf +hadoop名称


查看:

删除安装包,留下解压好的jdk和hadoop:

rm -rf +hadoop名称 
rm -rf +jdk名称


修改hadoop和jdk名称:

mv hadoop-2.7.2/ hadoop
mv jdk1.8.0_25/ jdk


8.准备三台CENTOS
完整克隆出另外两台电脑,并把IP,机器名更改后,再分别测试一下。(新手建议不要克隆,三台一起配置,加强记忆)

9.各节点无密钥登录配置(超简单)
1.切换到hadoop用户

su – hadoop

2.生成密钥对,并将公钥加入到授权文件中
输入:

cd  ~/.ssh  (如果没有这个目录,你先执行ssh  localhost就会生成.ssh目录)


输入:

ssh-keygen -t rsa

按三次回车后:

1.在hadoop目录下输入:

ll -a(查看生成的.ssh目录)

2.进入文件目录

cd .ssh


可以看到id_rsa是私钥
id_rsa.pub是公钥(私钥自己用,公钥给其他机器,一个公钥对应一个私钥)
3.将id_rsa.pub复制到新文件authorized_keys文件中:

cat id_rsa.pub >> authorized_keys

4.给这个authrized_keys文件授权为600

chmod 600 authorized_keys

5.在其他节点上执行相同操作(dn1/dn2)
6.将其他节点(DN1/DN2)的authorized_keys的内容直接右键复制到上NN1的authorized_keys文件里面
7.将NN1的authorized_keys直接复制到每个节点的hadoop用户下

scp ~/.ssh/authorized_keys hadoop@DN1:~/.ssh
scp ~/.ssh/authorized_keys hadoop@DN2:~/.ssh

配置JDK
配置环境变量:

vi /etc/profile

添加:

export JAVA_HOME=/home/soft/jdk
export HADOOP_HOME=/home/soft/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin


执行文件命令:

source /etc/profile

查看jdk版本:

java -version

配置HDFS
进入hadoop/etc/hadoop/目录下:

cd hadoop/etc/hadoop/

查看有哪些文件:

ll


1.修改core-site.xml命令: vi core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://NN1:9000</value>  //NN1为主机名
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/soft/hadoop/tmp</value>
</property>

2.修改hadoop-env.sh文件:vi hadoop-env.sh
添加一句:export JAVA_HOME=”/home/soft/jdk”

3.修改hdfs-site.xml命令:vi hdfs-site.xml

<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/soft/hadoop/name</value>
</property>
<property>
<name>dfs.datanode.dir</name>
<value>file:///home/soft/hadoop/data</value>
</property>


4.重命名mapred-site.xml.template更名为mapred-site.xml:

mv  mapred-site.xml.template  mapred-site.xml


修改mapred-site.xml:vi mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

5.修改slaves文件:

vi slaves

将主机名写进去

6.修改yarn-site.xml文件:vi yarn-site.xml

<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>NN1:8032</value>
</property>


至此虚拟机配置已经配置好了
新手一枚发现问题,欢迎指正~~

以上是关于超详细超简单的搭建三台虚拟机集群的主要内容,如果未能解决你的问题,请参考以下文章

大数据技术栈-Hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超详细-小白注释版)虚拟机安装+平台部署

hadoop完全分布式集群搭建(超详细)-大数据集群搭建

Hadoop集群搭建之详细文件配置

超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群

Hadoop集群搭建准备环境,手把手教你一步一步搭建,超详细

搭建Hadoop集群(超详细版)