Hbase2.0版本安装教程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16633405/article/details/81908283

目录:

前言:

最近由于工作需要又把HBase重装了一遍,发现还是需要自己总结下安装过程,不然等到再次装的时候,还是会碰到很多坑。由于出了新版本,所以这里自己就找的比较新的版本来玩。
我的环境:Hadoop2.6.4+Centos6.7minimal版本+Hive2.1.1+Hbase2.0

1. 上传

下载地址:http://archive.apache.org/dist/hbase/(大数据相关组件都可以在这里找)
将下载好的Hbase上传到Centos。

2. 解压

(这里就懒得改这个版本名称了。。)

tar –zxvf  hbase-0.99.2-bin.tar.gz

3. 重命名

mv hbase-0.99.2 hbase

4. 修改环境变量

1、 在master机器上执行下面命令:
su – root

vi/etc/profile

添加内容:

export HBASE_HOME=/home/hadoop/hbase
export PATH=$PATH:$HBASE_HOME/bin

执行命令:

source /etc/profile

su – hadoop
2、在其他机器上执行上述操作。

5. 修改配置文件

需要修改/home/hadoop/hbase/conf下的hbase-env.sh,hbase-site.xml,regionservers 三个配置文件。(你也可以直接先把三个文件配置好然后覆盖conf/下的文件)
对于hbase-env.sh添加如下内容

export JAVA_HOME=/root/apps/jdk1.8.0_181   #jdk安装目录
# Extra Java CLASSPATH elements.  Optional.这行代码是错的,需要可以修改为下面的形式。据说设置HBASE_CLASSPATH会在玩Flume的时候报错。所以就直接用下面的JAVA_CLASSPATH代替,效果一样。
#export HBASE_CLASSPATH=/home/hadoop/hbase/conf
export JAVA_CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar   
export HBASE_OPTS="-XX:+UseConcMarkSweepGC"
export HBASE_MANAGES_ZK=false  #如果使用独立安装的zookeeper这个地方就是false

hbase-site.xml中加入如下内容

扫描二维码关注公众号,回复: 2991853 查看本文章
<configuration>
<property>
<name>hbase.master</name>
<value>ha1:60000</value>
</property>
<property>
<name>hbase.master.maxclockskew</name> 
<value>180000</value>
</property>
<property>
<!--对应的bi是一个逻辑地址,这里配置的是HA机制的集群,bi也就算是HDFS的根目录了  -->
<name>hbase.rootdir</name>
<value>hdfs://bi/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name> 
<value>true</value>
</property>
<!--为Hbase提供服务的zk地址,根据需求配置(一般3个节点就能达到高可靠了)  -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>ha1,ha2,ha3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/hbase/tmp/zookeeper</value>
</property>
</configuration>

Regionservers添加如下内容

//是从机器的域名即HregService的节点
ha3

6. 把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下

cp /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml /home/hadoop/hbase/conf
cp /home/hadoop/hadoop/etc/hadoop/core-site.xml /home/hadoop/hbase/conf

7. 发送到其他机器

scp –r /home/hadoop/hbase hadoop@slave1:/home/hadoop
scp –r /home/hadoop/hbase hadoop@slave2:/home/hadoop
scp –r /home/hadoop/hbase hadoop@slave3:/home/hadoop

8. 启动

start-hbase.sh

9. 查看

进程:jps
进入hbase的shell:hbase shell
退出hbase的shell:quit
页面:http://master:60010

总结:

不幸的是在打开Web页面时发现无法打开,查了资料后才知道原来Hbase在1.x版本后将端口号改为16010
还有就是执行hbase shell的时候报错如下:

[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
        at jline.TerminalFactory.create(TerminalFactory.java:101)
        at jline.TerminalFactory.get(TerminalFactory.java:158)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
        at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
        at org.apache.hadoop.hive.cli.CliDriver.getConsoleReader(CliDriver.java:773)
        at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:715)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:212)

原因
hadoop目录/hadoop-2.6.4/share/hadoop/yarn/lib存在老版本jline

解决方案
将hive下的新版本jline的JAR包拷贝到hadoop下:cp /hive/lib/jline-2.12.jar /hadoop/share/hadoop/yarn/lib/

猜你喜欢

转载自blog.csdn.net/qq_16633405/article/details/81908283