I tried to enable secondry index on one of table but it fails with following exception.
*0: jdbc:phoenix:v-in-sd-hack-03:2181> CREATE INDEX agent_id_idx ON transactions (AGENT_ID);* *Error: ERROR 1029 (42Y88): Mutable secondary indexes must have the hbase.regionserver.wal.codec property set to org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec in the hbase-sites.xml of every region server tableName=AGENT_ID_IDX (state=42Y88,code=1029)* *java.sql.SQLException: ERROR 1029 (42Y88): Mutable secondary indexes must have the hbase.regionserver.wal.codec property set to org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec in the hbase-sites.xml of every region server tableName=AGENT_ID_IDX* * at org.apache.phoenix.exception.SQLExceptionCode$Factory$1.newException(SQLExceptionCode.java:388)* * at org.apache.phoenix.exception.SQLExceptionInfo.buildException(SQLExceptionInfo.java:145)* * at org.apache.phoenix.schema.MetaDataClient.createIndex(MetaDataClient.java:1128)* * at org.apache.phoenix.compile.CreateIndexCompiler$1.execute(CreateIndexCompiler.java:95)* * at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:320)* * at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:312)* * at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)* * at org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:310)* * at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1433)* * at sqlline.Commands.execute(Commands.java:822)* * at sqlline.Commands.sql(Commands.java:732)* * at sqlline.SqlLine.dispatch(SqlLine.java:808)* * at sqlline.SqlLine.begin(SqlLine.java:681)* * at sqlline.SqlLine.start(SqlLine.java:398)* * at sqlline.SqlLine.main(SqlLine.java:292)* In every region and master server I made the configuration changes in hbase-site.xml file (which is present at /etc/hbase/conf.cloudera.hbase) *<?xml version="1.0" encoding="UTF-8"?>* *<!--Autogenerated by Cloudera Manager-->* *<configuration>* * <property>* * <name>hbase.rootdir</name>* * <value>hdfs://v-in-sd-hack-03.synygy.net:8020/hbase <http://v-in-sd-hack-03.synygy.net:8020/hbase></value>* * </property>* * <property>* * <name>hbase.replication</name>* * <value>true</value>* * </property>* * <property>* * <name>hbase.client.write.buffer</name>* * <value>2097152</value>* * </property>* *<property>* * <name>hbase.regionserver.wal.codec</name>* * <value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value>* *</property>* *<property>* * <name>hbase.region.server.rpc.scheduler.factory.class</name>* * <value>org.apache.hadoop.hbase.ipc.PhoenixRpcSchedulerFactory</value>* * <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>* *</property>* *<property>* * <name>hbase.rpc.controllerfactory.class</name>* * <value>org.apache.hadoop.hbase.ipc.controller.ServerRpcControllerFactory</value>* * <description>Factory to create the Phoenix RPC Scheduler that uses separate queues for index and metadata updates</description>* *</property>* *<property>* * <name>hbase.master.loadbalancer.class</name>* * <value>org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer</value>* *</property>* *<property>* * <name>hbase.coprocessor.master.classes</name>* * <value>org.apache.phoenix.hbase.index.master.IndexMasterObserver</value>* *</property>* *<property>* * <name>hbase.coprocessor.regionserver.classes</name>* * <value>org.apache.hadoop.hbase.regionserver.LocalIndexMerger</value>* *</property>* * <property>* * <name>hbase.client.pause</name>* * <value>100</value>* * </property>* * <property>* * <name>hbase.client.retries.number</name>* * <value>35</value>* * </property>* * <property>* * <name>hbase.client.scanner.caching</name>* * <value>100</value>* * </property>* * <property>* * <name>hbase.client.keyvalue.maxsize</name>* * <value>10485760</value>* * </property>* * <property>* * <name>hbase.ipc.client.allowsInterrupt</name>* * <value>true</value>* * </property>* * <property>* * <name>hbase.client.primaryCallTimeout.get</name>* * <value>10</value>* * </property>* * <property>* * <name>hbase.client.primaryCallTimeout.multiget</name>* * <value>10</value>* * </property>* * <property>* * <name>hbase.regionserver.thrift.http</name>* * <value>false</value>* * </property>* * <property>* * <name>hbase.thrift.support.proxyuser</name>* * <value>false</value>* * </property>* * <property>* * <name>hbase.rpc.timeout</name>* * <value>3600000</value>* * </property>* * <property>* * <name>hbase.snapshot.enabled</name>* * <value>true</value>* * </property>* * <property>* * <name>hbase.snapshot.master.timeoutMillis</name>* * <value>60000</value>* * </property>* * <property>* * <name>hbase.snapshot.region.timeout</name>* * <value>60000</value>* * </property>* * <property>* * <name>hbase.snapshot.master.timeout.millis</name>* * <value>60000</value>* * </property>* * <property>* * <name>hbase.security.authentication</name>* * <value>simple</value>* * </property>* * <property>* * <name>hbase.rpc.protection</name>* * <value>authentication</value>* * </property>* * <property>* * <name>zookeeper.session.timeout</name>* * <value>60000</value>* * </property>* * <property>* * <name>zookeeper.znode.parent</name>* * <value>/hbase</value>* * </property>* * <property>* * <name>zookeeper.znode.rootserver</name>* * <value>root-region-server</value>* * </property>* * <property>* * <name>hbase.zookeeper.quorum</name>* * <value>v-in-sd-hack-03.synygy.net <http://v-in-sd-hack-03.synygy.net></value>* * </property>* * <property>* * <name>hbase.zookeeper.property.clientPort</name>* * <value>2181</value>* * </property>* * <property>* * <name>hbase.rest.ssl.enabled</name>* * <value>false</value>* * </property>* *</configuration>* Also every /opt/cloudera/parcels/CDH-5.5.2-1.cdh5.5.2.p0.4/lib/hbase/lib location I have phoenix-4.6.0-cdh5.5.1-client.jar, phoenix-4.6.0-cdh5.5.1-server.jar and phoenix-core-4.6.0-cdh5.5.1.jar copied. I am able to fire normal queries but unable to create indexes which is much needed. I tried searching over net found several link talking about this but no link with solution. I highly appreciate if one can quickly look into this. Please let me know if more details needed. -- *With Best Regards,* * Mohd Adnan* * Feature Development Lead* *Mobile +91-7498194516 * * Blog adnanfaizan.blogspot.in <http://adnanfaizan.blogspot.in>*