要在阿里云ECS上组建集群,您可以按照以下步骤进行操作:
-
创建ECS实例:登录阿里云控制台,选择ECS实例,点击“创建实例”按钮。根据实际需求选择实例的配置参数,例如实例规格、操作系统、网络等。根据需要选择购买数量。
-
配置实例网络:在实例创建过程中,选择合适的网络类型,例如VPC或经典网络。配置合适的VPC网络和子网,以及安全组。
-
安装软件:登陆ECS实例后,在实例上安装所需的软件,例如Hadoop、Kubernetes等。根据实际需求进行配置和调整。
-
配置节点:在集群中的每个ECS实例上进行相应的配置操作,例如将某个ECS实例标记为master节点,其他ECS实例标记为worker节点。
-
节点互通:配置ECS实例之间的网络互通,确保集群内各个节点能够相互通信。
-
配置负载均衡(可选):如果需要对集群进行负载均衡,可以在阿里云控制台配置负载均衡服务,并将集群中的节点添加到负载均衡服务中。
-
测试集群:通过测试集群的各项功能和性能,确保集群正常运行。
以上是基本的步骤,您可以根据自己的需求和具体的集群类型进行扩展和调整。一旦集群建立成功,您可以根据实际业务需求对集群进行相应的管理和维护操作。
搭建过程:
1. 获取linux环境
- 本次租用了阿里云服务器(ContOS7.4)
2. 访问服务器
- 在租用之后可以通过阿里云的管理控制台点击远程连接直接使用,在此之前需要设置好服务器的访问密码等等。
- 除了直接通过阿里云提供的浏览器方式访问,我选择使用XShell工具对服务器进行操作,好处是可以直接通过Xttp上传文件。
3 .配置JDK环境
- JDK(JDK1.8.0_linux)
关于JDK直接在官网或者浏览器中可以找到相关的下载,由于是linux系统,那么安装肯定与windows安装方式不同。
1、上传下载好的压缩包到服务器中,我选择的路径是/opt/software存放安装压缩包
/opt/module存放软件路径,目的是为了方便管理。
2、使用tar命令解压压缩包,tar-zxvf xxx.tar -C /opt/module/
3、配置JDK环境变量
指令:vim /etc/profile
打开文件,在文件最下方添加环境变量,保存退出(!wq)
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
# 注:本段不是xml文件,只是为了展示
3、加载文件 source /etc/profile
输入java -version 检查是否配置加载成功
4. 配置Hadoop
1、同JDK一样,下载文件,上传到服务器中解压
2、配置环境变量
同JDK一样配置 /etc/profile
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
3、配置Hadoop
- 进入Hadoop解压后的文件路径下进入 配置文件路径 /hadoop/etc/hadoop/
- vim hadoop-env.sh 配置JDK
# The java implementation to use.
export JAVA_HOME=/opt/module/jdk1.8.0_171
- vim core-site.xml 配置
<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://notting:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.6.5/data/tmp</value>
</property>
</configuration>
- vim hdfs-site.xml 配置副本数量、主节点地址
<configuration>
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>aliyun101:50080</value>
</property>
<!-- 如果是通过公网IP访问阿里云上内网搭建的集群 -->
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
<description>only cofig in clients</description>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop2.6.5/conf/exclude</value>
<description>拒绝加入集群的节点列表</description>
</property>
</configuration>
- vim yarn-env.sh 配置JDK
# some Java parameters
export JAVA_HOME=/opt/module/jdk1.8.0_171
- vim yarn-site.xml 配置yran资源调度器
<configuration>
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>aliyun101</value>
</property>
</configuration>
#此处的aliyun101是我自己电脑的vm的虚拟机
- (对mapred-site.xml.template重新命名为) mapred-site.xml
-
- mv mapred-site.xml.template mapred-site.xml
- vim mapred-site.xml
<configuration>
<!-- 指定MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
- 执行格式化,hdfs namenode -format
执行完成之后,集群就可以通过命令的方式启动,不能随便进行多次格式化,可能导致节点的启动失败
重复以上步骤,在vm虚拟机中也配置一台这样的环境,到这里,集群就算是简单搭建完成。下面对集群进行启动和访问
输入集群启动命令:sbin/start-dfs.sh
启动Yarn:sbin/start-yarn.sh
输入JPS查看进程是否启动:
此时未启动aliyun101节点
进入ip:50070查看集群状态
自此。一个简单的单节点就完成了(实际上还有两台虚拟机未启动,单配置相同,在启动之后,可以在网页上查看到节点状态才算基本完成)
总结
虽然集群的简单搭建算是勉强完成,但是在实际的情况中还有以下问题未解决
集群服务器获取地址
中小企业扶持权益为初创企业提供云资源和技术服务,助力初创企业开启智能时代创业新范式https://t.aliyun.com/U/0CCCu1