首页 > 云存储和计算 > hadoop+hbase+zookeeper集群安装

hadoop+hbase+zookeeper集群安装

2012年9月7日 发表评论 阅读评论

最近公司搭建hadoop+hbase+zookeeper集群,期间遇到了许多问题,这里和大家分享一下安装的一些经验,目的在于大家在部署hadoop集群环境中少走一些弯路:
由于刚开始的时候我用虚拟机安装,安装版本是hadoop0.20.2+hbase0.90.3+zookeeper3.3.3版本,在测试hbase集群的时候hmaster不能正常启动或者是启动后进程自杀(在网上找到的答案应该是虚拟机的内存小,不支持0.90.x以后的hbase版本启动hmaster),最后hbase换成0.20.6或者是0.89.X版本的测试没有问题;
hadoop的下载地址http://archive.apache.org/dist/hadoop/common/
hbase的下载地址:http://archive.apache.org/dist/hbase/
zookeeper的下载地址:http://archive.apache.org/dist/hadoop/zookeeper/
1、 我的主机配置如下:(添加到/etc/hosts文件里面)
192.168.0.211 master (用于集群主机提供hmaster namenode jobtasker服务 )
192.168.0.212 s1 (用于集群丛机提供regionsrever datanode tasktacuter服务)
192.168.0.213 s2

2、安装jdk1.6.2.X

3、添加java环境变量(/etc/profile),后执行source /etc/profile ,使环境变量立即生效
export JAVA_HOME=/usr/java/jdk1.6.0_26/
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin
export HADOOP_HOME=/home/hadoop/hadoop
export HBASE_HOME=/home/hadoop/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin

4、在三台电脑上添加hadoop用户

useradd hadoop

5、在/home/hadoop/.bashrc添加变量
(将hadoop hbase的配置文件放到hadoop安装包根目录文件下,目的在于以后升级hadoop和hbase的时候不用重新导入配置文件)

export HADOOP_CONF_DIR=/home/hadoop/hadoop-config
export HBASE_CONF_DIR=/home/hadoop/hbase-config

6、将hadoop hbase zookepper的安装包解压到/home/hadoop/下,并重命名为hadoop hbase zookepper,在home/hadoop/下建立hadoop-config和hbase-config文件夹,并且将home/hadoop/hadoop/conf下的masters、slaves、core-site、mapred-sit、hdfs-site、hadoop-env拷贝到此文件夹,将home/hadoop/hbase/conf下的hbase-site和hbase-env.sh拷贝到次文件夹。

7、修改masters、slaves文件:
分别为 master 和s1与s2

8、修改hadoop-env.sh的变量:

export JAVA_HOME=/usr/java/jdk1.6.0_26/
export HADOOP_PID_DIR=/home/hadoop/hadoop/tmp

9、修改core-site.xml

fs.default.name
hdfs://master:9000

修改mapred-site.xml

mapred.job.tracker
hdfs://master:9001/

修改hdfs-site.xml(name和data文件夹不要手动建立)

dfs.name.dir
/home/hadoop/hadoop/name
dfs.data.dir
/home/hadoop/hadoop/data/
dfs.replication
3

10、设置master, s1, s2 机几台器之间无密码访问:
(网上有许多文章,这里就不写了 )

11、scp -r /home/hadoop/hadoop s1:/home/hadoop
scp -r /home/hadoop/hadoop s2:/home/hadoop

12、切换到/home/hadoop/hadoop目录下
执行bin/hadoop namenode -format(格式化master主机生成name data tmp等文件夹)

13、启动namenode
执行 bin/start-dfs.sh

使用jps命令查看nomenode、secondnamenode是否正常启动:
ie里面输入http://master:50070 查看namenode的相关配置信息、运行状态和日志文件

14、启动mapred
执行 bin/start-mapred.sh
使用jps命令查看nomenode、secondnamenode是否正常启动:
ie里面输入http://master:50030 查看jobtasker的相关配置信息、运行状态和日志文件

hbase+zookeeper集群搭建:

1、将/home/hadoop/hadoop/conf/目录下的hbase-site.xml、regionserver和hbase-env.sh拷贝到/home/hadoop/hbase-config/目录下;
编辑hbase-site.xml配置文件,如下:

hbase.rootdir
hdfs://master:9000/hbase
hbase.cluster.distributed
true
hbase.master
master
hbase.zookeeper.quorum
s1,s2
zookeeper.session.timeout
60000000
hbase.zookeeper.property.clientport
2222

2、编辑regionserver文件

S1
S2

3、编辑hbase-env.xml文件

export JAVA_HOME=/usr/java/jdk1.6.0_26/
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$PATH:$CATALINA_HOME/bin
export HADOOP_HOME=/home/hadoop/hadoop
export HBASE_HOME=/home/hadoop/hbase
export HBASE_MANAGES_ZK=true
export PATH=$PATH:/home/hadoop/hbase/bin

4、scp -r /home/hadoop/hbase s1:/home/hadoop
scp -r /home/hadoop/hbase s2:/home/hadoop

5、进入/home/hadoop/zookeeper/conf/中

(1)cp zoo_sample.cfg zoo.cfg

(2)vim zoo.cfg,如下:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/home/hadoop/zookeeper/data
# the port at which the clients will connect
clientPort=2181
server.1=s1:2888:3888
server.2=s2:2888:3888

(3)touch myid

编辑:1(此序号设置和zoo.cfg里面的server设置要对应)
scp -r /home/hadoop/zookeeper s1:/home/hadoop
scp -r /home/hadoop/zookeeper s2:/home/hadoop

(4)在所有的节点执行chown -R hadoop.hadoop /home/hadoop

启动hbase集群:

(1)/home/hadoop/hbase/bin/start-base.sh

(2)执行jps显示Hmaster是否启动

(3)执行bin/hbase shell

(4)>create ‘t1′ t2” ‘t3′(测试利用hmaster插入数据)
> list (显示已经插入的数据)
>t1+t2+t3

输入:http://master:60010

分类: 云存储和计算 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.