- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
本文在两台2核2g的云服务器上搭建了Hadoop集群,两台云服务器分别是阿里云(hjm)和腾讯云(gyt),集群部署规划如下:
hjm | gyt | |
---|---|---|
HDFS | NameNode\SecondaryNameNode\DataNode | DataNode |
YARN | ResourceManager\NodeManager | NodeManager |
经实验,目前可以正常实现文件上传下载,但跑mapreduce程序还出现服务器资源不够的情况 。
useradd hujinming
passwd hujinming
vim /etc/sudoers
在 。
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
下面新增一行 。
hujinming ALL=(ALL) NOPASSWD:ALL
在/opt 目录下创建 module、software 文件夹 。
mkdir /opt/module
mkdir /opt/software
切换到root用户下,修改 module、software 文件夹的所有者和所属组均为hujinming用户 。
chown hujinming:hujinming /opt/module
chown hujinming:hujinming /opt/software
查看 module、software 文件夹的所有者和所属组 。
ll
tar -zxvf jdk-8u212-linux.x64.tar.gz -C /opt/module/
配置jdk环境变量 。
sudo vim /etc/profile.d/my_env.sh
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version
xftp传输 。
解压安装到/opt/module下面 。
将hadoop添加到环境变量 。
获取hadoop安装路径 。
pwd
打开/etc/profile.d/my_env.sh 文件 。
sudo vim /etc/profile.d/my_env.sh
在 my_env.sh 文件末尾添加如下内容:
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
保存退出,让修改后的文件生效 。
测试是否安装成功 。
vim /etc/hostname
分别把两台服务器的名字改成hjm和gyt,这里以gyt举例,直接在hostname文件上输入 。
gyt
vim /etc/hosts
在linux中键入ifconfig命令可以查看内网ip。在两台服务器中,填写自己的私网,访问别人的填写公网,这里以gyt为例,gyt的公网IP是175.178.236.48,内网IP是10.0.12.1。这里要注意一点,阿里云在hosts文件中已经将本地IP映射成了一串英文,把这行信息删掉再进行上面的操作 。
47.115.207.108 hjm
10.0.12.1 gyt
在客户端电脑(默认windows)配置映射 。
因为在客户端电脑进行hadoop的操作时,两台机子会产生通信,他们通信时发送的网络请求url是gyt或者hjm,这在客户端电脑是无法识别的,所以要将gyt和hjm都映射为他们的公网IP 。
windows + R 。
输入drivers,回车 。
进入etc文件 。
编辑hosts文件(都是公网IP) 。
175.178.236.48 gyt
47.115.207.108 hjm
分别要配置4种免密登录:
注意切换对应用户操作。先cd到~/.ssh,生成公钥和私钥 。
ssh-keygen -t rsa
这里以gyt -> hjm或hjm -> hjm为例:
ssh-copy-id hjm
cd到$HADOOP_HOME/etc/hadoop目录 。
<configuration>
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hjm:8020</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
<!-- 配置 HDFS 网页登录使用的静态用户为 root -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>hujinming</value>
</property>
</configuration>
<configuration>
<!-- nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hjm:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hjm:9868</value>
</property>
</configuration>
<configuration>
<!-- 指定 MR 走 shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hjm</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CO
NF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAP
RED_HOME</value>
</property>
</configuration>
<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
hjm
gyt
./sbin/start-dfs.sh 开启NameNode 和 DataNode 守护进程报错:
Starting namenodes on [hjm]
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
Starting datanodes
ERROR: Attempting to operate on hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation.
Starting secondary namenodes [hjm]
ERROR: Attempting to operate on hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation.
解决方法:
在hjm上的start-dfs.sh和stop-dfs.sh上增加如下几行:
HDFS_DATANODE_USER=hujinming
HADOOP_SECURE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=hujinming
HDFS_SECONDARYNAMENODE_USER=hujinming
在hjm上的start-yarn.sh和stop-yarn.sh上增加如下几行:
YARN_RESOURCEMANAGER_USER=hujinming
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=hujinming
报错hjm: ERROR: Cannot set priority of namenode process 23214,没有启动NameNode和SecondaryNameNode 。
解决方法:
在两台服务器的/etc/hosts中,填写自己的私网,访问别人的填写公网 。
解决方法:
把所有节点logs和data删掉,重新格式化namenode,在hjm机子上,执行下面命令:
hdfs namenode -format
解决方法:改windows下面的主机名映射 。
解决方法:在两台服务器的core-site.xml加入下面代码 。
<!--web console cors settings-->
<property>
<name>hadoop.http.filter.initializers</name>
<value>org.apache.hadoop.security.HttpCrossOriginFilterInitializer</value>
</property>
<property>
<name>hadoop.http.cross-origin.enabled</name>
<value>true</value>
</property>
<property>
<name>hadoop.http.cross-origin.allowed-origins</name>
<value>*</value>
</property>
<property>
<name>hadoop.http.cross-origin.allowed-methods</name>
<value>*</value>
</property>
<property>
<name>hadoop.http.cross-origin.allowed-headers</name>
<value>X-Requested-With,Content-Type,Accept,Origin</value>
</property>
<property>
<name>hadoop.http.cross-origin.max-age</name>
<value>1800</value>
</property>
解决方法:还得看DataNode的数量。因为目前只有2台设备,最多也就2个副本,HDFS默认是3个副本,只有节点数的增加到10台时,副本数才能达到10。详细请看https://www.yii666.com/article/664023.html 。
解决方法:在master主机的slaves文件中删除localhost即可。详细请看https://blog.csdn.net/Mr_ZNC/article/details/80700652 。
解决方法:暴露服务器所有端口给对方 。
最后此篇关于在阿里云和腾讯云的轻量应用服务器上搭建Hadoop集群的文章就讲到这里了,如果你想了解更多关于在阿里云和腾讯云的轻量应用服务器上搭建Hadoop集群的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
阿里云、华为云、Google Cloud、微软Azure、亚马逊AWS等等云服务器厂商,除了一些大厂,小厂的云服务器质量参差不齐,这也导致很多做非专业人员在选择云服务器进行相关业务时遇到各种问题
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章阿里云、腾讯云的恩怨情仇由作者收集整理,如果你对这篇文章有兴趣,记得点赞
在阿里云中,我在同一VPC中拥有一个托管的Kubernetes集群和一个MySQL RDS(RDS端点位于内部),当白名单包含3306时,Kubernetes容器可以很好地到达RDS端口0.0.0.0
IPSec简介 IPSec(Internet Protocol Security):是一组基于网络层的,应用密码学的安全通信协议族。IPSec不是具体指哪个协议,而是一个开放的协议族。 IPSe
问题现象 云服务器 ECS Linux 服务器内部无法正常解析域名。 问题原因 可能的原因包括: 1、DNS 设置问题 2、防火墙策略问题 3、NSCD 服务问题 处理办法 可以依次
wdCP是基于linux的WEB管理面板系统,对于新手站长是一大福音,众所周知PHP类型网站在linux环境下才能发挥最大的极致,但是并不是所有的站长都熟悉linux系统,拿我来说,我接触过一段时间
腾讯云 阿里云 一般都是两个盘 数据盘需要分区挂在一下 先检查下数据盘在不在 命令 复制代码 代码如下: fdisk -l
骨感的云主机网络应用性能评测 网络应用性能测试,是通过模拟真实的网络应用请求,对网络产品的实际网络应用处理能力进行评测。通过网络应用测试,应该可以完全真实的评估出网络产品在现实应用中的实际应用情
数据包转发资源规划问题 在云计算的虚拟网络之中,数据包的转发是依赖于CPU这个通用处理器进行处理的。然而作为一个通用处理器,CPU在处理数据包转发的时候,效率并不是很高。过高的数据包转发,对CP
直播业务概述 大家所熟知的直播平台虎牙、斗鱼、快手、抖音、B站,直播功能看似普遍,但从零到一开发却不简单。直播中运用到的技术难点非常之多,音频视频处理/编解码,前后处理,直播分发,即时通讯等技
近日,Synergy Research Group公布了2019年第一季度全球主要地区公有云厂商排名。 Synergy Research Group最新的第一季度 、数据显示,中国云服务商在亚
1、到python官网 https://www.python.org 查找最新的原码,我使用的,Python-3.6.3 2、mkdir /home/soft 创建软件管理目录、 3、cd /
卸载MariaDB CentOS7默认安装MariaDB而不是MySQL,而且yum服务器上也移除了MySQL相关的软件包。因为MariaDB和MySQL可能会冲突,故先卸载MariaDB。 1
网站如果使用阿里云 CDN 的时候,图片(使用oss、或者其他图床的图片)、图标字体可能会碰到无法显示或者无法访问的问题。这可能就是碰到了 CDN 的跨域问题。 一般在浏览器的控制台出现下面的错误
我是一名优秀的程序员,十分优秀!