hbase集群的装配笔记

hbase集群的安装笔记

版本:hadoop0.20.2 hbase0.90.1


4台机器,系统都为RHEL5.5:
master:192.168.1.10
slave1:192.168.1.11
slave3:192.168.1.13
slave4:192.168.1.14

1.每台机器中的/etc/hosts如下所示:

192.168.1.10 master master
192.168.1.11 slave1 slave1
192.168.1.13 slave3 slave3
192.168.1.14 slave4 slave4
 

2.以root用户登录,创建hadoop用户

#useradd hadoop

#passwd hadoop


3.实现master和slave之间的ssh无密码登录

#su - hadoop 进入hadoop用户目录

#ssh-keygen -t rsa

#cd .ssh

#cp id_rsa.pub authorized_keys

# cat id_rsa.pub | ssh [/size]hadoop@slave1"cat ->> /home/hadoop/.ssh/authorized_keys"

 

一,安装jdk

安装jdk到/usr/local/java,执行getconf LONG_BIT查看系统是64位还是32位的

 其中rhel自带了jdk1.4,得卸载掉。

 # rpm -qa|grep gcj


 # rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
(1)#mkdir /usr/local/java
(2)#cd /usr/local/java
#chmod a+x jdk-6u21-linux-x64.bin
使当前用户拥有对jdk-6u21-linux-x64.bin的执行权限;
(3)执行安装
#./jdk-6u21-linux-x64.bin

(4)配置jdk环境

#vi /etc/profile

在最后面加入:

export JAVA_HOME=/usr/local/java/jdk1.6
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/
lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin


设置好jdk后, 执行source /etc/profile使环境变量生效

(5)执行java -version查看jdk是否安装成功

 

二,安装hadoop

# tar zxvf hadoop-0.20.2.tar.gz 到/opt/hadoop中

修改masters,slaves,hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml五个文件

masters:

master

 
slaves:

slave1
slave3
slave4

 

hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.6


core-site.xml:
 
<configuration>
 
<property>

   <name>fs.default.name</name>

   <value>hdfs://master:9000</value>

</property>

</configuration>

 
hdfs-site.xml:

 

dfs.replication为副本数,默认值为3[/size]。


dfs.data.dir[/size]为datanode存储数据的根目录,默认值为${hadoop.tmp.dir}/dfs/data。
 

 <configuration>

<property>

   <name>dfs.replication</name>

   <value>3</value>

</property>

<property>

    <name>hadoop.tmp.dir</name>

    <value>/opt/hadoop/tmp/</value>

</property>


<property>

  <name>dfs.name.dir</name>

  <value>/opt/hadoop/name/</value>
</property>

<property>

   <name>mapred.child.java.opts</name>
   <value>-Xmx512m</value> 

</property>

<property>

  <name>dfs.block.size</name>

  <value>67108864</value>

</property>                   

<property>  
        <name>dfs.permissions</name>  
        <value>false</value>            
</property>  
 
<property>  
        <name>dfs.web.ugi</name>  
        <value>hadoop,supergroup</value>   
</property>

<property>
        <name>heartbeat.recheck.interval</name>
        <value>5000</value>    #心跳间隔时间5000=40分
</property>

</configuration>

 

mapred-site.xml:


<configuration>
 
 <property>

   <name>mapred.job.tracker</name>

   <value>hdfs://master:9001</value>

</property>

</configuration>
 

在slave1,slave3,slave4上的core-site.xml文只需要做如下的修改:
去掉

<property>

  <name>dfs.name.dir</name>

  <value>/opt/hadoop/name/</value> #hadoop的name目录路径
</property>

增加一句
<property>

  <name>dfs.data.dir</name>

  <value>/opt/hadoop/data/</value> #hadoop的data目录路径
</property>

 

修改完成之后,通过scp命令将hadoop文件夹发送到其他节点上(slave1,slave3,slave4)

 scp -r /opt/hadoop hadoop@slave1:/opt

 

 #vi /etc/profile 配置hadoop环境变量
export $HADOOP_HOME=/search/hadoop/hadoop

export PATH=$HADOOP_HOME/bin:$PATH


#source /etc/profile

 

三,安装hbase

将hadoop的hadoop-0.20.2-core.jar文复制到hbase的lib目录下,删除原来的hadoop-core-0.20-append-r1056497.jar文件


hbase-env.sh:


export JAVA_HOME=/usr/local/java/jdk1.6


export HBASE_MANAGES_ZK=true  #使用自带的zoopkeeper


regionservers:(同hadoop的slaves相同)


slave1
slave3
slave4


hbase-site.xml:


<configuration>

<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.master</name> 

<value>master:60000</value> 

</property>  -->

 <property> 

 <name>hbase.zookeeper.quorum</name> 

 <value>slave1,slave3,slave4</value> 

 </property> 

</configuration>


#vi /etc/profile 配置hbase环境变量

export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin

#source /etc/profile