Hadoop学习之hdfs集群搭建详解
一、虚拟机配置
1.网络环境配置
[root@localhost]# cd /etc/sysconfig/network-scripts
[root@localhost network-scripts]# vi ifcfg-ens33
[root@localhost network-scripts]# service network restart
[root@localhost network-scripts]# ip addr
[root@localhost network-scripts]# ping www.baidu.com
2.主机名配置
[root@localhost network-scripts]# hostname
[root@localhost network-scripts]# hostnamectl set-hostname hadoop001
[root@localhost network-scripts]# hostname
3.主机名与ip地址建立映射关系
[root@localhost ]# vi /etc/hosts
[root@localhost ]# ping hadoop001
三、远程连接虚拟机
1.远程连接
2.新建目录(用于后续软件包下载与安装)
[root@hadoop001 ]# mkdir /export/ (新建目录)
[root@hadoop001 export ]# mkdir data (存放数据文件)
[root@hadoop001 export ]# mkdir software (存放服务)
[root@hadoop001 export ]# mkdir servers (存放安装包)
四、克隆虚拟机
1.链接克隆两台虚拟机修改网络配置重启网络配置
[root@hadoop001 ~]# cd /etc/sysconfig/network-scripts
[root@hadoop001 network-scripts]# vi ifcfg-ens33
Hadoop003进行同样操作且修改主机名
远程连接成功
连接成功如上图所示
2.与其他两台建立映射
[root@hadoop001 ]# vi /etc/hosts
3.拷贝hosts文件到其他虚拟机中
[root@hadoop001 ]# scp /etc/hosts hadoop002:/etc
[root@hadoop001 ]# scp /etc/hosts hadoop003:/etc
4.与主机建立映射
在notepad++hosts文件下添加以下信息
五、ssh进行三台虚拟机相互免密登录操作
1.进入ssh中生成公钥
[root@hadoop001 .ssh]# ssh-keygen -t rsa
2.查看生成文件
3.拷贝到hadoop001,hadoop002,hadoop003上
[root@hadoop001 .ssh]# ssh-copy-id hadoop001
[root@hadoop001 .ssh]# ssh-copy-id hadoop002
[root@hadoop001 .ssh]# ssh-copy-id hadoop003
4.监测是否能免密登录成功
[root@hadoop001 .ssh]# ssh hadoop001
[root@hadoop001 .ssh]# exit
[root@hadoop001 .ssh]# ssh hadoop002
[root@hadoop001 .ssh]# exit
[root@hadoop001 .ssh]# ssh hadoop003
[root@hadoop001 .ssh]# exit
六、安装jdk
1.安装ftp工具
将安装包拖拽进入虚拟机
2.解压
[root@hadoop001 software]# tar -xzvf jdk-linux-x64.tar.gz -C /export/servers/
3.配置环境变量
[root@hadoop001 jdk1.8.0_131]# vi /etc/profile
4.使环境变量起作用
[root@hadoop001 jdk1.8.0_131]# source /etc/profile
5.查看是否配置成功
[root@hadoop001 jdk1.8.0_131]# java -version
七、安装hadoop
1.上传压缩包
2.解压压缩包
[root@hadoop001 software]# tar -xzvf hadoop-3.1.4.tar.gz -C /export/servers
解压成功
3.配置环境变量
[root@hadoop001 servers]# source /etc/profile(使环境变量起作用)
4.配置成功
八、配置hadoop主节点文件
1.配置的文件结构
使用notepad++编辑器
2.配置hadoop-env.sh文件
3配置core-site.xml文件
4.配置mapred-site.xml文件
5.配置yarn-site.xml文件
6.配置workers文件
九、启动hadoop集群
1.分发配置
a)将配置好的jdk,hadoop分发给hadoop002,hadoop003
[root@hadoop001 servers]# scp -r /export/servers/ hadoop002:/export/
[root@hadoop001 servers]# scp -r /export/servers/ hadoop003:/export/
b)分发环境变量配置文件
[root@hadoop001 servers]# scp /etc/profile hadoop002:/etc
[root@hadoop001 servers]# scp /etc/profile hadoop003:/etc
c)重启所有虚拟机环境变量配置
d)格式化集群系统
[root@hadoop001 servers]# hdfs namenode -format
此时hadoop存储的目录结构
2.启动hadoop集群
a)查看java进程(jps)
[root@hadoop001 servers]# jps
说明目前没有启动java进程
b)启动hdfs
[root@hadoop001 servers]# start-dfs.sh
启动出错需要修改配置
添加root用户的启动权限
添加以下内容
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
重新启动
c)出现错误
SecondaryNameNode应该在hadoop002上
错误解决返回查看配置文件
发现hdfs-site.xml文件并未修改配置
添加如下配置
修改后重新启动hdfs
d)启动yarn
[root@hadoop001 servers]# start-yarn.sh
十、hadoop集群测试
1.防火墙修改
[root@hadoop001 ~]# firewall-cmd --state
暂时关闭防火墙
[root@hadoop001 ~]# systemctl stop firewalld
永久禁用防火墙
[root@hadoop001 ~]# systemctl disable firewalld
2.使用UI查看hadoop
a)查看hdfs
有两种端口方式查看hdfs(9870)
查看hdfs(50070)
需要在notepad++上将以下注释重新解除
之后可以用50070端口号查看
b)查看yarn
3.Hdfs shell 命令的使用
[root@hadoop001 ~]# hdfs dfs -ls /
[root@hadoop001 ~]# hdfs dfs -mkdir /test
在ui下查看
上传本地文件
[root@hadoop001 ~]# hdfs dfs -put hello.java /test
上传成功
4.案例:Hadoop集群的计算使用-单词计数
一个maperduce的单词计算程序的案例
a)转到该目录下
[root@hadoop001 hadoop-3.1.4]# cd /export/servers/hadoop-3.1.4/share/hadoop/mapreduce
b)在当前文件夹新建两个文件
[root@hadoop001 mapreduce]# vi a.txt
[root@hadoop001 mapreduce]# vi b.txt
c)在hadoop集群根目录下创建input文件夹
[root@hadoop001 mapreduce]# hdfs dfs -mkdir /input
[root@hadoop001 mapreduce]# hdfs dfs -ls /
d)将刚才linux主机下新建的a.txt,b.txt两个文件上传至集群input文件夹中
[root@hadoop001 mapreduce]# hdfs dfs -put a.txt /input
[root@hadoop001 mapreduce]# hdfs dfs -put b.txt /input
e)在hadoop集群上执行单词统计操作
[root@hadoop001 mapreduce]# hadoop jar hadoop-mapreduce-examples-3.1.4.jar wordcount /input /output
查看集群操作
f)解决错误
查看错误信息
查看hadoop classpath
[root@hadoop001 ~]# hadoop classpat
修改yarn-site.xml文件
将更改后的文件分发给其他主机
关闭yarn
重新启动yarn
重新输入单词计数指令重新查看运行操作
运行成功的结果
查看结果
运用shell命令查看
[root@hadoop001 ~]# hdfs dfs -ls /output
[root@hadoop001 ~]# hdfs dfs -get /output/part-r-00000
[root@hadoop001 ~]# cat part-r-00000
5.案例:计算PI值
[root@hadoop001 mapreduce]# hadoop jar hadoop-mapreduce-examples-3.1.4.jar pi 2 500
查看进程
结果如图
至此 hdfs集群初步搭建完成,且具有基本功能。
开启你的hadoop学习之旅吧。
Hadoop学习之hdfs集群搭建详解相关推荐
- Linux的企业-Codis 3集群搭建详解
Codis 3集群搭建详解 Codis 3介绍 对于Redis集群方案有好多种,基本常用的就是twemproxy,codis.redis cluster这三种解决方案,本人有幸工作中都大量使用过,各有 ...
- mysql cluster rpm包的作用_MySQL之——MySQL Cluster集群搭建详解(基于RPM安装包)
1.下载MySQL-cluster 7.3.7 http://dev.mysql.com/downloads/cluster/ 2.环境清理及安装 1)清理CentOS6.5自带的mysql服务,其中 ...
- Ceph分布式文件系统集群搭建详解
1.Ceph分布式文件系统简介 Ceph是一种为优秀的性能.可靠性和可扩展性而设计的统一的.分布式文件系统. Ceph 独一无二地在一个统一的系统中同时提供了对象.块.和文件存储功能. 基开发目标是: ...
- zookeeper + kafka集群搭建详解
文章目录 一.消息队列介绍 1.1 为什么需要消息队列 (MO) 1.2 使用消息队列的好处 (1)解耦 (2)可恢复性 (3)缓冲 (4)灵活性 & 峰值处理能力 (5)异步通信很多时候,用 ...
- linux 上elasticsearch集群搭建详解,手把手教学(tar下载包)
1.安装jdk: 由于es是基于java的,所以先安装jdk: yum install java-1.8.0-openjdk* -y 此命令install结束后不用再去配置环境变量了,直接输入java ...
- MySQL分布式集群搭建详解
搭建MySQL分布式集群,例如:利用MySQL cluster ,MySQL proxy,MySQL replication,drdb等等,有人会问MySQL集群意义是什么呢?为一个数据库减轻负担,说 ...
- Hadoop HA 高可用集群搭建
Hadoop HA 高可用集群搭建 一.首先配置集群信息 1 vi /etc/hosts 二.安装zookeeper 1.解压至/usr/hadoop/下 1 tar -zxvf zookeeper- ...
- Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)
一.服务器环境 主机名 IP 用户名 密码 安装目录 master 192.168.142.124 root xxx /usr/hadoop-2.6.5/ slave1 192.168.142.125 ...
- Python +大数据-Hadoop生态-Linux(二)-集群搭建和安装
Python +大数据-Hadoop生态-Linux(二)-集群搭建和安装 今日课程学习目标 1.掌握Linux用户.权限管理 2.掌握Linux常用系统命令 3.掌握服务器集群环境搭建 4.了解sh ...
- Elastic search入门到集群实战操作详解(原生API操作、springboot整合操作)-step1
Elastic search入门到集群实战操作详解(原生API操作.springboot整合操作)-step2 https://blog.csdn.net/qq_45441466/article/de ...
最新文章
- 80% 应聘者不知道的面试加分项
- Cacti性能优化和监控H3C交换机
- 介绍sendmail中mail relay的规则
- WPF基础入门2 - WPF窗口类和垂直布局面板基本使用
- linux——管理系统存储之设备分区:MBR分区、GPT分区、swap的分区的设定
- 通过sharepoint 客户脚本,验证列表添加页面上的时间
- 80-30-040-原理-React模式-简介2
- 揭开 Python 内存分配时的小秘密!
- 修改web.conf不重启服务的方法
- Java棘手面试问题
- shell第二次练习
- 过去的一年,2013!
- python入口文件_python常用模块:项目目录规范、定制程序入口、自定义模块、引用变量、time和datetime模块...
- 关于调用Thread.sleep() 哪条线程休眠问题
- 教你ogg怎么转mp3格式
- 网站被挂马的解决方案
- ssm毕设项目焦虑自测与交流平台k43cf(java+VUE+Mybatis+Maven+Mysql+sprnig)
- 520|测一测你和ta的夫妻相
- 总结一下:运维工程师面试
- 独立思考Justic:Free to Choose and Who owns me