tar -xvf apache-phoenix-4.14.1-HBase-1.3-bin.tar.gz chown omm:wheel apache-phoenix-4.14.1-HBase-1.3-bin -R su - omm
2. 进入apache-phoenix-4.14.1-HBase-1.3-bin中,在该目录中编辑如下脚本,例 如,脚本名称为“installPhoenixJar.sh”,则需执行命令为:“sh
installPhoenixJar.sh <PHOENIX_HBASE_VERSION> <MRS_VERSION> <IPs>”
(IP为HBase安装节点的IP,即所有Master和Core节点的IP,并以当前集群实际IP
echo "executing command: $*"
str="$@"
if [ ${#str} -eq 7 ]; then
echo "please check input args, such as, sh installPhoenixJar.sh 5.0.0-HBase-2.0 2.0.1 xx.xx.xx.xx,xx.xx.xx.xx,xx.xx.xx.xx"
check_cmd_result [ -n "$PHOENIX_HBASE_VERSION" ] check_cmd_result [ -n "$MRS_VERSION" ]
check_cmd_result [ -n "$IPs" ]
if [ ${MRS_VERSION}X = "1.8.5"X ]; then MRS_VERSION="1.8.3"
fiif [[ ${MRS_VERSION} =~ "1.6" ]]; then WORKDIR="FusionInsight"
elif [[ ${MRS_VERSION} =~ "1.7" ]]; then WORKDIR="MRS"
else WORKDIR="MRS_${MRS_VERSION}/install"
fi
check_cmd_result HBASE_LIBDIR=$(ls -d /opt/Bigdata/${WORKDIR}/FusionInsight-HBase-*/hbase/lib)
# copy jars to local node.
check_cmd_result cp phoenix-${PHOENIX_HBASE_VERSION}-server.jar ${HBASE_LIBDIR}
check_cmd_result cp phoenix-core-${PHOENIX_HBASE_VERSION}.jar ${HBASE_LIBDIR}
check_cmd_result chmod 700 ${HBASE_LIBDIR}/phoenix-${PHOENIX_HBASE_VERSION}-server.jar check_cmd_result chmod 700 ${HBASE_LIBDIR}/phoenix-core-${PHOENIX_HBASE_VERSION}.jar check_cmd_result chown omm:wheel
${HBASE_LIBDIR}/phoenix-${PHOENIX_HBASE_VERSION}-server.jar
check_cmd_result chown omm:wheel ${HBASE_LIBDIR}/phoenix-core-$
{PHOENIX_HBASE_VERSION}.jar if [[ "$MRS_VERSION" =~ "2." ]]; then
check_cmd_result rm -rf ${HBASE_LIBDIR}/htrace-core-3.1.0-incubating.jar check_cmd_result rm -rf /opt/client/HBase/hbase/lib/joda-time-2.1.jar
check_cmd_result ln -s /opt/share/htrace-core-3.1.0-incubating/htrace-core-3.1.0-incubating.jar \
${HBASE_LIBDIR}/htrace-core-3.1.0-incubating.jar
check_cmd_result ln -s /opt/share/joda-time-2.1/joda-time-2.1.jar /opt/client/HBase/hbase/lib/joda-time-2.1.jar
fi
# copy jars to other nodes.
localIp=$(hostname -i)
ipArr=($(echo "$IPs" | sed "s|\,|\ |g")) for ip in ${ipArr[@]}
do if [ "$ip"X = "$localIp"X ]; then echo "skip copying jar to local node."
continue fi
check_cmd_result scp ${HBASE_LIBDIR}/phoenix-${PHOENIX_HBASE_VERSION}-server.jar ${ip}:$
{HBASE_LIBDIR} 2>/dev/null
check_cmd_result scp ${HBASE_LIBDIR}/phoenix-core-${PHOENIX_HBASE_VERSION}.jar ${ip}:$
{HBASE_LIBDIR} 2>/dev/null
if [[ "$MRS_VERSION" =~ "2." ]]; then
check_cmd_result ssh $ip "rm -rf ${HBASE_LIBDIR}/htrace-core-3.1.0-incubating.jar" 2>/dev/null check_cmd_result ssh $ip "rm -rf /opt/client/HBase/hbase/lib/joda-time-2.1.jar" 2>/dev/null check_cmd_result ssh $ip "ln -s /opt/share/htrace-core-3.1.0-incubating/htrace-core-3.1.0-incubating.jar \
${HBASE_LIBDIR}/htrace-core-3.1.0-incubating.jar" 2>/dev/null
check_cmd_result ssh $ip "ln -s /opt/share/joda-time-2.1/joda-time-2.1.jar /opt/client/HBase/
hbase/lib/joda-time-2.1.jar" 2>/dev/null fi
doneecho "installing phoenix jars to hbase successfully..."
说明
● 请使用txt文本格式复制导入如上脚本,以避免导入格式错误问题。
● <PHOENIX_HBASE_VERSION>:当前使用的phoenix版本。例如MRS 3.x之前可使用的 phoenix版本为4.14.1-HBase-1.3,MRS 3.x及之后可使用5.0.0-HBase-2.0。
● <MRS_VERSION>:当前使用的MRS版本。
● <IPs>:hbase的安装节点ip,以逗号分隔,即当前集群的Master节点和Core节点ip。
● 执行脚本后,打印出“installing phoenix jars to hbase successfully...”字样则表示 phoenix已安装成功。
3. 登录MRS Manager界面,重启HBase服务。
4. 配置phoenix客户端参数(未开启Kerberos认证集群可跳过此步骤)。
a. 配置phoenix连接时使用的认证信息。进入$PHOENIX_HOME/bin,编辑 hbase-site.xml文件,需配置参数如表 1 Phoenix参数配置所示。
表3-11 Phoenix 参数配置
参数 描述 默认值 hbase.master.kerberos.pri
ncipal 当前集群hmaster的
principal 未设置 hbase.security.authentica
tion 初始化Phoenix连接
时所采用的认证方 式
kerberos
可配置参数。如下所示,
<property>
<name>hbase.regionserver.kerberos.principal</name>
<value>hbase/[email protected]</value>
</property>
<property>
<name>hbase.master.kerberos.principal</name>
<value>hbase/[email protected]</value>
</property>
<property>
<name>hbase.security.authentication</name>
<value>kerberos</value>
</property>
说明
其中参数“hbase.master.kerberos.principal”和
“hbase.regionserver.kerberos.principal”为开启Kerberos认证的安全集群中hbase的 kerberos用户,可搜索客户端中hbase-site.xml文件得到参数值。例如,客户端安装 在master节点的/opt/client下,则可使用命令“grep "kerberos.principal" /opt/
client/HBase/hbase/conf/hbase-site.xml -A1”获取,如图3-10所示。
图3-10 获取 hbase 的 principal
b.
修改Phoenix路径的bin目录下的sqlline.py脚本(例如:apache-phoenix-4.14.1-HBase-1.3-bin/bin/sqlline.py),添加hbase客户端的相关依 赖信息如图3-11所示。
图3-11 Phoenix 依赖及 zookeeper 认证
详细配置。如下所示,
添加hbase client的lib包(eg,$HBASE_HOME/lib/*:) 添加相关认证(eg,$HBASE_OPTS)