HBase安装笔记
经过几天的研究,终于把最新版的hbase和hadoop安装起来了,中间遇到了各种各样的问题啊,记录下来以免其它人走弯路。有时间的时候,再把遇到的各种问题总结一下。
1. 从官网下载Hbase(0.96.0)和Hadoop(2.2.0), 因为服务器是64bit的,所以只能下载hadoop2.2.0的源码,自己编译。
1.1 如果要编译本地库,需要安装一下软件:
yum -y install lzo-devel zlib-devel gcc autoconf automake libtool cmake openssl-devel
1.2 安装Maven
tar zxvf apache-maven-3.1.1-bin.tar.gz
vi /etc/profile
增加两行:
export MAVEN_HOME=[maven home path]
export PATH=${MAVEN_HOME}/bin:$PATH
1.3 安装ProtocolBuffer
tar zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
sudo ./configure
sudo make
sudo make check
sudo make install
protoc --version
1.4 编译hadoop2.2.0
mvn clean package -Pdist,native -DskipTests -Dtar
编译成功后,./hadoop-dist/target/hadoop-2.2.0.tar.gz就是我们需要的文件了
2. 分配机器:
2.1 修改/etc/hosts文件
10.161.160.10 cloud001
10.161.160.11 cloud002
10.161.160.12 cloud003
2.2 分配hdfs的机器:
cloud001:namenode
cloud002:datanode
cloud003:datanode
2.3 分配hbase的机器:
cloud001:master
cloud002:regionserver
cloud003:regionserver
3. 设置ssh无需密码连接
3.1 在cloud001机器上运行ssh-keygen -t rsa命令,一路按回车结束后,会在~/.ssh下生成id_rsa.pub的文件
3.2 cp id_rsa.pub authorized_keys
3.3 ssh localhost 就能不需要密码直接连接自己了。
3.4 将zuthorized_keys文件拷贝到cloud002,cloud003机器的~/.ssh目录下
scp zuthorized_keys cloud002:/root/.ssh
4. 安装分布式hdfs
4.1 将编译好的hadoop-2.2.0.tar.gz文件拷贝到cloud002,cloud003上。注意:hadoop的路径要一致
4.2 解压:tar zxvf hadoop-2.2.0.tar.gz,配置文件路径./hadoop-2.2.0/etc/hadoop/
4.3 修改hadoop-env.sh文件中的export JAVA_HOME,将它改为JAVA_HOME的路径。所有机器上的jdk路径需要一致
4.4 修改core-site.xml文件
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://cloud001:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/hadoop/tmp</value>
</property>
</configuration>
4.5 修改hdfs-site.xml文件
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
注意:dfs.replication的数量必须小于或等于datanode的数量
4.6 修改slaves文件,设置datanode
cloud002
cloud003
4.7 格式化namenode,命令:hdfs namenode -format
4.8 启动hdfs,命令:./start-dfs.sh
4.9 产看hdfs状态,命令:hdfs dfsadmin -report
注意:一定要关闭防火墙,命令service iptables stop
5. 安装分布式hbase(使用hbase内置的zookeeper)
5.1 解压:tar zxvf hbase-0.96.0-hadoop2-bin.tar.gz
5.2 修改./conf/hbase-env.sh文件
export JAVA_HOME=your_java_home
export HBASE_MANAGES_ZK=true
5.3 修改./conf/hbase-site.xml文件
<configuration>
<property>
<name>hbase.master</name>
<value>cloud001:60000</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://cloud001:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>cloud001</value>
</property>
</configuration>
5.4 在hdfs上创建一个hbase的文件夹。hadoop fs -mkdir /hbase
5.5 修改./conf/regionservers文件,增加regionserver
cloud002
cloud003
5.6 将HBASE_DIR/lib下所有以hadoop开头的jar文件全部替换成2.2.0版本
5.7 启动hbase.