day2-搭建hdfs分布式集群
1、搭建hdfs分布式集群
4.1 hdfs集群组成结构:
4.2 安装hdfs集群的具体步骤:
一、首先需要准备N台linux服务器
学习阶段,用虚拟机即可!
先准备4台虚拟机:1个namenode节点 + 3 个datanode 节点
二、修改各台机器的主机名和ip地址
主机名:hdp-01 对应的ip地址:192.168.33.61
主机名:hdp-02 对应的ip地址:192.168.33.62
主机名:hdp-03 对应的ip地址:192.168.33.63
主机名:hdp-04 对应的ip地址:192.168.33.64
三、从windows中用CRT软件进行远程连接
在windows中将各台linux机器的主机名配置到的windows的本地域名映射文件中:
c:/windows/system32/drivers/etc/hosts
|
192.168.33.61 hdp-01 192.168.33.62 hdp-02 192.168.33.63 hdp-03 192.168.33.64 hdp-04 |
用crt连接上后,修改一下crt的显示配置(字号,编码集改为UTF-8):
四、配置linux服务器的基础软件环境
l 防火墙
关闭防火墙:service iptables stop
关闭防火墙自启: chkconfig iptables off
l 安装jdk:(hadoop体系中的各软件都是java开发的)
1) 利用alt+p 打开sftp窗口,然后将jdk压缩包拖入sftp窗口
2) 然后在linux中将jdk压缩包解压到/root/apps 下
3) 配置环境变量:JAVA_HOME PATH
vi /etc/profile 在文件的最后,加入:
|
export JAVA_HOME=/root/apps/jdk1.8.0_60 export PATH=$PATH:$JAVA_HOME/bin |
4) 修改完成后,记得 source /etc/profile使配置生效
5) 检验:在任意目录下输入命令: java -version 看是否成功执行
6) 将安装好的jdk目录用scp命令拷贝到其他机器
7) 将/etc/profile配置文件也用scp命令拷贝到其他机器并分别执行source命令
l 集群内主机的域名映射配置
在hdp-01上,vi /etc/hosts
|
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.33.61 hdp-01 192.168.33.62 hdp-02 192.168.33.63 hdp-03 192.168.33.64 hdp-04 |
然后,将hosts文件拷贝到集群中的所有其他机器上
scp /etc/hosts hdp-02:/etc/
scp /etc/hosts hdp-03:/etc/
scp /etc/hosts hdp-04:/etc/
|
补充 提示: |
如果在执行scp命令的时候,提示没有scp命令,则可以配置一个本地yum源来安装 1、先在虚拟机中配置cdrom为一个centos的安装镜像iso文件 2、在linux系统中将光驱挂在到文件系统中(某个目录) 3、mkdir /mnt/cdrom 4、mount -t iso9660 -o loop /dev/cdrom /mnt/cdrom 5、检验挂载是否成功: ls /mnt/cdrom 6、3、配置yum的仓库地址配置文件 7、yum的仓库地址配置文件目录: /etc/yum.repos.d 8、先将自带的仓库地址配置文件批量更名: 9、然后,拷贝一个出来进行修改 10、修改完配置文件后,再安装scp命令: 11、yum install openssh-clients -y |
l 五、安装hdfs集群
1、上传hadoop安装包到hdp-01
2、修改配置文件
|
要点提示 |
核心配置参数: 1) 2) 3) 4) |
hadoop的配置文件在:/root/apps/hadoop安装目录/etc/hadoop/
1) 修改hadoop-env.sh
export
JAVA_HOME=/root/apps/jdk1.8.0_60
2) 修改core-site.xml
|
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hdp-01:9000</value> </property> </configuration> |
3) 修改hdfs-site.xml
|
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>/root/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/root/dfs/data</value> </property> </configuration> |
4) 拷贝整个hadoop安装目录到其他机器
scp -r
/root/apps/hadoop-2.8.0
hdp-02:/root/apps/
scp -r
/root/apps/hadoop-2.8.0
hdp-03:/root/apps/
scp -r
/root/apps/hadoop-2.8.0
hdp-04:/root/apps/
5) 启动HDFS
所谓的启动HDFS,就是在对的机器上启动对的软件
|
要点 提示: |
要运行hadoop的命令,需要在linux环境中配置HADOOP_HOME和PATH环境变量 vi /etc/profile
|
首先,初始化namenode的元数据目录
要在hdp-01上执行hadoop的一个命令来初始化namenode的元数据存储目录
hadoop namenode -format
l 创建一个全新的元数据存储目录
l 生成记录元数据的文件fsimage
l 生成集群的相关标识:如:集群id——clusterID
然后,启动namenode进程(在hdp-01上)
hadoop-daemon.sh start
namenode
启动完后,首先用jps查看一下namenode的进程是否存在
然后,在windows中用浏览器访问namenode提供的web端口:50070
http://hdp-01:50070
然后,启动众datanode们(在任意地方)
hadoop-daemon.sh start
datanode
6) 用自动批量启动脚本来启动HDFS
1)
先配置hdp-01到集群中所有机器(包含自己)的免密登陆
2)
配完免密后,可以执行一次 ssh 0.0.0.0
3)
修改hadoop安装目录中/etc/hadoop/slaves(把需要启动datanode进程的节点列入)
|
hdp-01 hdp-02 hdp-03 hdp-04 |
4)
在hdp-01上用脚本:start-dfs.sh 来自动启动整个集群
5)
如果要停止,则用脚本:stop-dfs.sh
day2-搭建hdfs分布式集群的更多相关文章
- hadoop(二)搭建伪分布式集群
前言 前面只是大概介绍了一下Hadoop,现在就开始搭建集群了.我们下尝试一下搭建一个最简单的集群.之后为什么要这样搭建会慢慢的分享,先要看一下效果吧! 一.Hadoop的三种运行模式(启动模式) 1 ...
- hadoop搭建伪分布式集群(centos7+hadoop-3.1.0/2.7.7)
目录: Hadoop三种安装模式 搭建伪分布式集群准备条件 第一部分 安装前部署 1.查看虚拟机版本2.查看IP地址3.修改主机名为hadoop4.修改 /etc/hosts5.关闭防火墙6.关闭SE ...
- 超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群
超详细!CentOS 7 + Hadoop3.0.0 搭建伪分布式集群 ps:本文的步骤已自实现过一遍,在正文部分避开了旧版教程在新版使用导致出错的内容,因此版本一致的情况下照搬执行基本不会有大错误. ...
- 在 Ubuntu 上搭建 Hadoop 分布式集群 Eclipse 开发环境
一直在忙Android FrameWork,终于闲了一点,利用空余时间研究了一下Hadoop,并且在自己和同事的电脑上搭建了分布式集群,现在更新一下blog,分享自己的成果. 一 .环境 1.操作系统 ...
- HDFS分布式集群
一.HDFS伪分布式环境搭建 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时, ...
- 使用docker搭建hadoop分布式集群
使用docker搭建部署hadoop分布式集群 在网上找了非常长时间都没有找到使用docker搭建hadoop分布式集群的文档,没办法,仅仅能自己写一个了. 一:环境准备: 1:首先要有一个Cento ...
- centos7搭建伪分布式集群
centos7搭建伪分布式集群 需要 centos7虚拟机一台: jdk-linux安装包一个 hadoop-2.x安装包1个(推荐2.7.x) 一.设置虚拟机网络为静态IP(最好设成静态,为之后编程 ...
- 超快速使用docker在本地搭建hadoop分布式集群
超快速使用docker在本地搭建hadoop分布式集群 超快速使用docker在本地搭建hadoop分布式集群 学习hadoop集群环境搭建是hadoop入门的必经之路.搭建分布式集群通常有两个办法: ...
- Storm环境搭建(分布式集群)
作为流计算的开篇,笔者首先给出storm的安装和部署,storm的第二篇,笔者将详细的介绍storm的工作原理.下边直接上干货,跟笔者的步伐一块儿安装storm. 原文链接:Storm环境搭建(分布式 ...
随机推荐
- CREATE AGGREGATE - 定义一个新的聚集函数
SYNOPSIS CREATE AGGREGATE name ( BASETYPE = input_data_type, SFUNC = sfunc, STYPE = state_data_type ...
- 使用Caliburn.Micro系列2:Convention
CM中实现一个比较有意思的特性,就是智能匹配. 通常使用MVVM的写法:在匹配 View和ViewModel时会使用DataContext,在匹配数据属性时使用Binding,在匹配事件命令时使用Co ...
- JAVA编程不得不看的几本经典书籍
为了帮助对java编程感兴趣的同学更好.更快的提高编程技术,武汉北大青鸟光谷校区专业老师在此推荐几本学习编程非常有用的书籍,以供大家参考. 入门类 1.<java从入门到精通>(第3版) ...
- windows sdk编程禁止改变窗体大小
#include <windows.h> /*消息处理函数声明*/ HRESULT CALLBACK WindowProc(HWND hwnd, UINT message, WPARAM ...
- java线程学习1
java实现多线程有三种方式:继承Thread类,重写run方法,启动使用start:实现runnable接口,重写run方法:实现callable接口,重写call方法(可以有返回值,也可以抛出异常 ...
- ios远程推送和python版push server相关笔记
今天研究了下ios的远程推送,网上的相关教程很多,做了一遍下来记录一下遇到的问题和注意事项(转载请注明) 1.证书及乱七八糟的配置 公钥:app id管理那儿的“Development Push SS ...
- 微信小程序图片上传java后台(前后端代码)
小程序代码 upload:function(e){ var that = this; wx.showActionSheet({ itemList: ['从相册选择','拍照'], itemColor: ...
- python3中shuffle函数
1. shuffle函数与其他函数不一样的地方 shuffle函数没有返回值!shuffle函数没有返回值!shuffle函数没有返回值!仅仅是实现了对list元素进行随机排序的一种功能 请看下面的坑 ...
- No-4.变量的基本使用
变量的基本使用 程序就是用来处理数据的,而变量就是用来存储数据的 目标 变量定义 变量的类型 变量的命名 01. 变量定义 在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 ...
- 从C#程序中调用非受管DLLs
从C#程序中调用非受管DLLs 文章概要: 众所周知,.NET已经渐渐成为一种技术时尚,那么C#很自然也成为一种编程时尚.如何利用浩如烟海的Win32 API以及以前所编写的 Win32 代码已经成为 ...