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