hadoop1.2.1+hbase集群详解
最近我由于工作原因,我要搭建一套hadoop+hbase集群的测试环境。
目前有三台服务器,我计划就在这三台服务器中搭建一套环境,多余的话不说,大家往下看吧。
一、搭建前的准备工作
我有三台服务器,分别是192.168.1.97,192.168.1.98,192.168.1.99。
那我如何来命名呢,97对应的是master,98对应的是slave1,99对应的是slave2,其中97作为namenode节点。
我的hadoop采用的是1.2.1版本,hbase采用的是0.94.16。
二、搭建hadoop环境
1、使用tar命令将压缩包解压,放到/usr/hadoop目录中。
tar -zxvf hadoop1.2.1.tar.gz
同时将hadoop安装包通过scp命令发送到另外二台服务器中。
scp hadoop1.2.1.tar.gz slave1:/usr/
2、生成免签密钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys scp authorized_keys slaves1:~/.ssh/ scp authorized_keys slaves2:~/.ssh/
使用以上命令生成密钥,并且复制到另外二台机器中。
3、修改主机名和host
使用 vi /etc/sysconfig/network 修改HOSTNAME=master 使用 vi /etc/hosts 添加 192.168.1.97 master
同样的道理,配置在slave1和slave2机器里。
4、修改core-site.xml文件
<configuration> <!-- file system properties --> <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>fs.checkpoint.dir</name> <value>/usr/hadoop_dir/dfs/namesecondary</value> </property> </configuration>
5、修改hdfs-site.xml
<configuration> <property> <name>dfs.replcation</name> <value>1</value> </property> </configuration>
这里面的value值,当服务器的数量大于三个的时候,建议配置成2以上,本例为了演示写成1,其实这个配置文件就是为了说明备份的数量。
6、修改mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property> </configuration>
7、修改hadoop-env.sh
在该文件中添加JAVA_HOME保存退出。如下所示,这个步骤必须要进行。
8、修改slaves文件
如果希望将namenode也作为datanode,那就写上三个。
9、格式化文件系统
./hadoop namenode -format
10、启动hadoop
使用./start-all.sh启动
如果在启动的时候报错,则要到logs目录中查看相应的日志。
仔细看图,要观察每一个节点是否显示出来,如果没有显示说明该节点存在问题。
11、成功后显示如下界面:
三、搭建hbase环境
1、修改hbase-site.xml配置文件
<configuration> <property> <name>hbase.master</name> <value>master:60010</value> </property> <property> <name>dfs.support.append</name> <value>true</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> </property> </configuration>
hbase.cluster.distributed:这个属性是用来判断hbase是否是集群,这个需要注意,这里选择为true。
由于在本例中没有单独安装Zookeeper使用hbase默认的,所以在另外二台服务器中该配置文件中多几个属性。如下所示:
<property> <name>hbase.zookeeper.quorum</name> <value>master</value> </property>2、修改regionservers
master slave1 slave2
3、修改hbase-env.sh
添加JAVA_HOME。
4、启动hbase集群。
5、启动成功界面如下: