8月12号
2、Linux知识:基本操作
3、注意;
(1)虚拟机的版本
(2)内存:大于1G才有图形界面
笔记本电脑的内存:至少8G
(3) 网络类型:仅主机模式 ----> 确定网关的IP
以太网适配器 VMware Network Adapter VMnet1: 192.168.88.1(首选)
(4) linux的类型:图形界面 ---> Desktop
4、配置Linux:安装Hadoop和Spark的前提
(1)关闭防火墙
service iptables status 防火墙的状态
service iptables stop 关闭
(2)设置主机名和IP的关系: bigdata11 ---> 192.168.88.11
vi /etc/hosts
192.168.88.11 bigdata11
5、安装JDK:
tar -zxvf jdk-7u75-linux-i586.tar.gz -C ~/training/
设置JAVA_HOME,path
vi ~/.bash_profile
1、命令模式
2、插入模式
3、编辑模式
2、什么是大数据?核心问题?
讲义:商品推荐、天气预报
(1)大数据的存储 ----> 分布式文件系统 ----> HDFS: hadoop distributed file system
(2)大数据的计算 ----> 分布式计算(Google MapReduce) ----> 计算模型:MapReduce
2、Java序列化 : Serializable接口 该类的对象可以作为输入和输出的对象
JDBC:Hadoop会用、Spark也会用
Hadoop(MapReduce)的序列化:Writable接口 该类的对象可以作为Map和Reduce的输入和输出
一、安装Linux和JDK: hadoop在Linux
1、版本:Oracle Linux R62、Linux知识:基本操作
3、注意;
(1)虚拟机的版本
(2)内存:大于1G才有图形界面
笔记本电脑的内存:至少8G
(3) 网络类型:仅主机模式 ----> 确定网关的IP
以太网适配器 VMware Network Adapter VMnet1: 192.168.88.1(首选)
(4) linux的类型:图形界面 ---> Desktop
4、配置Linux:安装Hadoop和Spark的前提
(1)关闭防火墙
service iptables status 防火墙的状态
service iptables stop 关闭
(2)设置主机名和IP的关系: bigdata11 ---> 192.168.88.11
vi /etc/hosts
192.168.88.11 bigdata11
5、安装JDK:
tar -zxvf jdk-7u75-linux-i586.tar.gz -C ~/training/
设置JAVA_HOME,path
vi ~/.bash_profile
JAVA_HOME=/root/training/jdk1.7.0_75
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
生效:source ~/.bash_profile
二、Linux vi编辑器(Linux记事本)
模式:1、命令模式
2、插入模式
3、编辑模式
三、为什么学习大数据: Hadoop和Spark ----> Java基础
1、学习前提:必须有Java基础(不需要Java EE,不需要数据库)2、什么是大数据?核心问题?
讲义:商品推荐、天气预报
(1)大数据的存储 ----> 分布式文件系统 ----> HDFS: hadoop distributed file system
(2)大数据的计算 ----> 分布式计算(Google MapReduce) ----> 计算模型:MapReduce
四、Java基础:序列化和输入输出
1、需要Java的哪些知识:class、反射、泛型、输入输出2、Java序列化 : Serializable接口 该类的对象可以作为输入和输出的对象
JDBC:Hadoop会用、Spark也会用
Hadoop(MapReduce)的序列化:Writable接口 该类的对象可以作为Map和Reduce的输入和输出
五、(扩展)留一个问题?DeadLock.java ---> 产生一个死锁
(*) 如果java产生了死锁,怎么找到死锁?---> Thread Dumppublic class DeadLock {
final Object lockA = new Object();
final Object lockB = new Object();
public static void main(String[] args) {
DeadLock demo = new DeadLock();
demo.startLock();
}
public void startLock(){
ThreadA a= new ThreadA(lockA,lockB);
ThreadB b= new ThreadB(lockA,lockB);
//start threads
a.start();
b.start();
}
}
class ThreadA extends Thread{
private Object lockA = null;
private Object lockB = null;
public ThreadA(Object a, Object b){
this.lockA = a;
this.lockB = b;
}
public void run() {
synchronized (lockA) {
System.out.println("*** Thread A: ***: Lock A" );
try {
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (lockB) {
System.out.println("*** Thread A: ***: Lock B" );
}
}
System.out.println("*** Thread A: ***: Finished" );
}
}
class ThreadB extends Thread{
private Object lockA = null;
private Object lockB = null;
public ThreadB(Object a, Object b){
this.lockA = a;
this.lockB = b;
}
public void run() {
synchronized (lockB) {
System.out.println("*** Thread B: ***: Lock B" );
try {
sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (lockA) {
System.out.println("*** Thread B: ***: Lock A" );
}
}
System.out.println("*** Thread B: ***: Finished" );
}
}