HBase装配笔记
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.
hadoop-annotations-2.2.0.jar
hadoop-auth-2.2.0.jar
hadoop-client-2.2.0.jar
hadoop-common-2.2.0.jar
hadoop-hdfs-2.2.0.jar
hadoop-hdfs-2.2.0-tests.jar
hadoop-mapreduce-client-app-2.2.0.jar
hadoop-mapreduce-client-common-2.2.0.jar
hadoop-mapreduce-client-core-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0-tests.jar
hadoop-mapreduce-client-shuffle-2.2.0.jar
hadoop-yarn-api-2.2.0.jar
hadoop-yarn-client-2.2.0.jar
hadoop-yarn-common-2.2.0.jar
hadoop-yarn-server-common-2.2.0.jar
hadoop-yarn-server-nodemanager-2.2.0.jar
这是所有的jar包,在hadoop-2.2.0的工程下都能够找到。
hadoop-annotations-2.2.0.jar
hadoop-auth-2.2.0.jar
hadoop-client-2.2.0.jar
hadoop-common-2.2.0.jar
hadoop-hdfs-2.2.0.jar
hadoop-hdfs-2.2.0-tests.jar
hadoop-mapreduce-client-app-2.2.0.jar
hadoop-mapreduce-client-common-2.2.0.jar
hadoop-mapreduce-client-core-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0-tests.jar
hadoop-mapreduce-client-shuffle-2.2.0.jar
hadoop-yarn-api-2.2.0.jar
hadoop-yarn-client-2.2.0.jar
hadoop-yarn-common-2.2.0.jar
hadoop-yarn-server-common-2.2.0.jar
hadoop-yarn-server-nodemanager-2.2.0.jar
这是所有的jar包,在hadoop-2.2.0的工程下都能够找到。
hadoop-client-2.2.0.jar这个包在哪个目录?
hadoop-annotations-2.2.0.jar
hadoop-auth-2.2.0.jar
hadoop-client-2.2.0.jar
hadoop-common-2.2.0.jar
hadoop-hdfs-2.2.0.jar
hadoop-hdfs-2.2.0-tests.jar
hadoop-mapreduce-client-app-2.2.0.jar
hadoop-mapreduce-client-common-2.2.0.jar
hadoop-mapreduce-client-core-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0-tests.jar
hadoop-mapreduce-client-shuffle-2.2.0.jar
hadoop-yarn-api-2.2.0.jar
hadoop-yarn-client-2.2.0.jar
hadoop-yarn-common-2.2.0.jar
hadoop-yarn-server-common-2.2.0.jar
hadoop-yarn-server-nodemanager-2.2.0.jar
这是所有的jar包,在hadoop-2.2.0的工程下都能够找到。
您好,我也遇到了jar包冲突,貌似,我用的hdoop2.2.0+hbase0.94. 同样在hadoop下找不到hadoop-client-2.2.0.jar包,但hbase下的hadoop-core-1.0.4.jar这个jar包也没有对应的(habse好像只有这么一个hadoop开头的jar包)jar包可供替换。我要怎么做呢?
hadoop-annotations-2.2.0.jar
hadoop-auth-2.2.0.jar
hadoop-client-2.2.0.jar
hadoop-common-2.2.0.jar
hadoop-hdfs-2.2.0.jar
hadoop-hdfs-2.2.0-tests.jar
hadoop-mapreduce-client-app-2.2.0.jar
hadoop-mapreduce-client-common-2.2.0.jar
hadoop-mapreduce-client-core-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0-tests.jar
hadoop-mapreduce-client-shuffle-2.2.0.jar
hadoop-yarn-api-2.2.0.jar
hadoop-yarn-client-2.2.0.jar
hadoop-yarn-common-2.2.0.jar
hadoop-yarn-server-common-2.2.0.jar
hadoop-yarn-server-nodemanager-2.2.0.jar
这是所有的jar包,在hadoop-2.2.0的工程下都能够找到。
hadoop-client-2.2.0.jar这个包在哪个目录?
hadoop-annotations-2.2.0.jar
hadoop-auth-2.2.0.jar
hadoop-client-2.2.0.jar
hadoop-common-2.2.0.jar
hadoop-hdfs-2.2.0.jar
hadoop-hdfs-2.2.0-tests.jar
hadoop-mapreduce-client-app-2.2.0.jar
hadoop-mapreduce-client-common-2.2.0.jar
hadoop-mapreduce-client-core-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0-tests.jar
hadoop-mapreduce-client-shuffle-2.2.0.jar
hadoop-yarn-api-2.2.0.jar
hadoop-yarn-client-2.2.0.jar
hadoop-yarn-common-2.2.0.jar
hadoop-yarn-server-common-2.2.0.jar
hadoop-yarn-server-nodemanager-2.2.0.jar
这是所有的jar包,在hadoop-2.2.0的工程下都能够找到。
您好,我也遇到了jar包冲突,貌似,我用的hdoop2.2.0+hbase0.94. 同样在hadoop下找不到hadoop-client-2.2.0.jar包,但hbase下的hadoop-core-1.0.4.jar这个jar包也没有对应的(habse好像只有这么一个hadoop开头的jar包)jar包可供替换。我要怎么做呢?
hadoop-2.2.0版本不支持hbase-0.94.x的版本。
http://hbase.apache.org/book/configuration.html#basic.prerequisites
这个所我用hadoop2.2.0+hbase0.94时报的错!!!后面官网看了看,说hbase9.96支持更好,换了0.96还是一样!官网上好像也有说jar包替换。但是我找不到对应hadoop-core-1.0.4.jar的jar包呀。。。???
这个所我用hadoop2.2.0+hbase0.94时报的错!!!后面官网看了看,说hbase9.96支持更好,换了0.96还是一样!官网上好像也有说jar包替换。但是我找不到对应hadoop-core-1.0.4.jar的jar包呀。。。???
hadoop-client-2.2.0.jar这个jar包是用源码编译出来的。如果你的hadoop是自己用源码编译出来的话,hadoop-2.2.0-src/hadoop-client/target这个目录下就有。
hadoop-annotations-2.2.0.jar
hadoop-auth-2.2.0.jar
hadoop-client-2.2.0.jar
hadoop-common-2.2.0.jar
hadoop-hdfs-2.2.0.jar
hadoop-hdfs-2.2.0-tests.jar
hadoop-mapreduce-client-app-2.2.0.jar
hadoop-mapreduce-client-common-2.2.0.jar
hadoop-mapreduce-client-core-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0.jar
hadoop-mapreduce-client-jobclient-2.2.0-tests.jar
hadoop-mapreduce-client-shuffle-2.2.0.jar
hadoop-yarn-api-2.2.0.jar
hadoop-yarn-client-2.2.0.jar
hadoop-yarn-common-2.2.0.jar
hadoop-yarn-server-common-2.2.0.jar
hadoop-yarn-server-nodemanager-2.2.0.jar
这是所有的jar包,在hadoop-2.2.0的工程下都能够找到。
hadoop-client-2.2.0.jar这个包在哪个目录?