最近我由于工作原因,我要搭建一套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、启动成功界面如下: