赞
踩
目录
1 安装部署........................................................................... 4
1.1 solr单节点安装部署................................................................. 4
1.1.1 下载................................................................................ 4
1.1.2 部署................................................................................ 4
1.2 Solr集群安装部署.................................................................... 6
1.2.1 准备工作......................................................................... 6
1.2.2 配置主机......................................................................... 6
1.2.3 配置免登录ssh公钥........................................................ 6
1.2.4 配置zookeeper集群..................................................... 8
1.2.5 配置solr集群............................................................... 10
1.3 Hadoop2.4集群安装部署...................................................... 13
1.3.1 准备工作....................................................................... 13
1.3.2 配置免登录ssh公钥...................................................... 13
1.3.3 配置zookeeper集群................................................... 15
1.3.4 配置hadoop集群........................................................ 17
1.4 HBase集群部署.................................................................... 25
1.4.1 配置环境变量................................................................. 26
1.4.2 配置hbase-env.sh..................................................... 26
1.4.3 配置 hbase-site.xml.................................................. 26
1.4.4 配置regionservers.................................................... 27
1.4.5 替换lib包..................................................................... 27
1.4.6 启动hbase.................................................................. 28
1.4.7 Hbase部署异常问题总结.............................................. 28
1.5 Spark集群安装部署.............................................................. 30
1.5.1 准备工作....................................................................... 30
1.5.2 安装scala................................................................... 31
1.5.3 安装spark................................................................... 32
本文使用SOLR 4.4.0版本作为研究对象,要求JDK 1.6,tomcat 6。
下载地址http://archive.apache.org/dist/lucene/solr/4.4.0/,分别下载linux版本和windows版本,区别只是打包的方式不一样。
1.1.2.1 Windows环境部署
1.1.2.1.1 Jetty
使用自带的jetty中间件部署solr。
1、解压文件
解压文件至j:\盘,solr目录是:J:\solr-4.4.0,文件目录如下。
contrib有一些功能模块是需要的jar包
dist是打包发布好的工程war包
docs是帮助文档
example是示例,里面有打包部署好的solr工程示例和servlet容器jetty。如果你没有tomcat可以直接使用Jetty服务器部署你的solr示例。
2、使用命令行,进入j:\solr\solr-4.4.0\example目录。运行start.jar文件。
# cd j:\solr\solr-4.4.0\example
# j:
# java –jar start.jar
3、登陆地址http://localhost:8983/solr/
1.1.2.1.2 Tomcat
1、 解压出solr-4.4.0
2、 复制solr-4.4.0\example\webapps中的solr.war文件到tomcat安装目录中的webapps文件夹下
3、 运行tomcat。(忽略怎么运行tomcat),tomcat会自动解压solr.war文件。
4、 删除solr.war文件。(不然每次启动tomcat都会发布一次)如果你对大数据开发感兴趣,想系统学习大数据的话,可以加入大数据技术学习交流扣扣君羊:522189307,欢迎添加,了解课程介绍
5、 回到tomcat的webapps目录下,记事本打开solr\WEB-INF\web.xml文件。
加入如下代码:在<web-app />节点内的最后。
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>j:\solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
如上代码,需要在J盘新建一个文件夹:solrhome
6、 回到解压的solr-4.4.0目录,打开文件夹:solr-4.4.0\example\solr,复制所有内容到J:\solrhome
7、 打开文件夹:solr-4.4.0\example\lib\ext,复制所有jar包到tomcat的webapps\solr\WEB-INF\lib下。
8、 运行web:http://localhost:8080/solr
注意solr 4.4只支持IE8以上浏览器版本。
1.1.2.2 Linux环境部署
同windows环境部署方法
SolrCloud通过ZooKeeper集群来进行协调,使一个索引进行分片,各个分片可以分布在不同的物理节点上,多个物理分片组成一个完成的索引Collection。SolrCloud自动支持Solr Replication,可以同时对分片进行复制,冗余存储。
下载solr 4.4.0和zookeeper-3.4.5版本, 3台Redhat 6.1操作系统的虚拟机。其中三台安装搭建zookeeper集群,5台机器上都部署solr应用。
更改各个主机的hosts文件,在文件末尾添加:
10.128.90.45 zk1
10.128.90.46 zk2
10.128.90.47 zk3
重启系统。(如果和其他应用冲突,可以更改成其他的主机名称)
三台主机
ip地址 机器名简称
10.128.90.45 zk1
10.128.90.46 zk2
10.128.90.47 zk3
1、修改三台服务器机器名, 修改方式如下
vi /etc/sysconfig/network
[root@zk1 was]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=zk1
2、配置hosts文件
vi /etc/hosts
后面加三行
10.128.90.45 zk1
10.128.90.46 zk2
10.128.90.47 zk3
重启后生效
3、配置jdk
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_71
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
配置后执行以下语句才能生效
source /etc/profile
4、ssh免登陆
三台服务器分别执行该语句
ssh-keygen -t rsa
生成的文件目录通过显示日志可以找到在哪
查看生成的文件
cd /root/.ssh
执行以下语句
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
将其他两台生成的id_rsa.pub重命令后,分别为id_rsa.pub.zk2,id_rsa.pub.zk3
都放到第一台服务器的/root/.ssh上,
然后执行以下语句把这两台服务器生成的公钥加到第一台上去
cat id_rsa.pub.zk2 >> authorized_keys
cat id_rsa.pub.zk3 >> authorized_keys
然后将生成的总的authorized_keys分别放到其他两台的/root/.ssh上去
配置完成,验证,
Zk1服务器上执行ssh命令,确保3台服务器通过ssh都能相互免密码进去
如下图是我在第一台主机上登录其他服务器,并且相互切换的列子
以zk1主机为例:
1、下载zookeeper-3.4.5.tar文件,解压文件生成zookeeper-3.4.5
[root@zk1]# tar -zxvf zookeeper-3.4.5.tar
2、更改zoo.cfg配置文件
[root@zk1]# cd /zookeeper-3.4.5/conf
[root@zk1]# vi zoo.cfg
文件内容是:
tickTime=2000
initLimit=10
syncLimit=5
dataLogDir=/zookeeper/log/
dataDir=/zookeeper/data/
clientPort=2181
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
如果该目录中没有这个文件,则创建一个新的文件。注意每一个配置项的后面不要有空格,否则会报错。
3、配置myid文件
创建zoo.cfg文件中配置的dataLogDir和dataDir文件夹:
进入解压缩的zookeeper-3.4.5目录下执行如下命令
[root@zk1]#mkdir data
[root@zk1]#mkdir log
在dataDir指向的文件夹中创建myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字,例如当前主机zk1,在zoo.cfg文件中对应的是server.1,所以myid文件中的值应该是1。
4、启动zookeeper
进入/zookeeper/bin文件夹,执行zkServer.sh文件
[root@zk1]#./zkServer.sh start
查看状态
[root@zk1]#./zkServer.sh status
查看启动日志
[root@zk1] #tail –f zookeeper.out
以zk1为案例配置其他两个节点。三个节点全部启动之后,zookeeper会根据选举算法选出一个leader,系统运行正常。
5、常见错误
#Cannot open channel to 2 at election address slave-02/192.168.0.178:3888 java.net.ConnectException: Connection refused
这是因为集群中的某一个节点没有启动完成,导致已经启动的节点无法连接该节点。这个错误在所有节点都启动成功之后消失。
#Cannot open channel to 1 at election address zk1/192.168.1.201:3888
java.net.NoRouteToHostException: No route to host
这是因为防火墙问题,关闭防火墙或开放相应端口
说明:先在一台主节点服务器上安装好一个solr单节点环境,测试成功后直接拖多其它服务器上去,改下相关配置就行了,为了方便安装文件管理,建议将zookeeper,tomcat,solr都放到同一个文件夹下。
1)新建solrcloud文件并授予权限
[was@zk1 ~]$ mkdir solrcloud
[was@zk1 ~]$ chmod 777 solrcloud
[was@zk1 ~]$ cd /home/was/solrcloud
在solrcloud新建solrhome文件
[was@zk1 ~]$ midkr solrhome
2)将上传的solr.4.4.0压缩包解压缩,
3)将solr.4.4.0/dist/solr-4.4.0.war 复制到/home/was/solrcloud/solrhome 并重命为solr.war
cp /home/was/solrcloud/solr-4.4.0/dist/solr-4.4.0.war /home/was/solrcloud/solrhome/solr.war
4)将上传的tomcat解压缩
tar -zxvf apache-tomcat-6.0.44.tar.gz
5)进入tomcat bin目录,启动tomcat
cd /solrcloud/apache-tomcat-6.0.29/bin 进入bin目录
./startup.sh 启动tomcat 此时会在tomcat下的conf文件夹下多出一个目录Catalina
cd /home/was/solrcloud/apache-tomcat-6.0.29/conf/Catalina/localhost
在该目录下新建solr.xml内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<Context docBase="/home/was/solrcloud/solrhome/solr.war" debug="0" crossContext="false" > <Environment name="solr/home"
type="java.lang.String"
value="/home/was/solrcloud/solrhome"
override="true" />
</Context>
docBase="/home/was/solrcloud/solrhome/solr.war" 指定为solrcloud/solrhome下复制出来solr的war包
6)启动tomcat, tomcat的webapps 下边多了解压出来的solr文件夹
进入solr/WEB-INF/ 下修改web.xml
<!--
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value> <env-entry-type>java.lang.String</env-entry-type>
</env-entry>
-->
改为 :
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/home/was/solrcloud/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
7)将/home/was/solrcloud/solr-4.4.0/example/solr 文件夹下所有东西复制到 /home/was/solrcloud/solrhome
cp -r /home/was/solrcloud/solr-4.4.0/example/solr/* /home/was/solrcloud/solrhome
8)复制/home/was/solrcloud/solr-4.4.0/example/lib/ext下所有jar包到tomcat 下的webapps/solr/WEB-INF/lib下
cp -r /home/was/solrcloud/solr-4.4.0/example/lib/ext/* /home/was/solrcloud/apache-tomcat-6.0.44/webapps/solr/WEB-INF/lib/
复制 /home/was/solrcloud/solr-4.4.0/example/resources/log4j.properties 到solr/WEB-INF/class 如果没有class先创建class文件夹,并赋于写权限
cp /home/was/solrcloud/solr-4.4.0/example/resources/log4j.properties /home/was/solrcloud/apache-tomcat-6.0.44/webapps/solr/WEB-INF/class/
9)启动tomcat 访问 http://localhost:8080/solr 如图,至此单机版solr配制完成
进入 cd /home/was
通过scp命令同步到其他两台机器上去,命令如下:
scp -r solrcloud was@zk2:/home/was/
scp -r solrcloud was@zk3:/home/was/
并授予权限: chmod 777 solrcloud
10)配制集群
将zookeeper和tomcat关联
10.128.90.45(zk1)台主机修改tomcat 的 bin目录下catalina.sh文件在第二行加入
JAVA_OPTS="-Dbootstrap_confdir=/home/was/solrcloud/solrhome/collection1/conf -Dcollection.configName=myconf
-DzkHost=10.128.90.45:2181,10.128.90.46:2181,10.128.90.47:2181 -DnumShards=3"
10.128.90.46(zk2)10.128.90.47(zk3)台主机修改tomcat 的 bin目录下catalina.sh文件在第二行加入
JAVA_OPTS="-DzkHost=10.128.90.45:2181,10.128.90.46:2181,10.128.90.47:2181 -DnumShards=3"
http://10.128.90.45:8080/solr/
http://10.128.90.46:8080/solr/
http://10.128.90.47:8080/solr/
任何一个IP均可访问,页面如下:
下载hadoop-2.5.2.tar.gz和jdk7版本, 3台Redhat 操作系统的虚拟机。其中三台安装搭建zookeeper集群
三台主机
ip地址 机器名简称
10.128.90.42 Master
10.128.90.43 Slave1
10.128.90.44 Slave2
1、修改三台服务器机器名, 修改方式如下
vi /etc/sysconfig/network
[root@Master was]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Master
2、配置hosts文件
vi /etc/hosts
后面加三行
10.128.90.45 Master
10.128.90.46 Slave1
10.128.90.47 Slave2
重启后生效
3、配置jdk
vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_71
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
配置后执行以下语句才能生效
source /etc/profile
4、ssh免登陆
三台服务器分别执行该语句
ssh-keygen -t rsa
生成的文件目录通过显示日志可以找到在哪
查看生成的文件
cd /root/.ssh
执行以下语句
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
将其他两台生成的id_rsa.pub重命令后,分别为id_rsa.pub.zk2,id_rsa.pub.zk3
都放到第一台服务器的/root/.ssh上,
然后执行以下语句把这两台服务器生成的公钥加到第一台上去
cat id_rsa.pub.zk2 >> authorized_keys
cat id_rsa.pub.zk3 >> authorized_keys
然后将生成的总的authorized_keys分别放到其他两台的/root/.ssh上去
配置完成,验证,
Master服务器上执行ssh命令,确保3台服务器通过ssh都能相互免密码进去
如下图是我在第一台主机上登录其他服务器,并且相互切换的列子
以zk1主机为例:
1、下载zookeeper-3.4.5.tar文件,解压文件生成zookeeper-3.4.5
[root@Master]# tar -zxvf zookeeper-3.4.5.tar
2、更改zoo.cfg配置文件
[root@Master]# cd /zookeeper-3.4.5/conf
[root@Master]# vi zoo.cfg
文件内容是:
tickTime=2000
initLimit=10
syncLimit=5
dataLogDir=/zookeeper/log/
dataDir=/zookeeper/data/
clientPort=2181
(是不是写错了?)
server.1=zk1:2888:3888
server.2=zk2:2888:3888
server.3=zk3:2888:3888
(应该是这个吧)
server.1=Master:2888:3888
server.2=Slave1:2888:3888
server.3=Slave2:2888:3888
如果该目录中没有这个文件,则创建一个新的文件。注意每一个配置项的后面不要有空格,否则会报错。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。