HBASE 安装
一、安装指南
二、常见问题
一、安装指南
Hadoop+Hbase安装配置实录
2010-10-12 22:53
生产环境:
3台机
器:master(192.168.0.61),slave1(192.168.0.62),slave2(192.168.0.63) 注意:hostname设置为master/slave1/slave2
操作系统:rhel5.4 x86_64
master做为namenonde,将slave1和slave2做为datanode
1.在master:(在slave1和slave2上操作和以下相同)
vi /etc/hosts
192.168.0.61 master
192.168.0.62 slave1
192.168.0.63 slave2
2.用root操作
3.免密码登录
#ssh-keygen -t rsa #建立ssh目录,敲回车到底 ,这一步需要先在每台机器上执行。
在master上
#scp ~/.ssh/id_rsa.pub root@slave1:/root/.ssh/id_rsa.pub_m将master 上的密钥传到slave1的/home/hadoop下
在slave1上
#cat /root/.ssh/id_rsa.pub_m >> ~/.ssh/authorized_keys
#chmod 644 ~/.ssh/authorized_keys
反复操作第3步,完成master<-->slave1 master<-->slave2的免密码登录
这样主节点和从节点之间就可以不用密码直接ssh访问,另外,在启动hadoop 时需要master ssh master,
因此,在master的~/.ssh下,也执行下cat id_rsa.pub >> authorized_keys 即可。
4.安装JDK到/usr/local下命名为jdk6
然后:
编辑三台机器的/etc/profile,增加如下内容
export JAVA_HOME=/usr/local/jdk6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/libpdf转html
export HADOOP_HOME=/hadoop/hadoop
export HBASE_HOME=/hadoop/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin
#vi /root/.bashrc
增加
export HADOOP_CONF_DIR=/hadoop/hadoop-config
export HBASE_CONF_DIR=/hadoop/hbase-config
5、防火墙
各机器加入iptables策略:
#iptables -I INPUT -s 192.168.0.0/255.255.255.0 -j ACCPET
#service iptables save
-----------------------------------------
hadoop配置:
1.下载安装
#cd /hadoop
#wget
/apache-mirror//hadoop/core/hadoop-0.20.2/hadoo p-0.20.
#tar -zxvf hadoop-0.20.
#ln -s hadoop-0.20.2 hadoop
由于上述目录中hadoop的配置文件和hadoop的安装目录是放在一起的,这样一旦日后升级hadoop版本的时候所有的配置文件都会被覆盖,因此将配置文件与安装目录分离,一
种比较好的方法就是建立一个存放配置文件的目录,/hadoop/hadoop-config/,然后将 /hadoop/hadoop/conf/目录中的
#mkdir /hadoop/hadoop-config
#cd /hadoop/hadoop/conf/
#l slaves hadoop-env.sh l
2.修改6个文件
masters:
master
slaves:
slave1
slave2
#切忌不要创建:/hadoop/hadoop/tmp
hadoop-env.sh:
export JAVA_HOME=/usr/local/jdk6
export HADOOP_PID_DIR=/hadoop/hadoop/tmp
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:54310</value>
</property>
</configuration>
#切忌不要创建:/hadoop/hadoop/name
#mkdir /hadoop/hadoop/data
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/hadoop/hadoop/name/</value> #hadoop的name目录路径
</property>
<property>
<name>dfs.data.dir</name>
<value>/hadoop/hadoop/data/</value> #hadoop的data目录路径
</property>
<property>
<name&plication</name>
<value>3</value> #指定 HDFS 中每个 Block 被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3
</property>
</configuration>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>acker</name>
<value>hdfs://master:54311/</value>
</property>
</configuration>
3、格式化namenode
#cd /hadoop/hadoop/bin
#./hadoop namenode -format
#cd /hadoop
#scp -r ./* root@slave1:/hadoop/
#scp -r ./* root@slave2:/hadoop/
到slave1和slave2上,分别重做软链接
#cd /hadoop
#rm -rf hadoop
#ln -s hadoop-0.20.2 hadoop
4、启动所有hadoop守护进程
# ./start-all.sh
说明:
在bin/下面有很多启动脚本,可以根据自己的需要来启动。
* start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack
* stop-all.sh 停止所有的Hadoop
* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack * stop-mapred.sh 停止Map/Reduce守护
* start-dfs.sh 启动Hadoop DFS守护.Namenode和Datanode
* stop-dfs.sh 停止DFS守护
[root@master bin]# jps
6813 NameNode
7278 Jps
7164 JobTracker
7047 SecondaryNameNode
出现4个这样的进程,且datanode没有error,同时访问ui正常才算成功。ui:masterip:50070 --web UI for HDFS name node(s)
masterip:50030 --web UI for MapReduce job tracker(s)
slaveip:50060 --web UI for task tracker(s)
5、hdfs简单测试
#cd /hadoop/hadoop/bin
#./hadoop dfs -mkdir testdir
#./hadoop dfs -put /root/install.log testdir/install.log-dfs
将/root/install.log 存储到hdfs中的testdir中,重命名为install.log-dfs #./hadoop dfs -ls
#./hadoop dfs -ls testdir
----------------------------------
1、hbase安装部署
#cd /hadoop
#wget ak//hbase/hbase-0.20.6/hbase-0.20. #tar -zxvf hbase-0.20.
#ln -s hbase-0.20.6 hbase
#mkdir hbase-config
#cd /hadoop/hbase/conf/
#cp hbase-env.l regionservers /hadoop/hbase-config/
2、配置文件修改
#mkdir /hadoop/hbase/tmp
#vim /hadoop/hbase-config/hbase-env.sh
增加
export JAVA_HOME=/usr/local/jdk6
export HBASE_MANAGES_ZK=true
export HBASE_PID_DIR=/hadoop/hbase/tmp
#l
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name&dir</name>
<value>hdfs://master:54310/hbase</value> 注意主机名和端口号要与hadoop的dfs name的对应
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name&keeper.quorum</name>
发布评论