博客主页: A_SHOWY
系列专栏:力扣刷题总结录 数据结构 云计算
首先,需要创建3台EC2,一台作主节点 (master node),两台作从节点 (slaves node)。
EC2(弹性计算云):是AWS提供的最基本的云计算产品:虚拟专用服务器。这些“实例”可以运行大多数操作系统。
实例类型这里我选择的t2.medium,虽然选择t2.micro或者t2.small可能便宜一些,但是性能和CPU运行速率相差较大,运用Hadoop会显得比较吃力。
本次实验需要安装的文件大于8GiB,将默认的8GiB改成15GiB,由于需要创建3台EC2,一台作主节点 (master node),两台作从节点 (slaves node)。所以实例数量设置为3。
密钥对名臣设置为hadoop,密钥对类型设置为RSA,私钥文件格式选择.pem(其实可以选择.ppk),由于面对EC2的操作我是用PuTTY来做的,所以将下载好的私钥还需通过PuTTYgen转换为.ppk格式。
成功创建SSH密钥对后:阿里云会保存SSH密钥对的公钥部分。自己需要下载并妥善保管私钥。当实例用公钥发送一段用于验证身份的密文,我们本地的SSH客户端便使用私钥将密文进行解密。
实例创建成功
一台作主节点 (master node),两台作从节点 (slaves node)。为了后续操作清晰进行,故三个实例分别命名为master、slave01、slave02。
启动实例后,需要对EC2实例进行环境配置,需要使用SSH软件来完成远程连接,可以使用tabby、Xshell、electerm,在这里我使用的是Putty,这款工具是款老牌工具,体积小,使用方便,功能强大。
下面我仅仅展示master的连接过程图,slave01和slave02的连接过程同master完全一致。
由于master、slave01、slave02的配置方法是一样的,故上述只以master为例。
如果要想实现通过主机名进行通信,不需要记录对应的IP地址,需要将主机名和IP地址为组存入hosts中。这样的操作就可以避免了通多较为麻烦的局域网内的本地IP进行通信。从三个实例中找到三个实例的私有IP地址
(slave01,slave02内容修改),可以看到将3个主机名和对应的IP地址都输入到了hosts文件内容中。
测试可知,Master主机ping Master是通的
测试可知,Master主机ping Slave01 是通的
测试可知,Master主机ping Slave02 是通的
同理,在Slave01主机和Slave02主机上分别ping包括自己的3台z主机都是通的
切换到 Master 主机对应的 putty 界面,首先查看 ssh 目录是否存在,如果不存在就创建该目录。
mkdir ~/.ssh
cat ./id_rsa.pub >> ./authorized_keys
mkdir ~/.ssh
sudo nano id_rsa.pub//输入内容
cd ~/.ssh/ //进入 ssh 目录。
sudo vim id_rsa.pub //打开 id_rsa.pub 文件
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
sudo vim /etc/ssh/sshd_config //打开文件
以下两图可以看出Master用户成功转换为Slave01,接着转换为Slave02,表面配置成功。
cd /usr/lib
sudo mv ./hadoop-2.8.4/ ./hadoop
sudo chown -R hadoop ./hadoop
sudo nano ~/.bashrc //打开文件的原始内容
在文件中的末尾加上export PATH=$PATH:/usr/lib/hadoop/bin:/usr/lib/hadoop/sbin
source ~/.bashrc
cd /usr/lib/hadoop/etc/Hadoop
sudo nano hadoop-env.sh
根据查到的地址在文件中进行修改。
sudo nano slaves
修改后的内容如下
sudo nano core-site.xml
替换成以下内容
sudo nano hdfs-site.xml
将内容替换为
内容替换成
sudo nano yarn-site.xml
将其修改为
cd /usr/lib
tar -zcf ~/hadoop.master.tar.gz ./hadoop
scp -r ~/hadoop.master.tar.gz Slave01:/home/hadoop
scp -r ~/hadoop.master.tar.gz Slave02:/home/hadoop
在两个子节点分别输入
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/lib
sudo chown -R hadoop /usr/lib/hadoop
hdfs namenode -format
出现Exiting with status 0表明格式化成功
当完成初始化后,要进行启动服务
start-dfs.sh
可以看到有三个服务
start-yarn.sh
可以看到有4个服务,说明启动成功
均有3个启动起来的服务,说明Slave01和Slave02均开启成功。
mr-jobhistory-daemon.sh start historyserver,可以看到有5个服务,说明启动成功。
hdfs dfsadmin -report
其中 Live datanodes (2) 表明两个从节点都已正常启动,启动成功。
将复制的公有 IPv4 地址复制到浏览器地址栏后加上:50070打开此页面
将复制的公有 IPv4 地址复制到浏览器地址栏后加上 :8088打开此页面