超详细超简单的搭建三台虚拟机集群
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(完全超详细-小白注释版)虚拟机安装+平台部署
超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群