第一章HDFS课程内容
1-1课程内容
第二章 Maven
2-1 Java开发环境搭建说明
1.安装JDK和JRE:开发使用工具和JAVA运行环境
2.IntelliJ IDEA安装:比eclipse,内存更少一些,较新的工具使用比较灵活。
2-2 JAVA开发环境搭建(Windows)
1.JDK和JRE安装
//安装目录 C:Program FilesJavajdk1.8.0_161 C:Program FilesJavajre1.8.0_161 //配置环境变量 JAVA_HOME配置为 C:Program FilesJavajdk1.8.0_161 PATH最前面增加 %JAVA_HOME%/bin; //使用cmd验证 java -version
2.安装InteliJ IDEA工具
create new project
JAVA新建JDK,选择Maven,Next。
GroupId:com.twq
ArtifactId:test
Project location:D:LKworkspace est
更改字体为22:file-settings-font
3.新增和执行一个项目
main--java下新建package,命名为com.twq(对应groupid),此包下新建class命名为HelloWorld。
package com.twq; public class HelloWorld { public static void main(String [] args){ System.out.println("Hello World"); } }
右键Run程序。
右上角Project Structure,查看Modules-test-Sources,Languages level由5.0改为8
4.添加依赖或插件
Maven项目中添加依赖:pom.xml中,添加如下,后点击import changes(需联网抓需要的包),打开External Library中查看。
<dependencies> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.7.5</version> </dependency> </dependencies>
Maven项目中添加插件:pom.xml中,添加如下,点击import changes(需联网抓需要的包),打开External Library中查看。
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.8</source> <target>1.8</target> <testExcludes> <testExclude>/src/test/**</testExclude> </testExcludes> <encoding>utf-8</encoding> </configuration> </plugin> </plugins> </build>
2-3导入maven项目hdfs-course
file-open-找到hdfs-course,New Window
左下角按钮,右上角有maven project---clean、complie(联网下载pom.xml中包和插件)
右键项目名称,maven -- reimport
2-4 jar包依赖说明
pom.xml对第三方jar包进行管理
netty:rpc相关jar包,httpclient:使用http方式访问hdfs的jar包,hadoop:使用java访问hdfs的jar包。
变更pom.xml后,点击右下角弹出框,重新下载。或者file-maven-reimport,或者点击右上角,选择maven project--clean,complie。包有则忽略,没有则重新下载。
默认包更新放到C:UsersKL186031.m2 epository下。
点击右上角,选择maven project-->complie为编译,target下会生成class文件。package为打包为jar包。
第三章分布式存储系统HDFS
3-1 使用java命令启动JVM
1.D:LKworkspaceigdata-course下新建目录和文件com/twq/HelloWorld.java
//HelloWorld.java package com.twq; public class HelloWorld { public static void main(String [] args){ System.out.println("Hello World"); } }
2.cmd进入目录D:LKworkspaceigdata-course
javac com/twq/HelloWorld.java //编译生成字节码 java com/twq/HelloWorld //执行
3.执行带参数的java程序(hdfs-course)
使用Maven工具点击右上角,选择maven project-->clean-compile-package,将target的class打包成jar包hdfs-course-1.0-SNAPSHOT.jar 。打开cmd输入如下命令:
java -cp D:LKworkspacehdfs-course argethdfs-course-1.0-SNAPSHOT.jar -Dname=yellow -DsleepDuration=10 com.twq.basic.launcher.JvmLauncherTest
java -cp D:LKworkspacehdfs-course argethdfs-course-1.0-SNAPSHOT.jar -Dname=yellow -DsleepDuration=10 -Xmx300m com.twq.basic.launcher.JvmLauncherTest
-cp 参数后面是类路径,是指定给解释器到哪里找到你的.class文件
-Xmx300m 堆内存大小为300m
打开另一个cmd输入如下命令,查看Xmx值
jps -vV
3-2 RPC
Remote Procedure Call,多个JVM间相互通信,通信过程就是RPC。
simple举例:
一个JVM通过Socket向另一个JVM发送消息。
启动ServerJVM(55533端口监听),等待Socket连接
启动ClientJVM(发送say hello消息)
response举例: