学习日志---7

1.复习Linux hadoop hdfs MapReduce基础知识

 

1,列举linux常用命令
shutdown now
reboot
mkdir
mkdir -p
touch filename
rm -r filename
rm -rf filename
vi filename
i--->可编辑状态
esc --> : --->wq 保存退出
q!
wq!
cat
grep
find
ifconfig
ping
useradd
chmod 777 filename
more
cp srcfile destfile
mv
tar -zxvf filename -C destpath
ls
ls -a
pwd 查看当前目录的绝对路径
filewall:
service iptables start/stop/status/restart
centos7 : systemctl stop frewalld.service
systemctl -cmd --state
修改网络配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth1
配置环境变量
/etc/profile
~/.bash_profile
/etc/profild.d/x.sh
JAVA
export JAVA_HOME=/root/app/jdk1.8.0_161
export PATH=$JAVA_HOME/bin:$PATH
配置文件生效:
source ~/.bash_priofile
查看java安装目录
echo $JAVA_HOME
2,hash函数特点是什么
代码论道
字符串----->固定位数的Hash值。
1,确定性
str1--->hash1值
str2---->hash1值
2,单向性
str----hash()----->hash值
3,防篡改
str1--->bit--->hash()--->hash值
4,防碰撞
str1 ---> hash1
str2---->hash1
mapreduce分区默认实现:
hash(key)%reduce task
Hash实现:
SHA
MD5
区块链:不可篡改
链表+hash(key)
3,hdfs如何实现文件的存储
NameNode:
处理客户端的请求
操作元数据(修改文件名\打开文件、关闭文件、DataNode
info)
DataNode
存储文件数据block,blocksize=128MB
发送心跳信息,将自身所有存储的block信息,健康状况发
送给 NameNode。
SecondNameNode:hadoop2.x可有可无
130MB--> 128MB block + 2MB block
4,hdfs副本存放机制?
block 默认3份。
5,hdfs主要进程、yarn的主要进程分别是?
NameNode
DataNode
SecondNameNode
yarn:资源调度框架
ResourceManager
NodeManager
6,简述mapreduce计算流程
7,搭建伪分布式步骤
cents6.5
1,前置准备
java
tar -zxvf
配置环境变量
ssh
1,安装ssh服务器
openserver-ssh
2, ssh-keygen -t rsa
cd ~/.ssh
id_rsa id_rsa.pub
cp id_rsa.pub authorized_keys
3,ssh-copy-id
2,安装hadoop
2.1解压hadoop tar -zxvf hadoop-xx.tar.gz
2.2 配置文件
$HADOOP_HOME/etc/hadoop
hadoop-env.sh
JAVA_HOME
core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/app/tmp</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
HDFS Shell操作:
1,查看Hdfs上的文件
hdfs dfs -ls /
hadoop fs -ls /
2,将本地文件上传到hdfs
hdfs dfs -put hello.txt /
3,查看hdfs文件内容
hdfs dfs -cat /hello.txt
hdfs dfs -text /hello.txt
4,在hdfs创建目录
hdfs dfs -mkdir /hello
5,hdfs递归创建目录
hdfs dfs -mkdir -p /test/a/b
6,递归查询目录
hdfs dfs -ls -p /test
7,将hdfs上的文件下载到本地
hdfs dfs -get /hello.txt
8,将本地文件拷贝到hdfs上 /test/a/b
hdfs dfs -copyFromLocal hello.txt /test/a/b/h.txt
9,删除hdfs上目录
hdfs dfs -rm -R /hello
10,删除hdfs上的文件
hdfs dfs -rm /hello.txt

 

2.java操作HDFS文件

  1 import java.io.BufferedReader;
  2 import java.io.IOException;
  3 import java.io.InputStreamReader;
  4 
  5 import org.apache.hadoop.conf.Configuration;
  6 import org.apache.hadoop.fs.FSDataInputStream;
  7 import org.apache.hadoop.fs.FSDataOutputStream;
  8 import org.apache.hadoop.fs.FileSystem;
  9 import org.apache.hadoop.fs.Path;
 10 
 11 public class HDFSTest {
 12 
 13     public static void main(String[] args) {
 14         // TODO 自动生成的方法存根
 15         System.setProperty("hadoop.home.dir", "E:\\hadoop");
 16         
 17         String str="";
 18         //createDir("/new/abc.txt");
 19         //delete("/new");
 20         //createFile("/new/abc.txt");
 21         //write(str);
 22         append(str);
 23         read();
 24 
 25     }
 26     
 27     //向文件中写入
 28     public static void write(String str){
 29         if(str==null||str.equals("")){
 30             str="Hello World!\n";
 31         }
 32         Configuration conf=new Configuration();
 33         conf.set("fs.default.name", "hdfs://192.168.137.11:9000");
 34         try {
 35             FileSystem fs=FileSystem.get(conf);
 36             FSDataOutputStream outpustream = fs.create(new Path("/hadoop/a.txt"));
 37             outpustream.writeBytes(str);
 38             outpustream.close();
 39         } catch (IOException e) {
 40             // TODO Auto-generated catch block
 41             System.out.println(e.getMessage());
 42         }
 43     }
 44     //向文件中添加
 45     public static void append(String str){
 46         if(str==null||str.equals("")){
 47             str="Hello World!\n";
 48         }
 49         Configuration conf=new Configuration();
 50         conf.set("fs.default.name", "hdfs://192.168.137.11:9000");
 51         conf.set("dfs.support.append", "true");
 52         conf.set("dfs.client.block.write.replace-datanode-on-failure.policy", "NEVER");
 53         conf.set("dfs.client.block.write.replace-datanode-on-failure.enable", "true");
 54         try {
 55             FileSystem fs=FileSystem.get(conf);
 56             FSDataOutputStream outpustream = fs.append(new Path("/hadoop/a.txt"));
 57             outpustream.writeBytes(str);
 58             outpustream.close();
 59         } catch (IOException e) {
 60             // TODO Auto-generated catch block
 61             System.out.println(e.getMessage());
 62         }
 63     }
 64     //读取文件,并打印在控制台
 65     public static void read(){
 66         Configuration conf=new Configuration();
 67         conf.set("fs.default.name", "hdfs://192.168.137.11:9000");
 68         try {
 69             FileSystem fs=FileSystem.get(conf);
 70             //创建输入流
 71             FSDataInputStream inputstream = fs.open(new Path("/hadoop/a.txt"));
 72             InputStreamReader isr=new InputStreamReader(inputstream);
 73             BufferedReader br=new BufferedReader(isr);
 74             String str=br.readLine();
 75             
 76             while(str!=null){
 77                 System.out.println(str);
 78                 str=br.readLine();
 79             }
 80             br.close();
 81             isr.close();
 82             inputstream.close();
 83             
 84         } catch (IOException e) {
 85             // TODO 自动生成的 catch 块
 86             e.printStackTrace();
 87         }
 88         
 89     }
 90     //创建目录
 91     public static void createDir(String path) {
 92         Configuration configuration=new Configuration();
 93         configuration.set("fs.default.name", "hdfs://192.168.137.11:9000");
 94         try {
 95             FileSystem fs=FileSystem.newInstance(configuration);
 96             fs.mkdirs(new Path(path));
 97         } catch (IOException e) {
 98             // TODO 自动生成的 catch 块
 99             e.printStackTrace();
100         }
101         
102     }
103     //删除文件
104     public static void delete(String path) {
105         Configuration configuration=new Configuration();
106         configuration.set("fs.default.name", "hdfs://192.168.137.11:9000");
107         try {
108             FileSystem fs=FileSystem.newInstance(configuration);
109             fs.delete(new Path(path),true);
110         } catch (IOException e) {
111             // TODO 自动生成的 catch 块
112             e.printStackTrace();
113         }
114     }
115     
116     //创建文件
117     public static void createFile(String path) {
118         Configuration configuration=new Configuration();
119         configuration.set("fs.default.name", "hdfs://192.168.137.11:9000");
120         try {
121             FileSystem fileSystem=FileSystem.newInstance(configuration);
122             fileSystem.createNewFile(new Path(path));
123         } catch (IOException e) {
124             // TODO 自动生成的 catch 块
125             e.printStackTrace();
126         }
127         
128     }
129 }

 

转载于:https://www.cnblogs.com/yifengyifeng/p/9319099.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javascript --- 属性描述符

从ES5开始,所有的属性都具备了属性描述符 var myObject {a: 2 };Object.getOwnPropertyDescriptor(myObject, "a"); //{ // value:2, // writable: true, // 可写 // enumerable: true, // 可枚举 // configurble: true // 可配置 //}定义属性…

看了吗网址链接

sklearn实战-乳腺癌细胞数据挖掘&#xff08;博主亲自录制视频&#xff09; https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare # -*- coding: utf-8 -*- ""&qu…

JMeter 性能测试进阶实战

课程简介 本课程制作的主要目的是为了让大家快速上手 JMeter&#xff0c;期间穿插了大量主流项目中用到的技术&#xff0c;以及结合当今主流微服务技术提供了测试 Dubbo 接口、Java 工程技术具体实施方案&#xff0c;注重实践、注意引导测试思维、拒绝枯燥的知识点罗列、善于用…

javascript --- 混入

显示混入: function mixin(sourceObj, targetObj){for(var key in sourceObj){ // 遍历source中的所有属性if(!(key in targetObj)) { // 找到targetz中没有的属性targetObj[key] sourceObj[key];}}return targetObj; }var Vehicle {engines: 1,iginition: function() {c…

php源码代目录

ext :存放动态和内建模块的目录&#xff0c;在这里可以找到所有的php官方亏站,并且也可以在这里编写扩展&#xff1b; main:包含php的主要宏定义; pear: PHP扩展与应用库; sapi:包含不同服务器抽象层的代码; TSRM&#xff1a;Zend和PHP的"线程安全资源管理器"目录; Z…

bzoj1231 [Usaco2008 Nov]mixup2 混乱的奶牛——状压DP

题目&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id1231 小型状压DP&#xff1b; f[i][j] 表示状态为 j &#xff0c;最后一个奶牛是 i 的方案数&#xff1b; 所以下一个只能是和它相差大于 k 而且不在状态中的奶牛。 代码如下&#xff1a; #include<iostr…

JavaScript高级程序设计阅读笔记

2020-11-15 通过初始化指定变量类型 数字-1 对象null和null的比较&#xff08;不理解&#xff09;使用局部变量将属性查找替换为值查找&#xff08;算法复杂度&#xff09;循环的减值迭代&#xff0c;降低了计算终止条件的复杂度switch快多个变量声明逗号隔开使用数组和对象字面…

jquery --- 监听input框失效

使用juery监听Input输入的变化,并且封装起来,如下: // html <input type"text" id‘myinput1’ /> // js function formOnById(id){let dom # id;$(dom).bind(input propertychange,()>{let item $(dom).val;console.log(item);} } formOnById(myinp…

windows任务计划程序 坑

转载于:https://www.cnblogs.com/kaibindirver/p/8109041.html

第三篇:函数之嵌套

1 #函数的嵌套调用&#xff1a;在调用一个函数的时&#xff0c;其内部的代码又调用其他的函数2 # def bar():3 # print(from bar)4 #5 # def foo():6 # print(from foo)7 # bar()8 #9 # foo() 10 11 12 # def max2(x,y): 13 # if x > y: 14 # ret…

vue路由权限(结合服务端koa2)

gitee地址 一、项目初始化 vue create manager-admin // 创建vue项目// 管理员权限安装 cnpm i -S koa2 // 下载koa2依赖 cnpm install --global koa-generator // 下载框架 koa-generator koa2 manager-server // 创建项目 cd manager-server // 进入项目 npm install // 安…

javascript --- 类、class、事件委托的编程风格

类风格: // 父类 function Widget(width, height) {this.width width || 50;this.height height || 50;this.$elem null; } Widget.prototype.render function($where) {if(this.$elem) {this.$elem.css({width: this.width "px",height: this.height "p…

在线获取UUID

http://fir.im/udid转载于:https://www.cnblogs.com/mtjbz/p/8116576.html

堆和堆排序

堆和优先队列 普通队列&#xff1a;FIFO&#xff0c;LILO 优先队列&#xff1a;出队顺序和入队顺序无关&#xff0c;和优先级相关。一个典型应用就是操作系统中。动态选择优先级高的任务执行 堆的实现 最典型的堆就是二叉堆&#xff0c;就像是一颗二叉树。这个堆的特点&#xf…

ES5-1 发展史、ECMA、编程语言、变量、JS值

1. 5大主流浏览器及内核&#xff08;自主研发&#xff09; 浏览器内核IEtridentChromewebkit blinkSafariwebkitFirefoxgeckoOperapresto 2. 浏览器的历史 和 JS诞生 1989-1991 WorldWideWeb&#xff08;后来为了避免与万维网混淆而改名为Nexus&#xff09;是世界上第一个网页…

javascript --- 使用对象关联简化整体设计

在某个场景中,我们有两个控制器对象: 1.用来操作网页中的登录表单; 2.用来与服务器进行通信. 类设计模式 // 把基础的函数定义在名为Controller的类中,然后派生两个子类LoginController和AuthController. // 父类 function Controller() {this.errors []; } Controller.prot…

javascript --- polyfill中几个常用方法

ES6中,新增了许多有用的方法,下面分享几个ES6之前得版本写的polyfill Number.EPSILON: // 机器精度,并判断2个数是否相等 if(!Number.EPSILON){Number.EPSILON math.pow(2, -52); }function numberCloseEnoughToEqual(n1, n2) {return Math.abs(n1 - n2 ) < Number.EPSIL…

[Usaco2010 Nov]Visiting Cows

题目描述 经过了几周的辛苦工作,贝茜终于迎来了一个假期.作为奶牛群中最会社交的牛,她希望去拜访N(1<N<50000)个朋友.这些朋友被标号为1..N.这些奶牛有一个不同寻常的交通系统,里面有N-1条路,每条路连接了一对编号为C1和C2的奶牛(1 < C1 < N; 1 < C2 < N; C1…

ES5-2 语法、规范、错误、运算符、判断分支、注释

1. 错误 MDN错误列表 Uncaught SyntaxError: Unexpected token ) // 语法错误 Uncaught ReferenceError: a is not defined // 引用错误等类型 Uncaught TypeError: Cannot read property toString of null出现一个语法错误&#xff0c;则一行代码都不会执行&#xff08;检查…

新单词 part 4

part 41.veto 英[ˈvi:təʊ]美[ˈvi:toʊ]n. 行使否决权; 否决权&#xff0c;否认权; 否决理由;vt. 否决&#xff0c;不同意; 不批准&#xff0c;禁止;vi. 否决; 禁止;2.acoustics 英[əˈku:stɪks]美[əˈkustɪks]n. 声学; &#xff08;传声系统的&#xff09; 音响效果; 声…