Hbase和Phoenix安装和配置
Hbase安装和配置
1. Hbase安装包下载
2. 安装
将下载好的Hbase安装包上传到服务器指定目录(无限制,根据实际情况来)并解压。
$ tar xzvf hbase-<version>-bin.tar.gz
$ cd hbase-<version>/


3. 配置JAVA_HOME环境变量
在hbase安装目录下找到conf/hbase-env.sh文件,取消文件里JAVA_HOME那一行的注释并修改为本机jdk实际路径。

4. (可选)配置 hbase.tmp.dir 属性
打开conf/hbase-site.xml文件并在<configuration>标签之间增加一个<property>标签。

**注意:**HBase 会自动在安装目录创建tmp目录,tmp存放的是Hbase和ZooKeeper实例运行时写入的数据,实际情况下应该分别对
hbase.rootdir等属性进行配置而不是配置hbase.tmp.dir,这里只是做测试所以按最简单的来。
5. 启动Hbase
在Hbase安装目录执行./bin/start-hbase.sh命令启动Hbase。

单机模式下,Hbase启动成功后会产生一个HMaster和ZooKeeper后台进程,浏览器访问http://localhost:16010可以浏览Hbase的监控页面。

启动成功后在Hbase安装目录执行./bin/hbase shell可以进入Hbase命令行界面。

Phoenix安装和配置
1. Hbase安装包下载
2. 安装
将下载好的Phoenix安装包上传到服务器指定目录(无限制,根据实际情况来)并解压。
$ tar xzvf phoenix-<version>-bin.tar.gz
$ cd phoenix-<version>/

3. 配置
将Phoenix安装目录下的phoenix-[version]-server.jar复制到Hbase的lib目录下,并重启Hbase。


4. 运行
在Phoenix安装目录执行./bin/sqlline.py 127.0.0.1:2181连接到Hbase,连接成功后执行!tables命令可以看到自动创建的几张系统表。

**注意:**第一次连接的时候可能比较慢,因为会去创建几张系统表,如上图。
外网或者内网其他主机连接Phoenix(重点!!!)
在完成上面的步骤之后,通过外网ip或者内网其他主机去连接Phoenix发现无法连接。下面先介绍按照正常步骤去连接Phoenix,在介绍如何填这个坑。
1. 下载安装Phoenix可视化工具SQuirrel
2. 配置SQuirrel
先新建一个驱动命名为Phoenix,在附加类路径里增加Phoenix的驱动包,驱动包从Phoenix安装目录下复制phoenix-[version]-client.jar

驱动创建成功后,新建别名,选择创建好的Phoenix驱动并填写好url,发现连接不上。


3. 问题解决
在排除端口未开放(telnet ip 2181)和驱动包的问题后,查找资料找了一天也没解决,最后在官方文档上才发现是hostname导致的,
DNS
HBase uses the local hostname to self-report its IP address.
HBase使用本地 hostname 才获得IP地址,正反向的DNS都是可以的。如果你的机器有多个接口,HBase会使用hostname指向的主接口。因此我们需要查询服务的hostname或修改服务器hostname,然后在客户端所在系统的hosts文件新增一条记录。
首先在服务器上执行hostname master命令。
**注意:**要先停掉Hbase服务再修改hostname,如果先修改hostname再停止Hbase服务的话会发现Hbase无法停止。而且以这种方式设置hostname,服务器重启后会失效。hostname的修改不是必须的,只要可以找到服务器的hostname就行(在服务器执行
hostname或在Hbase web UI上查看都能得到服务器的hostname)。

然后修改客户端系统hosts文件,比如客户端是win10系统的话,在C:\Windows\System32\drivers\etc>下的hosts文件增加一行。

服务端和客户端都修改完成后再尝试连接Phoenix,发现连接成功。

本文详细介绍了HBase和Phoenix的安装与配置过程,包括下载安装包、配置环境变量、启动服务及通过SQuirrel工具实现外网或内网连接Phoenix的方法。特别强调了正确设置hostname的重要性。
538

被折叠的 条评论
为什么被折叠?



