• 沒有找到結果。

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)