下载地址:http://archive.apache.org/dist/hbase/1.3.1/
解压Hbase的安装包,修改conf/hbase-env.sh文件,如下:
export JAVA_HOME=/opt/java/jdk1.8.0_191
export HBASE_CLASSPATH=/usr/local/hadoop
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_MANAGES_ZK=true
(1)说明HBASE_CLASSPATH配置到能找到hadoop目录下,能找到hadoop
再修改conf/hbase-site.xml文件,如下:
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<!-- Hbase的web UI端口 -->
<property>
<name>hbase.master.info.port</name>
<value>8171</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>此参数指定了Hlog和Hfile的副本个数,此参数的设置不能大于HDFS的节点数。伪分布式下DataNode只有一台,因此此参数应设置为1
</description>
</property> </configuration>
启动Hbase:
./bin/start-hbase.sh
这里说下停止使用./bin/stop-hbase.sh
在HDFS上查看Hbase文件,如下则创建成功
>> hadoop fs -ls /hbase
drwxr-xr-x - root supergroup 0 2017-11-13 15:41 /hbase/.tmp drwxr-xr-x - root supergroup 0 2017-11-13 15:41 /hbase/MasterProcWALs drwxr-xr-x - root supergroup 0 2017-11-13 15:42 /hbase/WALs drwxr-xr-x - root supergroup 0 2017-11-13 15:56 /hbase/archive drwxr-xr-x - root supergroup 0 2017-11-13 15:22 /hbase/data -rw-r--r-- 3 root supergroup 42 2017-11-13 15:22 /hbase/hbase.id -rw-r--r-- 3 root supergroup 7 2017-11-13 15:22 /hbase/hbase.version drwxr-xr-x - root supergroup 0 2017-11-13 16:30 /hbase/oldWALs
控制台输入jps命令,查看进程
27137 HRegionServer
15782 NodeManager
22139 DataNode
22683 SecondaryNameNode
26844 HQuorumPeer
21842 NameNode
25072 -- process information unavailable
27607 Jps
15380 ResourceManager
26959 HMaster
若输出以上的信息,则说明Hadoop和Hbase都创建成功。
1、第一个坑:HRegionServer启动不起来。问题是没有将hadoop的配置文件放入到hbaseconf下面,把hadoop配置文件 core-site.xml, hdfs-site.xml放到hbase的conf目录下。
2、第二个坑:HMaster启动不来,是在装hadoop时候,
(1)修改配置文件 vim /etc/hosts 应该将master配置为阿里云的内网ip地址 ,localhost配置为127.0.0.1。
(2)hadoop配置文件/usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>
按照上面的配置,而不是网上说的hdfs://localhost:9000,被坑的无语了。
(3)修改hbase-site.xml,也将localhost变成master
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
完成
3、HMaster启动一下马上又退出去,问题是hbase-site.xml配置文件问题
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<!-- Hbase的web UI端口 -->
<property>
<name>hbase.master.info.port</name>
<value>8171</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>此参数指定了Hlog和Hfile的副本个数,此参数的设置不能大于HDFS的节点数。伪分布式下DataNode只有一台,因此此参数应设置为1
</description>
</property>
将hdfs://master:9000后面加上hbase文件夹即可
搞定!!!