用阿里云三个ECS服务器搭建一个小模拟Hadoop集群(三个不同账号的阿里云,相同区域或不同区域)步骤整理

时间:2022-01-01 12:12:57

检查hosts和网卡配置

把三台小服务器先做内网互通 

内网互通参照阿里云安全通道配置

1、准备至少三个虚拟机

2、相互通信,生成密钥并发送

  • 生成密钥(ssh-keygen -t rsa)
  • 发送密钥ssh-copy-id vm1@vm1 (需要先修改、etc\hosts 文件)
  • 登录测试 ssh vm1@vm2

3、安装JDK和Hadoop

  • jdk安装
    • 上传jdk到vm1并解压(tar -zvxf jdk-7u67-linux-x64.tar.gz)
    • 配置环境变量javahome,path,classpath(export JAVA_HOME=/home/vm1/jdk1.7.0_67 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar)
    • 刷新环境变量并测试(source .base_profile)
  • hadoop安装
    • 上传解压
    • 配置环境变量hadoophome,path(export HADOOP_HOME=/home/vm1/hadoop-2.7.1 export PATH=$PATH:$HADOOP_HOME/bin)
    • 刷新环境变量并测试(source .base_profile)
    • 配置文件(配置文件目录:$HADOOP_HOME/etc/hadoop/)
      • core-­site.xml
      • hdfs-site.xml
      • mapred-site.xml
      • yarn-site.xml
      • slaves(集群节点)
      • hadoop-env.sh(export JAVA_HOME=/home/hadoopadmin/jdk1.7.0_67)

4、格式化namenode

  cd /home/vm1/hadoop-2.7.1/bin

  chmod 744 *

  hdfs namenode -format

5、启动Hadoop

  cd /home/vm1/hadoop-2.7.1/sbin

  chmod 744 *

  ./start-all.sh

core-site.xml
1 <configuration> 2 <!-- Hadoop文件系统依赖的基础配置 -->
3 <property>
4 <name>hadoop.tmp.dir</name>
5 <value>/home/hadoopadmin/hadoop/data</value>
6 </property>
7 <!-- NameNode结点的URI(包括协议、主机名称、端口号) -->
8 <property>
9 <name>fs.defaultFS</name>
10 <value>hdfs://*:8020</value>
11 </property>
12 </configuration>
hadoop-env.sh
export JAVA_HOME
=java路径

hdfs-site.xml
<!-- Put site-specific property overrides in this file. --><configuration>
<!-- secondarynamenode的http服务器地址和端口 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>172.17.204.171:50090</value>
</property>
<!-- 默认块复制 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 关闭权限校验 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<!-- namenode的http服务器地址和端口 -->
<property>
<name>dfs.namenode.http-address</name>
<value>172.17.204.171:50070</value>
</property>
<!-- datanode结点被指定要存储数据的本地文件系统路径 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoopadmin/hadoop/data/dfs/dn</value>
</property>
</configuration>
mapred-site.xml
<!-- Put site-specific property overrides in this file. --><configuration>
<!-- MapReduce JobHistory进程通信主机、端口 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>172.17.204.171:10020</value>
</property>
<!-- MapReduce JobHistory的web界面主机、端口 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>172.17.204.171:19888</value>
</property>
<!-- 以yarn方式运行MapReduce -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
slaves
    vm01    vm02
    vm03