云服务器搭建Hadoop集群
云服务器搭建Hadoop集群
- 一、配置服务器
- 1. 创建普通用户
- 2. 安装 Java 环境
- 3.安装hadoop
- 4.网络配置
- 5.hadoop配置
- 6.执行分布式实例
一、配置服务器
1. 创建普通用户
- 说明:由于 root 环境下操作比较危险,所以这里新建一个普通用户来进行 hadoop 的搭建。
创建一个普通用户 hadoop
sudo useradd -m hadoop -s /bin/bash
设置密码并重复一次
sudo passwd hadoop
给 hadoop 用户增加 sudo 管理员权限
sudo adduser hadoop sudo
关闭终端,重新登录,将用户名更改为 hadoop ,并输入密码登录
切换到hadoop用户
su hadoop
2. 安装 Java 环境
进入 /usr/lib 文件夹下
cd /usr/lib
创建 jvm 文件夹
sudo mkdir jvm
- Windows 上下载 jdk1.8 安装包下载链接——提取码:6fat
- 解压缩到 jvm 文件夹中
sudo tar -zxvf jdk-8u291-linux-x64.tar.gz -C /usr/lib/jvm
- 编辑环境变量文件
vim ~/.bashrc
- 在文件头添加如下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- 保存后退出,并让 bashrc 文件重新生效
source ~/.bashrc
- 输入命令查看 Java 是否配置成功,显示如下即表示成功了
java -version
3.安装hadoop
- Hadoop 下载地址
- 解压缩文件到 /usr/local 中
sudo tar -zxf hadoop-3.3.1.tar.gz -C /usr/local
- 进入到 /usr/local 文件夹下,更改 hadoop-3.3.1 的文件名为 hadoop
cd /usr/local
sudo mv ./hadoop-3.3.1/ ./hadoop
- 修改文件权限,让用户 hadoop 可以使用 hadoop 文件夹
sudo chown -R hadoop ./hadoop
- 进入到 hadoop 文件夹中,运行 hadoop,显示版本号即表示配置成功
4.网络配置
- 配置hostname
为了更好的在Shell中区分三台主机,修改其显示的主机名,执行如下命令
在3台机器上分别执行
sudo vim /etc/hostname
在master的/etc/hostname中添加如下配置:
master
slave1的/etc/hostname中添加如下配置:
slave1
同理slave2
slave2
- 在三台机器的/etc/hosts文件中,添加如下配置
ip1 master
ip2 slave1
ip3 slave2
其中每台服务器自己的IP是内网IP,别人的是外网IP
- 配置ssh免密登陆
开始配置ssh之前,先确保三台机器都装了ssh。输入以下命令测试能否连接到本地,验证是否安装ssh。
ssh localhost
若不能,则安装open-server
sudo apt-get openssh-server
并生成ssh公钥。
ssh-keygen -t rsa -P ""
将公钥加入到已认证的key中
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
在保证了三台主机电脑都能连接到本地localhost后,还需要让master主机免密码登录slave1和slave2主机。在master执行如下命令,将master的id_rsa.pub传送给两台slave主机。
scp ~/.ssh/id_rsa.pub hadoop@slave1:/home/hadoop/
scp ~/.ssh/id_rsa.pub hadoop@slave2:/home/hadoop/
接着在slave1、slave2主机上将master的公钥加入各自的节点上,在slave1和slave2执行如下命令:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub
在master主机上直接执行如下测试命令,即可让master主机免密码登录slave1、slave2主机。
ssh slave1
ssh slave2
5.hadoop配置
在配置集群/分布式模式时,需要修改“/usr/local/hadoop/etc/hadoop”目录下的配置文件,这里仅设置正常启动所必须的设置项,包括workers 、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5个
- 修改文件workers
本教程让Master节点仅作为名称节点使用,因此将workers文件中原来的localhost删除,只添加如下两行内容:
slave1
slave2
- 配置文件配置
cd /etc
vim hadoop-env.sh
将JAVA_HOME修改为本机的JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-openjdk
修改core-site.xml
<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property></configuration>
修改hdfs-site.xml:
<configuration><property><name>dfs.replication</name><value>3</value></property></configuration>
修改mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
修改yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.hostname</name><value>master</value></property></configuration>
配置好后,将 master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。速度较慢,也可直接在slave上重新配置
cd /usr/local/
tar -zcf ~/hadoop.master.tar.gz ./hadoop
cd ~
scp ./hadoop.master.tar.gz slave1:/home/hadoop
scp ./hadoop.master.tar.gz slave2:/home/hadoop
在slave1,slave2节点上执行:
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
- 启动Hadoop集群
在master主机上执行如下命令:
cd /usr/local/hadoop
bin/hdfs namenode -format
sbin/start-all.sh
运行后,在master,slave1,slave2运行jps命令,查看:
jps
首次启动Hadoop集群时,需要先在Master节点执行名称节点的格式化(只需要执行这一次,后面再启动Hadoop时,不要再次格式化名称节点),命令如下
hdfs namenode -format
6.执行分布式实例
首先创建HDFS上的用户目录,命令如下:
hdfs dfs -mkdir -p /user/hadoop
然后,在HDFS中创建一个input目录,并把“/usr/local/hadoop/etc/hadoop”目录中的配置文件作为输入文件复制到input目录中,命令如下:
hdfs dfs -mkdir input
hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input
接着就可以运行 MapReduce 作业了,命令如下:
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[a-z.]+'
3.0之后hadoop登录端口9870
云服务器搭建Hadoop集群相关推荐
- 利用云服务器搭建hadoop集群
利用云服务器搭建hadoop集群 测试连接 一. Linux配置 二. 3台服务器免密码登录 1. 三台机器生成公钥与私钥: 2. 拷贝公钥到同一台机器 3. 复制第一台机器的认证到其他机器 4. 通 ...
- 使用微软云服务器搭建Hadoop集群
使用微软云服务器搭建Hadoop集群 环境准备 修改主机名 配置无秘钥登录 下载并安装JDK Java相关命令的讲解 关闭3台机器的防火墙(微软云服务器上的防火墙默认是关闭的,此步可以跳过) 三台机器 ...
- 基于阿里云服务器搭建hadoop集群:HDFS的namenode WEB访问9870端口打不开解决方法
基于阿里云服务器搭建hadoop集群:HDFS的namenode WEB访问9870端口打不开解决方法 以下是基于我所面临问题的解决办法. 1.在本地的c:windows/system32/dirve ...
- 使用三台阿里云服务器搭建Hadoop集群(云计算实验踩坑集锦)
使用阿里云服务器搭建这个hadoop集群,踩得坑人已经傻了,浪费了我快一周的时间. 1.准备环节 准备三台阿里云服务器 Namenode 121.196.224.191 Datanode1 121.1 ...
- 三台云服务器搭建hadoop集群
hadoop-2.10.1百度云资源链接: 链接:https://pan.baidu.com/s/1agl2Cg8MrBSYyFM2vq_4GA 提取码:lbsm 上传hadoop压缩包至云服务器并解 ...
- 华为云 和 阿里云 跨服务器搭建Hadoop集群
目录 华为云 和 阿里云 跨服务器搭建Hadoop集群 说明 期间遇到的问题 CentOS6 7 8更换阿里yum源 修改服务器名称 安装JDK 安装Hadoop 编写集群分发脚本 xsync scp ...
- 阿里云ESC搭建hadoop集群
阿里云ESC搭建hadoop集群 前置 购买至少三台服务器,为了节约成本借了两个账号买了三台同一区域的服务器,安装的是 centos7:因此设计到不同账号相同地域之间通讯问题,阿里给了解决方案,详情参 ...
- 华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo
华为云Centos7搭建hadoop集群二:yum源替换,ssh免密处理,hadoop用户sudo 新建hadoop用户并设置密码,密码不要设置为简单的123456等,我这里已经创建过了hadoop用 ...
- 云服务器搭建redis集群
在搭建redis集群之前需要安装ruby.redis使用ruby来做集群的.用一个叫redis-trib.rb的ruby脚本.redis-trib.rb是redis官方推出的管理redis集群的工具, ...
- 三台服务器搭建hadoop集群
集群 准备好三台服务器或虚拟机,系统版本centos7.5,本集群使用虚拟机搭建 修改服务器hostname vim /etc/hostname 将内容修改为要设置的主机名,三台主机hostname分 ...
最新文章
- 秦州:西瓜书 + 南瓜书 吃瓜系列 10. 集成学习(下)
- javascript:void(0)和javascript:;的用法
- linux mysql 数据目录迁移后不生效_Linux中更改转移mysql数据库目录的步骤
- slicer安装_3D Slicer教程【软件安装及设置】
- Electron中通过ipcMain和ipcRender实现主进程和渲染进程之间的相互通信
- TRDD got lost again
- Hebb负向规则与矛盾解对
- JavaFX仿windows文件管理器目录树
- 记一次解决curl https证书问题
- 新手填坑 java.lang.Integer cannot be cast to java.lang.String
- 【物联网】12.物联网服务器发送方式(HTTP,WebSocket ,MQTT )
- 机器学习-kmeans(k均值聚类算法)
- 什么是IPFS - BlockChain Storage 区块链存储 (1)
- 网易邮箱与GMAIL
- Zeloof 自制芯片工艺
- 数据链路层-1 什么是数据链路层和工作原理
- 第一次博客(比特虫):网站favicon.ico图标介绍,制作
- mysql查询语句speed select
- 61、智能指针类模板
- 技术 KOL 龙神:永远挑战难度值增加 30% 的事情
热门文章
- jmeter参数化测试-姓名生成
- skynet.pack序列化学习
- Excel之VBA简单宏编程
- openstack版本_庆祝新版本,供应商自由以及更多OpenStack新闻
- 机器学习 | AHP层次分析法
- Windows设置访问白名单
- python绘图画猫咪_使用Python的turtle画小猫咪
- 让Ubuntu 10.04完美支持Thinkpad小红点Trackpoint
- lpush rpush 区别_Redis系列(六):数据结构List双向链表LPUSH、LPOP、RPUSH、RPOP、LLEN命令...
- 电源系列3:DCDC BUCK降压电路原理