首页
IT
登录
6mi
u
盘
搜
搜 索
IT
hadoop测试
hadoop测试
xiaoxiao
2021-03-25
84
启动集群
在master上启动hadoop-daemon.sh start namenode
在slave上启动hadoop-daemon.sh start datanode
用jps指令观察执行结果
用hdfs dfsadmin -report观察集群配置情况
hadoop fs -rm /filename
通过http://192.168.56.100:50070/web界面观察集群运行情况
用hadoop-daemon.sh stop ...手工关闭集群
对集群进行集中管理
修改master上/etc/hadoop/slaves文件,每一个slave占一行
slave1 slave2 slave3
使用start-dfs.sh启动集群,并观察结果
使用stop-dfs.sh停止集群
配置免密SSH远程登陆
ssh slave1 输入密码 exit #此时需要密码才能登陆 cd ls -la cd .ssh ssh-keygen -t rsa (四个回车) #会用rsa算法生成私钥id_rsa和公钥id_rsa.pub ssh-copy-id slaveX 再次ssh slave1 此时应该不再需要密码
重新使用start-dfs.sh启动集群
修改windows机上C:\Windows\System32\drivers\etc\hosts文件,可以通过名字访问集群web界面
使用hdfs dfs 或者hadoop fs命令对文件进行增删改查的操作
hadoop fs -ls /
hadoop fs -put file /
hadoop fs -mkdir /dirname
hadoop fs -text /filename
hadoop fs -rm /filename
通过网页观察文件情况
将hdfs-site.xml的replication值设为2,通过网页观察分块情况
设定dfs.namenode.heartbeat.recheck-interval为10000,然后停掉其中一台slave,观察自动复制情况
启动停掉的slave节点,通过网页观察datanode的动态添加
添加新的节点,体会hadoop的横向扩展
启动slave4,关闭防火墙,修改hostname
修改etc/hosts,加入对自己以及其他机器的解析,重启网络
在master中设定对于slave4的解析
启动slave4的datanode,通过网页进行观察
hdfs dfsadmin –shutdownDatanode slave4:50020
通过java程序访问hdfs,就把HDFS集群当成一个大的系统磁盘就行了!
从HDFS中读取文件
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); InputStream in = new URL("hdfs://192.168.56.100:9000/test.data").openStream(); IOUtils.copyBytes(in, System.out, 4096, true);
学习使用FileSystem类
Configuration conf = new Configuration(); conf.set("fs.defaultFS", "hdfs://192.168.56.100:9000"); FileSystem fileSystem = FileSystem.get(conf); boolean b = fileSystem.exists(new Path("/hello")); System.out.println(b); boolean success = fileSystem.mkdirs(new Path("/mashibing")); System.out.println(success); success = fileSystem.delete(new Path("/mashibing"), true); System.out.println(success); FSDataOutputStream out = fileSystem.create(new Path("/test.data"), true); FileInputStream fis = new FileInputStream("c:/test/core-site.xml"); IOUtils.copyBytes(fis, out, 4096, true); FileStatus[] statuses = fileSystem.listStatus(new Path("/")); //System.out.println(statuses.length); for(FileStatus status : statuses) { System.out.println(status.getPath()); System.out.println(status.getPermission()); System.out.println(status.getReplication()); }
思考百度网盘的实现方式?
core-site做什么用?hdfs-site做什么用?
转载请注明原文地址: https://ju.6miu.com/read-21738.html
技术
最新回复
(
0
)