分布式集群环境hadoop、hbase、zookeeper搭建(全)

1、环境说明

集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下:

 

HostnameIP新建用户新建用户密码
Master10.10.10.213hadoop123456
Slave110.10.10.214hadoop123456
Slave210.10.10.215hadoop123456

 

三个节点均使用centos 6.3系统,为了便于维护,集群环境配置项最好使用相同用户名、用户密码、相同hadoop、hbase、zookeeper目录结构。

2、准备工作

2.1、修改Hostname

为了集群能够正常稳定的运行,我们需要将每个节点的hostname分别配置为对应的Master、Slave1、Slave2。

(1)在Master服务器中执行以下命令:

[java]   view plain copy
  1. hostname Master //当前有效  
[java]   view plain copy
  1. vi /etc/sysconfig/network   //重启后生效  
[java]   view plain copy
  1. HOSTNAME=Master  

(2)在Slave1服务器中执行以下命令:

[java]   view plain copy
  1. hostname Slave1 //当前有效  
[java]   view plain copy
  1. vi /etc/sysconfig/network   //重启后生效  
[java]   view plain copy
  1. HOSTNAME=Slave1  

(3)在Slave2服务器中执行以下命令:

[java]   view plain copy
  1. hostname Slave2 //当前有效  
[java]   view plain copy
  1. vi /etc/sysconfig/network   //重启后生效  
[java]   view plain copy
  1. HOSTNAME=Slave2  

2.2、添加Hosts映射关系

分别在三个节点下通过如下命令修改hosts映射关系:

[java]   view plain copy
  1. vi /etc/hosts  

添加内容如下:

[java]   view plain copy
  1. Master  10.10.10.213  
  2. Slave1  10.10.10.214  
  3. Slave2  10.10.10.215  

2.3、配置JDK环境

Hadoop集群必须依赖JDK环境,所以这里我们首先需要配置好JDK环境,同样为了管理,我们建议服务器中的节点JDK安装环境均在相同路径下。

2.3.1、解压安装包

拷贝jdk文件jdk-6u25-linux-x64.bin到/usr/lib/java文件目录(该目录可自行定义)下,解压安装包,如果文件权限被限制,可通过如下命令进行赋权限操作:

[java]   view plain copy
  1. chmod u+w jdk-6u25-linux-x64.bin  

2.3.2、修改环境配置信息

[java]   view plain copy
  1. vi /etc/profile  

在最后加上:

[java]   view plain copy
  1. export JAVA_HOME=/usr/lib/java/jdk1.6.0_25  
  2. export PATH=$PATH:$JAVA_HOME/bin   
  3. export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar  

通过注销或者以下命令使修改生效:

[java]   view plain copy
  1. source /etc/profile  

2.3.3、检查当前JDK版本信息

[java]   view plain copy
  1. java -version  

2.3.4、补充(可选)

如果查看当前的JDK版本不是刚才设置的JDK版本,则可以进行默认JDK版本设置操作:

[java]   view plain copy
  1. sudo update-alternatives --install /usr/bin/java java /usr/lib/java/jdk1.6.0_25/bin/java 300     
  2. sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/jdk1.6.0_25/bin/javac 300     
  3. sudo update-alternatives --config java(选择jdk1.6.0_25版本的序号就行)  

2.4、安装SSH

Centos系统安装时默认可以选择安装SSH,ubuntu下可以通过如下命令进行安装(前提是必须联网):

[java]   view plain copy
  1. sudo apt-get install ssh  
  2. sudo apt-get install rsync  

2.5、新建用户

为了hadoop集群的安全与方便管理,我们要另外新建用户,并设置密码,命令如下:

[java]   view plain copy
  1. sudo adduser hadoop  
  2. sudo passwd hadoop  

上述命令中,第一行命令新建了一个user为hadoop的用户,第二行命令是为这个hadoop用户设置密码,同样最好服务器之间均保持一致。

2.6、配置集群之间SSH无密码登陆

集群环境的使用必须通过ssh无密码登陆来执行,本机登陆本机必须无密码登陆,主机与从机之间必须可以双向无密码登陆,从机与从机之间无限制。以本次为例,比如Master与Slave1之间的无密码登陆设置步骤如下:

(1)进入Master服务器,进行无密码自登陆设置

[java]   view plain copy
  1. ssh hadoop@Master   //登陆Master  
  2. ssh-keygen  -t  rsa  -P  ''  -f  ~/.ssh/id_rsa  
  3. cat  ~/.ssh/id_rsa.pub  >>  ~/.ssh/authorized_keys    //生成密钥  
  4. chmod 700 ~/.ssh && chmod 600 ~/.ssh/*  //设置权限  

如果不知道是否配置成功,可通过如下命令进行验证:

[java]   view plain copy
  1. ssh localhost  

如果上述命令不需要输入密码则表示配置成功。

进入Slave1服务器,进行无密码自登陆设置,操作同上,只需将对应的Master改为Slave1即可,此处省略。

(2)进入Master服务器,设置Master->Slave1的无密码登陆

[java]   view plain copy
  1. ssh hadoop@Master   //登陆Master  
  2. cat ~/.ssh/id_rsa.pub | ssh hadoop@Slave1 'cat - >> ~/.ssh/authorized_keys'  
  3. ssh hadoop@Slave1   //若此处不需要输入密码则配置成功  

(3)进入Slave1服务器,设置Slave1->Master的无密码登陆

[java]   view plain copy
  1. ssh hadoop@Slave1   //登陆Slave1  
  2. cat ~/.ssh/id_rsa.pub | ssh hadoop@Master 'cat - >> ~/.ssh/authorized_keys'  
  3. ssh hadoop@Master   //若此处不需要输入密码则成功  

以上便是Master与Slave1之间的双向无密码登陆配置。Master与Slave2之间的配置原理同上述基本一样,所以不再赘述。

3、Hadoop集群安装配置

3.1、修改hadoop配置文件

在centos系统下解压hadoop安装包hadoop-1.0.3.tar.gz,修改conf目录下的6个文件:

(1)core-site.xml

[java]   view plain copy
  1. <configuration>  
  2.     <property>  
  3.         <name>fs.default.name</name>  
  4.         <value>hdfs://Master:9000</value>  
  5.     </property>  
  6. </configuration>  

(2)hadoop-env.sh

在该文件中加上如下一行代码:

[java]   view plain copy
  1. export JAVA_HOME=(你配置的jdk路径,比如:/usr/java/jdk1.6.0_25)  

(3)hdfs-site.xml

[java]   view plain copy
  1. <configuration>     
  2.     <property>  
  3.         <name>dfs.name.dir</name>  
  4.         <value>/home/hadoop/temp/hadoop</value>  
  5.     </property>  
  6.     <property>  
  7.         <name>dfs.data.dir</name>  
  8.         <value>/home/hadoop/temp/hadoop</value>  
  9.     </property>  
  10.     <property>  
  11.         <name>dfs.replication</name>  
  12.         <value>1</value>  
  13.     </property>  
  14.     <property>  
  15.         <name>dfs.support.append</name>  
  16.         <value>true</value>  
  17.     </property>  
  18. </configuration>  

(4)mapred-site.xml

[java]   view plain copy
  1. <configuration>  
  2.     <property>  
  3.         <name>mapred.job.tracker</name>  
  4.         <value>Master:9001</value>  
  5.     </property>  
  6.     <property>  
  7.         <name>mapred.acls.enabled</name>  
  8.         <value>false</value>  
  9.     </property>  
  10. </configuration>  

(5)Masters

[java]   view plain copy
  1. Master  

(6)Slaves

[java]   view plain copy
  1. Slave1  
  2. Slave2  

3.2、同步安装包

将解压修改后的hadoop-1.0.3文件夹分别拷贝到Master、Slave1、Slave2的相同hadoop安装路径下。

3.3、启动Hadoop集群

进入Master的hadoop-1.0.3目录,执行以下操作:

[java]   view plain copy
  1. bin/hadoop namenode -format //格式化namenode,第一次启动服务前执行的操作,以后不需要执行  
  2. bin/start-all.sh     //启动hadoop  
  3. jps //用jps命令能看到除jps外有5个进程  

至此,hadoop集群配置过程结束。可通过浏览器地址http://10.10.10.213:50070 查看节点启用状态验证配置是否成功。

4、Zookeeper集群安装配置

4.1、修改zookeeper配置文件zoo.cfg

在centos系统下解压zookeeper安装包zookeeper-3.4.3.tar.gz ,进入到conf目录,将zoo_sample.cfg拷贝一份命名为zoo.cfg(Zookeeper 在启动时会找这个文件作为默认配置文件),打开该文件进行修改为以下格式(注意权限问题,如果最后配置有问题请检查过程中权限是否正确)。

[java]   view plain copy
  1. dataDir=/home/hadoop/temp/zookeeper/data  
  2.   
  3. server.0=10.10.10.213:2888:3888  
  4. server.1=10.10.10.214:2888:3888  
  5. server.2=10.10.10.215:2888:3888  

4.2、新建目录、新建并编辑myid文件

(本次配置myid文件放在/home/hadoop/temp/zookeeper/data目录下)

[java]   view plain copy
  1. mkdir /home/hadoop/temp/zookeeper/data  //dataDir目录  
  2. vi /home/hadoop/temp/zookeeper/data/myid  

注意myid文件中的内容为:Master中为0,Slave1中为1,Slave2中为2,分别与zoo.cfg中对应起来。

4.3、同步安装包

将解压修改后的zookeeper-3.4.3文件夹分别拷贝到Master、Slave1、Slave2的相同zookeeper安装路径下。注意:myid文件的内容不是一样的,各服务器中分别是对应zoo.cfg中的设置。

4.4、启动zookeeper

Zookeeper的启动与hadoop不一样,需要每个节点都执行,分别进入3个节点的zookeeper-3.4.3目录,启动zookeeper:

[java]   view plain copy
  1. bin/zkServer.sh start  

注意:此时如果报错先不理会,继续在另两台服务器中执行相同操作。

4.5、检查zookeeper是否配置成功

待3台服务器均启动后,如果过程正确的话zookeeper应该已经自动选好leader,进入每台服务器的zookeeper-3.4.3目录,执行以下操作查看zookeeper启动状态:

[java]   view plain copy
  1. bin/zkServer.sh status  

如果出现以下代码表示安装成功了。

[java]   view plain copy
  1. [java] view plaincopy  
  2. JMX enabled by default    
  3. Using config: /home/hadoop/zookeeper-3.4.3/bin/../conf/zoo.cfg    
  4. Mode: follower  //或者有且只有一个leader  

5、HBase集群安装配置

5.1、修改hbase配置文件

在centos系统下解压hbase安装包hbase-0.94.1-security.tar.gz,修改conf目录下的3个文件:

(1)hbase-env.sh

[java]   view plain copy
  1. export JAVA_HOME=/usr/lib/java/jdk1.6.0_25  //JDK的安装目录  
  2. export HBASE_CLASSPATH=/home/hadoop/hadoop-1.0.3/conf   //hadoop的安装目录  
  3. export HBASE_MANAGES_ZK=true  

(2)hbase-site.xml

[java]   view plain copy
  1. <configuration>  
  2.     <property>  
  3.         <name>hbase.rootdir</name>  
  4.         <value>hdfs://Master:9000/hbase</value>  
  5.     </property>     
  6.     <property>  
  7.         <name>hbase.cluster.distributed</name>  
  8.         <value>true</value>  
  9.     </property>  
  10.     <property>  
  11.         <name>hbase.zookeeper.property.clientPort</name>  
  12.         <value>2181</value>  
  13.     </property>  
  14.     <property>  
  15.         <name>hbase.zookeeper.quorum</name>  
  16.         <value>Master</value>  
  17.     </property>  
  18.     <property>  
  19.         <name>hbase.zookeeper.property.dataDir</name>  
  20.         <value>/home/hadoop/temp/zookeeper</value>  
  21.     </property>  
  22.     <property>  
  23.         <name>dfs.support.append</name>  
  24.         <value>true</value>  
  25.     </property>  
  26. </configuration>  

(3)regionservers

[java]   view plain copy
  1. Slave1  
  2. Slave2  

5.2、同步安装包

将解压修改后的hbase-0.94.1-security文件夹分别拷贝到Master、Slave1、Slave2的相同hbase安装路径下。

5.3、启动HBase

进入Master的hbase-0.94.1-security目录,执行以下操作:

[java]   view plain copy
  1. bin/start-hbase.sh  //之后用jps查看是否所有进程都已启动  

至此,hbase服务配置过程结束。可通过浏览器地址http://10.10.10.213:60010 查看hbase是否可用。

也可以执行以下命令,进入hbase shell进行验证。

转载于:https://www.cnblogs.com/serisboy/archive/2013/06/08/3126731.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值