添加jar (三个节点都要)
复制solr解压目录中dist下的solr-dataimporthandler-7.5.0.jar solr-dataimporthandler-extras-7.5.0.jar
复制到WEB-INF/lib下
添加mysql-connection jar包到WEB-INF/lib下,我这里是mysql-connector-java-5.1.8.jar
修改solrconfig.xml
从zookeeper上下载solrconfig.xml 文件
./zkcli.sh -zkhost 10.10.2.137:2181 -cmd getfile /configs/solrconf/solrconfig.xml solrconfig.xml
修改solrconfig.xml添加如下内容:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str> <!--这个文件下面会创建-->
</lst>
</requestHandler
上传修改好的文件到zookeeper
./zkcli.sh -zkhost 10.10.2.137 -cmd putfile /configs/solrconf/solrconfig.xml solrconfig.xml
创建data-config.xml文件
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://10.10.2.137:3306/slave?useUnicode=true&characterEncoding=utf-8" user="root" password="root"/>
<document>
<entity name="area" query="select id,name as name,address as address from bus_receiver">
<field column="id" name="id"/>
<field column="name" name="name"/>
<field column="address" name="address"/>
</entity>
</document>
</dataConfig
这里注意 在solr群集导入数据里面 ,filed id
是必须的,不然会报下面的错误, Document is missing mandatory uniqueKey field: id ,这和单机版的 Solr 有些不同。
这里 sql 增量和全量语句中用到的 filed ,在 managed-schema 中需要配置,下面会写,增量中用到的 ‘${dataimporter.RECORD_NUMBER}’ 是固定写法,用来存储变量用于增量更新。
上传到zookeeper
./zkcli.sh -zkhost 10.10.2.137 -cmd putfile /configs/solrconf/data-config.xml data-config.xml
修改managed-schema
下载managed-schema
./zkcli.sh -zkhost 10.10.2.137:2181 -cmd getfile /configs/solrconf/managed-schema managed-schema
添加
<field name="address" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
上传managed-schema
./zkcli.sh -zkhost 10.10.2.137 -cmd putfile /configs/solrconf/managed-schema managed-schema
到此配置完毕,重启solr服务