码迷,mamicode.com
首页 > 其他好文 > 详细

hdfs配置

时间:2020-12-30 11:10:24      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:ast   config   usr   machine   命令   plugins   启动   ssh免密登录   一个   

二  HDFS部署      
主要步骤如下:
1. 配置Hadoop的安装环境;
2. 配置Hadoop的配置文件;
3. 启动HDFS服务;
4. 验证HDFS服务可用。
1‘  查看是否存在hadoop安装目录   ls /usr/cstor/hadoop  如果没有,利用工具从本地导入hadoop安装文件。
   查看jdk是否存在,如果没有同上方法导入  
2’  确认集群服务器之间可SSH免密登录
   使用ssh工具登录到每一台服务器,执行命令ssh 主机名,确认每台集群服务器均可SSH免密登录。方法查看我的博客 >> 
3‘  查看hadoop_env.sh 文件,此文件只需修改JAVA_HOME
      用vim编辑器修改此文件,将export JAVA_HOME=${JAVA_HOME}改为jdk的目录,例如在我的电脑上是export JAVA_HOME=/usr/local/jdk1.7.0_79/
4’  指定HDFS主节点
      此处需要配置文件 core-site.xml ,查看该文件,并标签之间修改如图所示的配置:     
5‘  拷贝该配置到集群其他子集上,首先查看你的集群所有子集
    输入命令  for x in cat ~/data/2/machines ; do echo $x ; scp -r /usr/cstor/hadoop/etc $x:/usr/cstor/hadoop ; done;  实现拷贝
6’  启动HDFS节点
      首先在master服务器上格式化主节点hdfs namenode -format
      其次配置slaves文件,将localhost修改为slave1~3;   
      最后在hadoop安装目录下统一启动HDFS;
      用jps 命令在各个子集检验是否启动节点成功;
7‘hdfs配置成功后可以在client上向HDFS上传文件:
   
三 、读写HDFS文件
1’   配置client服务器classpath
     (1) 使用ssh工具登录client服务器,执行命令vi /etc/profile,编辑该文件。Linux 中/etc/profile文件的改变会涉及到系统的环境,也就是有关Linux环境变量。修改设置Classpath的目的,在于告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序(.class文件)。

(2) 执行命令source /etc/profile,使刚才的环境变量修改生效;
2’  在client服务器编写HDFS写程序
(1)在client服务器上执行命令vi WriteFile.java,编写HDFS写文件程序: WriteFile.java
(2)编译并打包HDFS写程序
 使用javac编译刚刚编写的代码,并使用jar命令打包为hdpAction.jar
(3)执行HDFS写程序
在client服务器上使用hadoop jar命令执行hdpAction.jar:
查看是否已生成weather.txt文件,若已生成,则查看文件内容是否正确:
3‘  在client服务器编写HDFS读程序
(1)在client服务器上执行命令vi ReadFile.java,编写HDFS读WriteFile.txt文件程序:  ReadFile.java
(2)编译文件并打包,然后执行;

四  配置eclipase Hadoop插件并进行打包上传
1’  首先下载eclipse hadoop插件,解压为jar文件,将其放置在eclipse文件位置的plugins文件夹下,例如D:\eclipse-standard-kepler-SR2-win32\eclipse\plugins
2‘  配置本地的hadoop环境,需下载hadoop组件
3’  打开eclipase新建project查看是否已经有Map/Reduce Project的选项。第一次新建Map/Reduce项目时,需要指定hadoop解压后的位置(即第二部组件解压的位置),在新建时项目填写界面右中间有hadoop的路径填写;
4’  编写java文件,例如上述的ReadFile.java
5‘  打包成jar文件,右击项目的export的jar file,然后选择所需的文件打包成jar文件,(此步骤是重点)
6’  使用WinSCP、XManager或其它SSH工具的sftp工具上传刚刚生成的hdpAction.jar包至client服务器(我用的是工具),并在client服务器上使用hadoop jar命令执行hdpAction.jar,查看程序运行结果。  
   >运行该jar文件  hadoop jar ~/hdpAction.jar ReadFile

1 新建一个maven项目
打印根目录下的文件的名字
添加pom依赖
pom.xml代码
2 测试
TestHDFS.java
复制代码
package cn.itcast.hdfs;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
public class TestHDFS {
public static void main(String[] args) throws IOException {
Configuration conf = new Configuration();
//1首先需要一个hdfs的客户端对象
conf.set(“fs.defaultFS”, “hdfs://mini1:9000”);
FileSystem fs = FileSystem.get(conf);
RemoteIterator listFiles = fs.listFiles(new Path("/"), false);
//通过迭代器可以遍历出我们hdfs文件系统的根目录下的文件
while (listFiles.hasNext()) {
LocatedFileStatus fileStatus = listFiles.next();
Path path = fileStatus.getPath();
String fileName = path.getName();
System.out.println(fileName);
}
}
}
复制代码
运行结果如下图
技术图片
技术图片

 

参考博客:https://blog.csdn.net/weixin_44184668/article/details/90382414?

hdfs配置

标签:ast   config   usr   machine   命令   plugins   启动   ssh免密登录   一个   

原文地址:https://www.cnblogs.com/wsq666/p/14187632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!