这样的HBASE你知道吗

将下载好的Hbase上传到Centos。

2. 解压

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

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

3. 重命名

mv hbase-0.99.2 hbase
  • 1

4. 修改环境变量

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

vi/etc/profile
  • 1

添加内容:

export HBASE_HOME=/home/hadoop/hbase
export PATH=$PATH:$HBASE_HOME/bin
  • 1
  • 2

执行命令:

source /etc/profile
  • 1

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

<configuration>
<property>
<name>hbase.master</name>
<value>ha1:60000</value>
</property>
<property>
<name>hbase.master.maxclockskew</name> 
<value>180000</value>
</property>
<property>
<!--对应的bi是一个逻辑地址  -->
<name>hbase.rootdir</name>
<value>hdfs://bi/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name> 
<value>true</value>
</property>
<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

Regionservers添加如下内容

//是从机器的域名
ha1
ha2
ha3
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2

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
  • 1
  • 2
  • 3

8. 启动

start-hbase.sh
  • 1

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

原因 
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/

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

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

1. 上传

将下载好的Hbase上传到Centos。

2. 解压

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

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

3. 重命名

有需要的联系我yxxy1717    2317384986

mv hbase-0.99.2 hbase
  • 1

4. 修改环境变量

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

vi/etc/profile
  • 1

添加内容:

export HBASE_HOME=/home/hadoop/hbase
export PATH=$PATH:$HBASE_HOME/bin
  • 1
  • 2

执行命令:

source /etc/profile
  • 1

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

<configuration>
<property>
<name>hbase.master</name>
<value>ha1:60000</value>
</property>
<property>
<name>hbase.master.maxclockskew</name> 
<value>180000</value>
</property>
<property>
<!--对应的bi是一个逻辑地址  -->
<name>hbase.rootdir</name>
<value>hdfs://bi/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name> 
<value>true</value>
</property>
<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

Regionservers添加如下内容

//是从机器的域名
ha1
ha2
ha3
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2

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
  • 1
  • 2
  • 3

8. 启动

start-hbase.sh
  • 1

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

原因 
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_42851004/article/details/81979872