Hadoop2.6+Hbase1.0集群搭建
HBase安装
http://hbase.apache.org/
HBase的安装也有三种模式:单机模式、伪分布模式和完全分布式模式,在这里只介绍完全分布模式。前提是Hadoop集群和Zookeeper已经安装完毕,并能正确运行。
第一步:下载安装包,解压到合适位置,并将权限分配给hadoop用户(运行hadoop的账户)
这里下载的是hbase-0.94.6,Hadoop集群使用的是1.0.4,将其解压到/usr/local下并重命名为hbase
sudo cp hbase-0.94.6.tar.gz /usr/local
sudo tar -zxf hbase-0.94.6.tar.gz
sudo mv hbase-0.94.6 hbase
sudo chown -R hadoop:hadoop hbase
第二步:配置相关的文件
(1)配置hbase-env.sh,该文件在/usr/local/hbase/conf
设置以下值:
export JAVA_HOME=/usr/local/java/jdk1.6.0_27 #Java安装路径
export HBASE_CLASSPATH=/usr/local/hadoop/conf #HBase类路径
export HBASE_MANAGES_ZK=true #由HBase负责启动和关闭Zookeeper
(2)配置hbase-site.xml,该文件位于/usr/local/hbase/conf
<property>
<name>hbase.master</name>
<value>master:6000</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/${user.name}/tmp/zookeeper</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
其中,hbase.master是指定运行HMaster的服务器及端口号;
hbase.master.maxclockskew是用来防止HBase节点之间时间不一致造成regionserver启动失败,默认值是30000;
hbase.rootdir指定HBase的存储目录;
hbase.cluster.distributed设置集群处于分布式模式;
hbase.zookeeper.quorum设置Zookeeper节点的主机名,它的值个数必须是奇数;
hbase.zookeeper.property.dataDir设置Zookeeper的目录,默认为/tmp,dfs.replication设置数据备份数,集群节点小于3时需要修改,本次试验是一个节点,所以修改为1。
(3)配置regionservers,该文件位于/usr/local/hbase/conf
设置所运行HBase的机器,此文件配置和hadoop中的slaves类似,一行指定一台机器,本次试验仅用一台机器,设置master即可。
(4)设置HBase环境变量,文件位于/etc/profile
在文件末尾添加:
#hbase Env
export HBASE_HOME=/usr/local/hbase
export PATH=$PATH:$HBASE_HOME/bin
使之生效:source /etc/profile
第三步:运行测试
启动hadoop后,在终端输入$HBASE_HOME/bin/start-hbase.sh,查看运行的进程:
关闭:stop-hbase.sh
参考1:
Hbase完全分布式集群安装配置(Hbase1.0.0,Hadoop2.6.0)
http://blog.csdn.net/wuwenxiang91322/article/details/44684655
1.安装软件
OS:centos6.5
Hadoop:hadoop2.6.0
Hbase:hbase.1.0.0
JDK: jdk1.7.0_51
集群机器:
192.168.153.130(hadoop01 namenode)
192.168.153.131 (hadoop02 datanode)
192.168.153.132 (hadoop03 datanode)
2.安装步骤
如下安装步骤假设的JDK已经安装,如果未安装请自行查找JDK安装教程。
2.1 安装hadoop
(1)下载hadoop版本(hadoop2.6.0),下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/common/ 在此路径下选择相应的版本下载。
(2)解压hadoop-2.6.0.tar.gz
tar zxvf hadoop-2.6.0.tar.gz -C /usr/local/soft/
将hadoop解压到/usr/local/soft/ 目录下。
(3)将hadoop添加到环境变量中
vim ~/.bashrc 打开.bashrc文件添加HADOOP_HOME
exportJAVA_HOME=/usr/local/soft/jdk1.7.0_79
export PATH=$HADOOP_HOME/bin:$PATH
(4)修改配置文件($HADOOP_HOME/etc/hadoop目录下)
配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.8.101:8020</value>
<final>true</final>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/data/tmp</value>
</property>
</configuration>
配置hdfs-site.xml:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/data/datanode</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
配置mapred-site.xml文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>
<property>
<name>mapreduce.cluster.temp.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/data/mr_temp</value>
</property>
</configuration>
配置yarn-site.xml文件
<configuration>
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/data/yarn_log</value>
</property>
</configuration>
修改slaves文件,添加datanode节点hostname到slaves文件中
hadoop01
hadoop02
hadoop03
(5)格式化集群,在hadoop01节点上执行如下命令:
hadoop namenode -format
(6)启动集群,在hadoop01节点上执行如下命令:
start-all.sh
(7) 通过浏览器查看hadoop是否安装成功:
输入: http://hadoop01:50070
输入:http://hadoop01:8088/
2.2 安装Hbase
(1)下载hbase版本
下载地址:http://www.apache.org/dyn/closer.cgi/hbase/,在此路径下选择相应的版本下载,本次安装下载hadoop1.0.0版本
(2)解压hbase-1.0.0-bin.tar.gz
tar zxvf hbase-1.0.0-bin.tar.gz –C /usr/local/soft/
(3)将hbase添加到环境变量中
export HBASE_HOME=:/usr/local/soft/hbase-1.0.0
export PATH=$HBASE_HOME/bin:$PATH
(4)修改配置文件
修改hbase-env.sh
exportJAVA_HOME=/home/hadoop001/thirdparty/jdk1.7.0_51
修改hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://hadoop01:8020/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.quorum</name>
<value>hadoop01,hadoop02,hadoop03</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/soft/hadoop/zookeeper</value>
</property>
<property>
<name>hbase.master.maxclockskew</name>
<value>180000</value>
</property>
</configuration>
备注:
在上面的配置文件中,第一个属性指定本机的hbase的存储目录;
第二个属性指定hbase的运行模式,true代表全分布模式;第三和第四个属性是关于Zookeeper集群的配置。我的Zookeeper安装在hadoop01,hadoop02和hadoop03上。
修改regionservers,在regionservers文件中添加如下内容:
hadoop02
hadoop03
复制到其他两个节点
scp -r hadoop01 \hadoop02:/usr/local/soft
scp -r hadoop01 \hadoop03:/usr/local/soft
(5)启动hbase
启动hbase时要确保hdfs已经启动。在主节点上执行:
start-hbase.sh $HBASE_HOME/bin/start-hbase.sh
启动成功后集群会多出如下进程:
NameNode节点:
图片省略...
Datanode节点:
图片省略...
通过浏览器查看:
输入:http://hadoop01:16010
图片省略...
2.3 Hbase shell测试
(1)执行$HBASE_HOME/bin/hbase shell 命令:
(2)创建testtable表
create 'testtable:colfaml'
(3)put数据
hbase shell是基于Ruby实现的,因此使用过程中可以将hbase shell与Ruby代码混合使用,此示例参考《HBase权威指南》p-66页shell介绍。
for i in 'a'..'z' do for j in 'a'..'z' do \
put 'testtable' , "row-#{i}#{j}","colfaml:#{j}" ,"#{j}" end end(4)查看插入数据
scan 'testtable'
部分结果截图:
图片省略...
3.常用参数(待续)
4.备注
目前安装所有配置都是最简配置,并没有考虑参数优化,此教程的目的是让Hbase先跑起来,优化后期继续做。
bug:
1、没有HRegionServer、HMaster
2、centos-zookeeper-01的hbase服务启动不起来