搭建基于 HDFS 碎片文件存储服务
安装 JDK
yum -y install java-1.8.0-openjdk*
java -version 配置 Java 环境变量
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 然后执行如下命令,让环境变量生效:
source /etc/profile 通过如下命令,验证 Java 环境变量是否已成功配置并且生效:
echo $JAVA_HOME
准备 HDFS 环境
- 配置 SSH先后执行如下两行命令,配置 SSH 以无密码模式登陆:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 接着可以验证下,在不输入密码的情况下,应该能使用 ssh 命令成功连接本机: ssh 119.29.174.175
exit
SSH 配置完毕后,我们接着下载并安装 Hadoop。 安装 Hadoop
mkdir -p /data/hadoop && cd $_ 接着下载 Hadoop 安装包到该目录下:
wget http://archive.apache.org/dist/hadoop/core/hadoop-2.7.1/hadoop-2.7.1.tar.gz 解压下载好的 Hadoop 安装包到当前目录:
tar -zxvf hadoop-2.7.1.tar.gz
然后将解压后的目录重命名为 hadoop,并且将其移至 /usr/local/ 目录下:
mv hadoop-2.7.1 hadoop && mv $_ /usr/local/ 在编辑器中打开 Hadoop 环境配置文件,使用Ctrl + F搜索如下行
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk 查看下 Hadoop 的版本:
/usr/local/hadoop/bin/hadoop version
可以看到 Hadoop 的版本信息:
Hadoop 2.7.1
安装 Hadoop 就是这么简单。至此 Hadoop 已经安装完成,紧接着我们需要做的就是修改 Hadoop 的配置信息。 修改 Hadoop 配置
修改 HDFS 配置文件 core-site.xml,将configuration配置修改为如下内容:
core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
修改 HDFS 配置文件 hdfs-site.xml,将 configuration 配置修改为如下内容:
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
修改 HDFS 配置文件 yarn-site.xml,将 configuration 配置修改为如下内容:
yam-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property> <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
以上配置修改完毕后,我们可以尝试启动 Hadoop。
启动 Hadoop
对 HDFS 文件系统进行格式化:
./hdfs namenode -format
接着进入如下目录:
cd /usr/local/hadoop/sbin/
先后执行如下两个脚本启动 Hadoop:
./start-dfs.sh
./start-yarn.sh
接着执行如下命令,验证 Hadoop 是否启动成功:
jps
如果输出了类似如下的指令,则说明 Hadoop 启动成功啦
21713 Jps
21089 SecondaryNameNode
21364 NodeManager
20795 NameNode
20923 DataNode
21245 ResourceManager
至此,我们的 HDFS 环境就已经搭建好了。在浏览器中访问如下链接,应该能正常访问(注:若出现安全拦截请选择通过):
http://119.29.174.175:50070/explorer.html#/
接下来,我们实践下如何将碎片文件存储到 HDFS 中。
存储碎片文件
- 准备碎片文件首先创建目录用于存放碎片文件,进入该目录:mkdir -p /data/file && cd /data/file然后执行如下 shell 命令,新建一批碎片文件到该目录下i=1; while [ $i -le 99 ]; do name=`printf "test%02d.txt" $i`; touch "$name"; i=$(($i+1)); done
在终端中执行 ls 命令,可以看到我们已成功创建了一批碎片文件。
将碎片文件存储在 HDFS 中
/usr/local/hadoop/bin/hadoop fs -mkdir /dest
此时,在浏览器是访问如下链接,可以看到 /dest 目录已创建,但是暂时还没有内容:
http://119.29.174.175:50070/explorer.html#/dest
cd /data/file && /usr/local/hadoop/bin/hadoop fs -put *.txt /dest
这时,再使用如下命令,我们应该能看到碎片文件已成功上传到 HDFS 中:
/usr/local/hadoop/bin/hadoop fs -ls /dest
部署完成
- 访问服务在浏览器是访问如下链接,可以看到 /dest 目录的文件内容:
http://119.29.174.175:50070/explorer.html#/dest
搭建基于 HDFS 碎片文件存储服务的更多相关文章
- SpringBoot 搭建基于 MinIO 的高性能存储服务
1.什么是MinIO MinIO是根据GNU Affero通用公共许可证v3.0发布的高性能对象存储.它与Amazon S3云存储服务兼容.使用MinIO构建用于机器学习,分析和应用程序数据工作负载的 ...
- 第2-3-1章 文件存储服务系统-nginx/fastDFS/minio/阿里云oss/七牛云oss
目录 文件存储服务 1. 需求背景 2. 核心功能 3. 存储策略 3.1 本地存储 3.2 FastDFS存储 3.3 云存储 3.4 minio 4. 技术设计 文件存储服务 全套代码及资料全部完 ...
- nodejs实现一个文件存储服务
nodejs实现一个文件存储服务 模拟文件上传下载功能: PUT 上传一个文件,URL表示在服务器上待上传文件的路径. GET 下载一个文件,URL表示在服务器上待下载文件的路径.
- 基于php的AWS存储服务
近几天用到了aws的s3存储服务,公司内部的完全兼容aws并对其进行了封装,之前也用过,现在把经验总结一下. 既然要用,首先需要安装sdk,下边提供了几种安装方法 方法一:使用composer安装 1 ...
- 第2-1-5章 docker安装MinIO实现文件存储服务-springboot整合minio-minio全网最全的资料
目录 1. MinIO介绍 2. MinIO应用场景 2.1 单主机单硬盘模式 2.2 单主机多硬盘模式 2.3 多主机多硬盘分布式 3. MinIO特点 4. 存储机制 5. docker安装Min ...
- 4.1-4.2 基于HDFS云盘存储系统分析及hadoop发行版本
一.基于HDFS云盘存储系统 如:某度网盘 优点: *普通的商用机器 内存 磁盘 *数据的安全性 操作: *put get *rm mv *java api *filesystem 核心: *H ...
- 搭建基于.NetFrameWork的私有nuget服务端及打包项目发布上传
一.私有Nuget服务端搭建 1.创建一个.NetFramework web项目 2.在nuget管理中 安装 nuget.server包 3.安装完成后修改web.config里面的 apikey ...
- 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务
目录 4 docker-compose安装FastDFS 4.1 docker-compose-fastdfs.yml 4.2 nginx.conf 4.3 storage.conf 4.4 测试 4 ...
- centos7搭建基于SAMBA的网络存储
学习目标: 通过本实验理解Linux系统下SAMBA服务器和客户端的配置,实现客户机可自动挂载服务端的共享存储. 操作步骤: 1. SAMBA服务器搭建 2. SAMBA客户端配置 参考命令: ...
随机推荐
- DrawPrimitivesTest
#ifndef _DRAW_PRIMITIVES_TEST_H_ #define _DRAW_PRIMITIVES_TEST_H_ ////----#include "cocos2d.h&q ...
- AI落地企业业务的一些问题
这两年大家都在喊未来已来,软件企业不管有没有算法工程师都竖起了AI的大旗,传统企业不管现在OA现状如何都想在数据转型.智能制造.机器智能方面尝尝鲜,感觉好像和前两年的互联网+风潮有点像,最近半年我在某 ...
- 李洪强和你一起学习前端之(6)css行高,盒模型,外边距
李洪强和你一起学习前端之(6)css行高,盒模型,外边距 复习昨天的知识 1.1css书写位置: 内嵌式写法 外联式写法 <link href = "1.css" rel = ...
- The power of now
惊喜的发现,在这个短暂而又漫长的盛夏里心情开始随天气而变了(*^__^*) ...... <秘密>和<当下的力量>两者都一样,看起来费劲,不过还真的有点道理. <冰与火之 ...
- IP地址归属地查询
http://www.ipip.net/download.html#ip_code 下载免费版 IP 地址数据库. 网站下面有官方给出的查找IP地址所属国家.省.市的办法. python版本列出 py ...
- struts2请求两次即action方法执行两次
如果方法使用get开头,也会出现重复执行问题....对struts2无语!!! [转]http://www.xuebuyuan.com/301066.html 就把get开头的方法修改了一下,程序就运 ...
- 个推-推送hello world
最近项目中的一个百度推送真是把我搞的有点头大,真的是很垃圾,到达率又低,还特么遇上停止维护了... 所以项目决定转用别的推送平台,现在改用个推,官方文档写的很好,除了刚下载下来,折腾了一阵子,不过很快 ...
- java原生序列化和Kryo序列化性能比较
简介 最近几年,各种新的高效序列化方式层出不穷,不断刷新序列化性能的上限,最典型的包括: 专门针对Java语言的:Kryo,FST等等 跨语言的:Protostuff,ProtoBuf,Thrift, ...
- 如何在WebService中重载方法
1. 本来在WebService中这样写的重载方法,如下所示: [WebService(Namespace = "http://tempuri.org/")] [WebSer ...
- Python高级编程之生成器(Generator)与coroutine(四):一个简单的多任务系统
啊,终于要把这一个系列写完整了,好高兴啊 在前面的三篇文章中介绍了Python的Python的Generator和coroutine(协程)相关的编程技术,接下来这篇文章会用Python的corout ...