Java Revisit [Java语言要点回顾]
本文回顾Java编程语言的要点。以下内容如无特殊说明都是在Java语境下。
本文回顾Java编程语言的要点。以下内容如无特殊说明都是在Java语境下。
本文介绍如何通过虚拟机搭建一个ZooKeeper集群,并且通过Java程序访问。关于VirtualBox创建虚拟机部分可以参考之前的Hadoop集群搭建。在网络连接部分,先创建一个虚拟host网络[这样会设置有一个可以使用的网段],然后每台机器的第二网卡选择host-only network,最后修改机器的/etc/hosts
把集群机器名和ip写上,检查网络是否ping通。
来自Google的三篇论文分别介绍了MapReduce,BigTable,GFS。由此衍生出了对应的开源的系统[Java实现]:Hadoop对应MapReduce,Hadoop Distributed File System [HDFS]对应GFS,Hbase对应BigTable。其实这种对应关系还有Google的Chubby和ZooKeeper。他们之间的性能区别我们不得而知,但是开源系统创造了更多的可能性,也催生出后面的Spark,Storm,Hive,ZooKeeper。
SSH是Secure Shell的缩写,主要用来进行安全远程登录。
VirtualBox创建的虚拟机可以选择的网络设置主要有:NAT模式,Bridged Adapter模式[桥接模式],Host-only Adapter模式,Internal模式[内网模式]。在VirtualBox 5.3中,每个虚拟机最多支持四个虚拟网卡。
Hadoop主要有三个组建,HDFS,Yarn,MapReduce。HDFS是一个分布式存储管理想整个Hadoop提供存储服务,Yarn是Hadoop的资源管理和调度组件,MapReduce就是具体负责进行计算的部分了。通过VirtualBox创建多个虚拟机并安装Ubuntu Server 16.04LTS版本的操作系统来建立一个Hadoop Cluster。本机操作系统Ubuntu 18.04LTS,VirtualBox 5.2。
布尔类型[bool]是计算机程序常用的类型,但是之前从来没有仔细研究过bool类型在各种语言的实现方法,下面列出了bool类型在常见编程语言的长度(持续更新)。
栈[stack]和堆[heap]是两个编程时经常需要操作的内存空间。虽然接触两个概念很早,但只了解他们内存申请方式不同,其实它们的具体区别由很多,最重要的是申请方式,申请效率,和申请大小