搭建Hadoop集群
一直以来,对Hadoop集群很感兴趣。最近得闲,就抽空把Hadoop集群搭建起来。为了日后备查,著一小文以记之。
创建用户账号
为了便于管理,建立一个专门用于搭建Hadoop集群的用户账号。创建指令如下:
sudo adduser u --ingroup sudo
注销原来的登录用户,使用用户u
登录。也可以使用 阅读全文…
一直以来,对Hadoop集群很感兴趣。最近得闲,就抽空把Hadoop集群搭建起来。为了日后备查,著一小文以记之。
为了便于管理,建立一个专门用于搭建Hadoop集群的用户账号。创建指令如下:
sudo adduser u --ingroup sudo
注销原来的登录用户,使用用户u
登录。也可以使用 阅读全文…
在某些场景下,我们必须等待线程执行完成才能进行下一步工作。例如,某些程序在开始执行之前,需要先初始化一些资源。这时,我们可以启动一个线程专门来做初始化任务,等到线程任务完成后,再去执行其他部分。
为此,Thread
类为我们提供了join()
方法。当我们使用线程对象调用此方法时,正在掉调用的线程对象将被推迟到被调用对象执行完成后再开始执行。
在本节,示例程序演示等待初始化方法完成后,再去执行其他任务。
按照下面所示步骤, 阅读全文…
有时,我们需要在指定的时间点中断正在执行的线程。比如,每分钟检查一次传感器状态的线程,其余时间,线程不需要做任何事情。在此期间,线程不需要使用计算机的任何资源。过了这段时间之后,并且当Java虚拟机调度了该线程,则该线程继续执行。为此,你可以使用Thread
类的sleeep()
方法。该方法以休眠的方式来推迟线程的执行,而且整数类型的参数则指明休眠的毫秒数。当调用sleep()
方法,休眠时间结束后,Java虚拟机分配给线程CPU运行时间,线程就会继续执行。
另一种是用sleep()
方法的方式是 阅读全文…
一个多线程的Java程序,直到所有线程执行完成,整个程序才会退出。(需要注意的是,是所有非后台线程(non-daemon thread)执行完成;如果一个线程执行了System.exit()
方法,程序也会退出。)有时,你想中止一个线程的执行,例如你想退出程序,或者你想取消一个正在执行的任务等。
Java提供了中断机制,可以让我们显式地中断我们想中止执行的线程。中断机制的一个特征就是我们可以检查线程是否已经被中断,进而决定是否响应中止请求。线程也可以忽略中止请求,继续执行。
在本节,我们所开发的示例程序将会创建一个线程,五秒钟后, 阅读全文…
Thread
类包含几个属性,这些属性所表示的信息能帮助我们识别线程、观察其状态、控制其优先级等。这些线程包括如下几种:
Thread
对象的优先级。线程优先级分1到10十个级别,1表示最低优先级,10表示最高优先级。并不推荐修改线程的优先级,但是如果确实有这方面的需求,也可以尝试一下。在IT圈里,每当我们谈论并发时,必定会说起在一台计算机上同时运行的一系列线程。如果这台电脑上有多个处理器或者是一个多核处理器,那么这时是实实在在的“同时运行”;但是,如果计算机只有一个单核处理器,那么这时的“同时运行”只是表象而已。
所有的现代操作系统全部支持任务的并发执行。你可以边听音乐,边上网看新闻,还不耽误首发电子邮件。我们可以说,这种并发是 进程级并发 。在进程内部,我也可以看到有许许多多的并发任务。我们把运行在一个进程里面的并发任务称 线程。
和并发相关的另外一个常见概念是 阅读全文…