[AppleScript] 纯文本查看 复制代码
<pre><code>
#!/bin/sh
service iptables stop
chkconfig iptables off
#jdk是否已经安装了,默认0表示不安装
isJDK=0
#软件包路径
softPath=/root
#tomcat名称
tomcatName=apache-tomcat-7.0.47.tar.gz
#jdk名称
jdkName=jdk-7u55-linux-i586.tar.gz
#solr名称
solrName=solr-4.10.3.tgz.tgz
#zookeeper名称
zookeeperName=zookeeper-3.4.6.tar.gz
#ip
ip=`ifconfig eth0 | grep "inet addr" | awk '{ print $2}' | awk -F: '{print $2}'`
#解压路径
jieyaPath=/root/soft/solrCluster
jieyaPath2=$(echo $jieyaPath |sed -e 's/\//\\\//g')
#判断解压路径是否存在,不存在就创建,存在就删除
if [ ! -d "$jieyaPath" ]; then
mkdir $jieyaPath
else
rm -rf $jieyaPath
mkdir $jieyaPath
fi
echo -e "--------------------------开始解压软件-------------------------------\n"
echo -e "zookeeper安装并启动,端口号2281-2283"
echo -e "安装jdk"
if [ isJDK==0 ]
then
echo -e "jdk已经安装"
else
echo -e "2、解压jdk到$jieyaPath\n"
tar -zxf $softPath/$jdkName -C $jieyaPath
mv jdk* jdk
echo "export JAVA_HOME=$jieyaPath/jdk" >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile
fi
echo -e "解压zookeeper"
tar -zxvf $softPath/$zookeeperName -C $jieyaPath
mv $jieyaPath/zoo* $jieyaPath/zookeeper
for i in 1 2 3
do
cp -r $jieyaPath/zookeeper $jieyaPath/zookeeper$i
mkdir $jieyaPath/zookeeper$i/data
echo $i >> $jieyaPath/zookeeper$i/data/myid
mv $jieyaPath/zookeeper$i/conf/zoo_sample.cfg $jieyaPath/zookeeper$i/conf/zoo.cfg
sed -i "s/dataDir=\/tmp\/zookeeper/dataDir=$jieyaPath2\/zookeeper$i\/data/g" $jieyaPath/zookeeper$i/conf/zoo.cfg
sed -i "s/clientPort=2181/clientPort=228$i/g" $jieyaPath/zookeeper$i/conf/zoo.cfg
echo "server.1=$ip:2881:3881" >> $jieyaPath/zookeeper$i/conf/zoo.cfg
echo "server.2=$ip:2882:3882" >> $jieyaPath/zookeeper$i/conf/zoo.cfg
echo "server.3=$ip:2883:3883" >> $jieyaPath/zookeeper$i/conf/zoo.cfg
cd $jieyaPath/zookeeper$i
bin/zkServer.sh start
done
#rm -r $jieyaPath/zookeeper
echo -e "3、解压solr到$jieyaPath\n"
tar -zxf /$softPath/$solrName -C $jieyaPath
mv $jieyaPath/solr* $jieyaPath/solr
echo -e "1、解压tomcat到$jieyaPath\n"
tar -zxf /$softPath/$tomcatName -C $jieyaPath
mv $jieyaPath/apache-* $jieyaPath/tomcat
echo -e "移动solr的war包到tomcat\n"
cp $jieyaPath/solr/dist/solr-4.10.3.war $jieyaPath/tomcat/webapps/solr.war
echo -e "启动tomcat"
sh $jieyaPath/tomcat/bin/startup.sh
cd $jieyaPath/tomcat/logs
num=0
while [ "1" == "1" ]
do
isStart=$(cat catalina.out |grep "Server startup in" |awk '{print $2}')
sleep 1s
if [ -z $isStart ]
then
num=`expr $num + 1`
echo "第$num次扫描"
else
echo -e "tomcat启动成功\n"
break
fi
done
tomcatPort=$(ps -aux |grep tomcat|awk 'NR==1{print $2}')
kill -9 $tomcatPort
echo -e "\n移动solr的jar包到solr的lib中\n"
cp $jieyaPath/solr/example/lib/ext/* $jieyaPath/tomcat/webapps/solr/WEB-INF/lib/
echo -e "创建一个solrhome\n"
cp -r $jieyaPath/solr/example/solr $jieyaPath/solrhome
echo -e "修改catalina.sh"
sed -i "s/#JAVA_OPTS=\"\$JAVA_OPTS -Dorg.apache.catalina.security.SecurityListener.UMASK=\`umask\`\"/JAVA_OPTS=\"-DzkHost=$ip:2281,$ip:2282,$ip:2283\"/g" $jieyaPath/tomcat/bin/catalina.sh
sed -i "46d" $jieyaPath/tomcat/webapps/solr/WEB-INF/web.xml
sed -i "40d" $jieyaPath/tomcat/webapps/solr/WEB-INF/web.xml
if [ ! -d "$softPath/IKAnalyzer" ]; then
mkdir $softPath/IKAnalyzer
else
rm -rf mkdir $softPath/IKAnalyzer
mkdir $softPath/IKAnalyzer
fi
cp -r $softPath/IK\ Analyzer\ 2012FF_hf1/* $softPath/IKAnalyzer/
echo -e "创建$jieyaPath/tomcat/webapps/solr/WEB-INF/classes文件夹\n"
mkdir $jieyaPath/tomcat/webapps/solr/WEB-INF/classes
echo -e "将IKAnalyzer2012FF_u1.jar移动到tomcat中solr项目里面的lib文件夹\n"
cp $softPath/IKAnalyzer/IKAnalyzer2012FF_u1.jar $jieyaPath/tomcat/webapps/solr/WEB-INF/lib/
echo -e "将IKAnalyzer.cfg.xml,mydict.dic移动到$jieyaPath/tomcat/webapps/solr/WEB-INF/classes文件夹下\n"
cp $softPath/IKAnalyzer/IKAnalyzer.cfg.xml $jieyaPath/tomcat/webapps/solr/WEB-INF/classes/
cp $softPath/IKAnalyzer/mydict.dic $jieyaPath/tomcat/webapps/solr/WEB-INF/classes/
sed -i '$d' $jieyaPath/solrhome/collection1/conf/schema.xml
echo -e "修改schema.xml文件\n"
echo "<fieldType name=\"text_ik\" class=\"solr.TextField\">">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo " <analyzer class=\"org.wltea.analyzer.lucene.IKAnalyzer\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "</fieldType>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<field name=\"item_title\" type=\"text_ik\" indexed=\"true\" stored=\"true\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<field name=\"item_sell_point\" type=\"text_ik\" indexed=\"true\" stored=\"true\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<field name=\"item_price\" type=\"long\" indexed=\"true\" stored=\"true\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<field name=\"item_image\" type=\"string\" indexed=\"false\" stored=\"true\" />">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<field name=\"item_category_name\" type=\"string\" indexed=\"true\" stored=\"true\" />">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<field name=\"item_desc\" type=\"text_ik\" indexed=\"true\" stored=\"false\" />">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo " ">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<field name=\"item_keywords\" type=\"text_ik\" indexed=\"true\" stored=\"false\" multiValued=\"true\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<copyField source=\"item_title\" dest=\"item_keywords\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<copyField source=\"item_sell_point\" dest=\"item_keywords\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<copyField source=\"item_category_name\" dest=\"item_keywords\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "<copyField source=\"item_desc\" dest=\"item_keywords\"/>">>$jieyaPath/solrhome/collection1/conf/schema.xml
echo "</schema>">>$jieyaPath/solrhome/collection1/conf/schema.xml
for i in 1 2 3 4
do
#创建一个tomcat
cp -r $jieyaPath/tomcat $jieyaPath/tomcat$i
#创建一个solrhome
cp -r $jieyaPath/solrhome $jieyaPath/solrhome$i
sed -i "s/\${host:}/$ip/g" $jieyaPath/solrhome$i/solr.xml
sed -i "s/\${jetty.port:8983}/8${i}80/g" $jieyaPath/solrhome$i/solr.xml
#替换修改tomcat
sed -i "s/\/put\/your\/solr\/home\/here/$jieyaPath2\/solrhome$i/g" $jieyaPath/tomcat$i/webapps/solr/WEB-INF/web.xml
#修改tomcat端口号
sed -i "s/Server port=\"8005\"/Server port=\"8${i}05\"/g" $jieyaPath/tomcat$i/conf/server.xml
sed -i "s/Connector port=\"8080\"/Connector port=\"8${i}80\"/g" $jieyaPath/tomcat$i/conf/server.xml
sed -i "s/Connector port=\"8009\"/Connector port=\"8${i}09\"/g" $jieyaPath/tomcat$i/conf/server.xml
done
echo -e "第六步:让zookeeper统一管理配置文件\n"
cd $jieyaPath/solr/example/scripts/cloud-scripts
./zkcli.sh -zkhost $ip:2281,$ip:2282,$ip:2283 -cmd upconfig -confdir $jieyaPath/solrhome1/collection1/conf -confname myconf
echo -e "启动所有的tomcat"
for i in 1 2 3 4
do
sh $jieyaPath/tomcat$i/bin/startup.sh
done
</code></pre>