澳门美高梅手机网站在Ubuntu上安单机版Hadoop

一,下载Zookeeper安装包

Hadoop默认是设置于集群达的。我怀念当一如既往玉Ubuntu上装Hadoop做练习,发现下面两只链接比较有帮衬(都是英文的)。

从官方网站下载稳定版安装包后,解压。

1:如何在UBuntu上安装JDK。除了命令执行安装外,可以于synaptic package
manager中用图形界面安装。对自己这样的linux新手来说,这样更接近一点:
http://www.clickonf5.org/7777/how-install-sun-java-ubuntu-1004-lts/

澳门美高梅手机网站 1

2:安装单机版Hadoop,hadoop官网上的如出一辙首稿子写的老大清楚:
http://hadoop.apache.org/common/docs/r1.0.1/single\_node\_setup.html

其中ZK_HOME 为:D:\Program Files\zookeeper-3.4.9

 

二,启动Zookeeper Server

出于当Eclipse里面写的顺序是Client,需要连续到Zookeeper
Server。因此,需要被Zookeeper
Server。在Windows下,运行ZK_HOME/bin/zkServer.cmd 即可启动Zookeeper
Server

争启动报错提示找不至zoo.cfg,这是以官网提供的是
ZK_HOME/conf/zoo_sample.cfg,复制一客更命名即可。

澳门美高梅手机网站 2

于Windows环境下,需要专注的是布 dataDir 参数的值。它默认是于
ZK_HOME/bin/目录下。可以拿它配备为另外目录,比如:

澳门美高梅手机网站 3

代表用dataDir指定为那个转为目录的父目录下的 dataDir文件夹下(D:\Program
Files\zookeeper-3.4.9\dataDir)

 

以cmd命令执行启动Zookeeper Server:  >zkServer.cmd

澳门美高梅手机网站 4

 

当有新的Client连接受Server后,就该cmd窗口就会见输出一些新的情节,如下:

澳门美高梅手机网站 5

 

其三,Eclipse开发环境布置

新建一个Maven工程,添加:

<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>

 

新建一个Class,源代码如下:

import java.io.IOException;

import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;

public class Master implements Watcher{

    ZooKeeper zk;
    String hostPort;

    public Master(String hostPort) {
        this.hostPort = hostPort;
    }

    void startZK() throws IOException{
        zk = new ZooKeeper(hostPort, 15000, this);
    }

    @Override
    public void process(WatchedEvent event) {
        System.out.println(event);
    }


    public static void main(String[] args) throws Exception{
        String add = "localhost:2181";
        Master m = new Master(add);
        m.startZK();
        Thread.sleep(60000);
    }
}

Master.java的力量只是简单地建一个Zookeeper 会话。

运作是仿佛,Eclipse控制高出口:

2016-10-20 20:59:06,068 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=E:\workspace\eclipse-workspace\zookeeper
2016-10-20 20:59:06,068 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=15000 watcher=zookeeper.Master@62f6fb59
2016-10-20 20:59:06,114 [myid:] - INFO  [main-SendThread(0:0:0:0:0:0:0:1:2181):ClientCnxn$SendThread@1032] - Opening socket connection to server 0:0:0:0:0:0:0:1/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
2016-10-20 20:59:06,114 [myid:] - INFO  [main-SendThread(0:0:0:0:0:0:0:1:2181):ClientCnxn$SendThread@876] - Socket connection established to 0:0:0:0:0:0:0:1/0:0:0:0:0:0:0:1:2181, initiating session
2016-10-20 20:59:06,177 [myid:] - INFO  [main-SendThread(0:0:0:0:0:0:0:1:2181):ClientCnxn$SendThread@1299] - Session establishment complete on server 0:0:0:0:0:0:0:1/0:0:0:0:0:0:0:1:2181, sessionid = 0x157e226a4790000, negotiated timeout = 15000
WatchedEvent state:SyncConnected type:None path:null

标志,测试连接成。

 

假设运行时报错:

log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

标志你的配备文件并未添加到classpath下。只需要以ZK_HOME/conf/log4j.properties
放到工程的src目录下即可。

 

季,在单机中拟Zookeeper集群

Zookeeper只待加上若干布局文件,就好在相同贵计算机及运行多独Zookeeper服务端,从而模拟Zookeeper集群。它是经过以同等玉计算机上运行多只经过,每个过程单独代表一个Zookeeper服务器,从而组合Zookeeper集群的。

现实配置如下:

Zookeeper默认的布置文件是zoo_sample.cfg ,将该配置文件复制三卖:

cp zoo_sample.cfg  zoo.cfg  zoo1.cfg zoo2.cfg

下一场修改以下几独参数:①dataDir ②clientPort ③上加
server.n=ip:仲裁通信端口号:Leader选举端口号

论,这三独布局文件中之应和参数分别如下:

zoo.cfg
dataDir=/home/xxx/dataDir
clientPort=2181
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445


zoo2.cfg
dataDir=/home/xxx/dataDir2
clientPort=2182
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445


zoo3.cfg
dataDir=/home/xxx/dataDir3
clientPort=2183
server.1=127.0.0.1:2222:2223
server.2=127.0.0.1:3333:3334
server.3=127.0.0.1:4444:4445

 

除此以外,在dataDir指定的目录下,创建一个myid文本文件,用来标识Zookeeper服务器的ID信息。

echo 1 > $dataDir/myid
echo 2 > $dataDir2/myid
echo 3 > $dataDir3/myid

 

采取相应的安排文件来启动Zookeeper服务。如下图,一共启动了三独Zookeeper服务,从而以单机上模仿一个三节点集群。

澳门美高梅手机网站 6

 

参考:《Zookeeper分布式过程并技术详解》

发表评论

电子邮件地址不会被公开。 必填项已用*标注