IT评测·应用市场-qidao123.com
标题:
三台虚拟机搭建Hadoop集群(云计算实验新)
[打印本页]
作者:
饭宝
时间:
2024-7-23 08:25
标题:
三台虚拟机搭建Hadoop集群(云计算实验新)
本文将介绍利用三台虚拟机实现互相免密访问并搭建Hadoop集群。
一. 创建虚拟机
1. 下载操纵体系镜像源
本文利用Centos7.9版本,下载地址,需要其他版本可在阿里镜像源下载。
2. 下载虚拟机软件VMware
VMware官网链接,VMware下载指南
3. 配置三台Centos虚拟机
VMware中创建虚拟机教程,创建完成一个虚拟机之后,利用管理克隆得到三台虚拟机。
二. 虚拟机免密登录配置
1. 虚拟机IP设置
在centos下令行输入以下指令
(1) 切换到root用户
su root
复制代码
(2) 检察当前网络IP
ip add
复制代码
可以检察到当前虚拟机的IP,我这里是192.168.3.89,但这个默认IP再次启动时会
变革
,我们希望有一个固定的署理IP。
(3) 打开虚拟机网卡配置
vi /etc/sysconfig/network-scripts/ifcfg-ens33
复制代码
在其中参加
IPADDR=192.168.3.110 #ip地址 (更改为自己设定的IP)
复制代码
重启网络服务(告急)
systemctl restart network
复制代码
再次输入
ip add
复制代码
此时输入的192.168.3.110成为了署理IP。
依照此方法将三台虚拟机的IP设定下表:
Namenode192.168.3.100Datanode1192.168.3.110Datanode2192.168.3.120
2. 设置三个节点间免密访问
(1) 节点配置
分别进入每个节点(虚拟机,修改它们的名字)
ssh 192.168.3.100
vi /etc/hostname
# 修改内容
Namenode
ssh 192.168.3.110
vi /etc/hostname
# 修改内容
Datanode1
ssh 192.168.3.120
vi /etc/hostname
# 修改内容
Datanode2
复制代码
设置IP和主机名对应
vi /etc/hosts
# 将里面内容替换为
192.168.3.100 Namenode
192.168.3.110 Datanode1
192.168.3.120 Datanode2
复制代码
将Namenode节点配置复制到datanode上,即复制/etc/hosts的内容
#自行调整IP
scp /etc/hosts root@192.168.3.110:/etc/hosts
scp /etc/hosts root@192.168.3.120:/etc/hosts
复制代码
(2) 设置密钥
# 密钥生成
ssh-keygen -t rsa //点击三次enter即可
ssh Datanode1
ssh-keygen -t rsa //点击三次enter即可
scp /root/.ssh/id_rsa.pub root@Namenode:/root/.ssh/id_rsa.pub.Datanode1
ssh Datanode2
ssh-keygen -t rsa //点击三次enter即可
scp /root/.ssh/id_rsa.pub root@Namenode:/root/.ssh/id_rsa.pub.Datanode2
# 密钥交互
ssh Namenode
cd /root/.ssh
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.Datanode1 >> authorized_keys
cat id_rsa.pub.Datanode2 >> authorized_keys
chmod 644 authorized_keys
scp ~/.ssh/authorized_keys root@Datanode1:/root/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@Datanode2:/root/.ssh/authorized_keys
复制代码
(3) 防火墙设置
关闭三台虚拟机的防火墙
ssh Namenode
systemctl stop firewalld
ssh Datanode1
systemctl stop firewalld
ssh Datanode2
systemctl stop firewalld
复制代码
(4) 连接测试
ssh Datanode1
ssh Datanode2
ssh Namenode
复制代码
配置好后连接效果应如下:
三. Hadoop 配置
1. 配置主节点
(1) 下载并解压所需包
ssh Namenode //连接Namenode节点
mkdir /home/hadoop
cd /home/hadoop/
wget http://denglab.org/cloudcomputing/download/hadoop.tar.gz
tar -zxvf hadoop.tar.gz
mkdir /home/jdk
cd /home/jdk/
wget http://denglab.org/cloudcomputing/download/jdk.tar.gz
tar -zxvf jdk.tar.gz
复制代码
(2) 设置bash profile
vi ~/.bash_profile
# 替换配置文件内容
# export PATH
export JAVA_HOME=/home/jdk/jdk1.7.0_75
export JAVA_JRE=/home/jdk/jdk1.7.0_75/jre
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0
# path
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH=$JAVA_HOME/bin:$PATH
复制代码
source ~/.bash_profile //保存配置
复制代码
(3) 修改Hadoop配置文件(以下都是将原有的配置举行更换)
配置公共属性 core-site.xml
cd $HADOOP_HOME
mkdir namenode
mkdir datanode
cd etc/hadoop/
vi core-site.xml
# 替换配置<configuration>中内容
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://Namenode:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.6.0/tmp/hadoop-${user.name}</value>
</property>
</configuration>
复制代码
配置hdfs-site.xml文件
vi hdfs-site.xml
# 替换配置<configuration>中内容
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/hadoop-2.6.0/namenode/name_1, /home/hadoop/hadoop-2.6.0/namenode/name_2</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/hadoop-2.6.0/datanode/data_1, /home/hadoop/hadoop-2.6.0/datanode/data_2</value>
</property>
</configuration>
复制代码
配置 mapred-site.xml文件
vi mapred-site.xml
# 替换配置<configuration>中内容
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>Namenode:9001</value>
</property>
</configuration>
复制代码
配置java路径
vi hadoop-env.sh
# 替换原来路径内容
export JAVA_HOME=/home/jdk/jdk1.7.0_75
复制代码
设置数据节点
vi slaves
# 将内容替换为
Datanode1
Datanode2
复制代码
2. 配置从节点
(1) 将bash_profile从主节点复制到从节点
scp ~/.bash_profile root@Datanode1:~/.bash_profile
scp ~/.bash_profile root@Datanode2:~/.bash_profile
复制代码
(2) 把hadoop,jdk文件和配置从主节点复制到从节点中(这一步花费时间略长)
scp -r /home/hadoop/ root@Datanode1:/home/hadoop
scp -r /home/hadoop/ root@Datanode2:/home/hadoop
scp -r /home/jdk/ root@Datanode1:/home/jdk
scp -r /home/jdk/ root@Datanode2:/home/jdk
复制代码
3. 启动及测试hadoop
(1) 关闭namenode安全模式(告急)
ssh namenode
hdfs dfsadmin -safemode leave
复制代码
关于安全模式题目参考博客
(2) 初始化并启动hadoop
cd $HADOOP_HOME
cd etc/hadoop
hdfs namenode -format //初始化hadoop,不要多次初始化,可能会导致生成id不唯一
start-all.sh
复制代码
多次初始化导致的异常可参照博客办理
(3) 检察HDFS文件体系状态
hdfs dfsadmin -report
复制代码
(4) 检察历程状态
jps
复制代码
(5) 测试HDFS文件体系
hadoop fs -ls /
复制代码
此时HDFS文件体系没有文件
在当地创建一个文件 test.txt
vi test.txt
# 添加内容 hello hadoop
复制代码
(6) 上传文件
hadoop fs -put test.txt /test.txt
复制代码
检察此时的HDFS文件体系
hadoop fs -ls /
复制代码
此时文件已经乐成从当地上传到HDFS文件体系。
附:利用云服务器配置Hadoop集群可参考博客
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4