当前位置:   article > 正文

大数据集群安装学习笔记

大数据集群安装学习笔记

目录

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

1    安装部署

1.1     solr单节点安装部署

本文使用SOLR 4.4.0版本作为研究对象,要求JDK 1.6,tomcat 6。

1.1.1  下载

下载地址http://archive.apache.org/dist/lucene/solr/4.4.0/,分别下载linux版本和windows版本,区别只是打包的方式不一样。

1.1.2  部署

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环境部署方法

1.2     Solr集群安装部署

SolrCloud通过ZooKeeper集群来进行协调,使一个索引进行分片,各个分片可以分布在不同的物理节点上,多个物理分片组成一个完成的索引Collection。SolrCloud自动支持Solr Replication,可以同时对分片进行复制,冗余存储。

1.2.1  准备工作

下载solr 4.4.0和zookeeper-3.4.5版本, 3台Redhat 6.1操作系统的虚拟机。其中三台安装搭建zookeeper集群,5台机器上都部署solr应用。

1.2.2  配置主机

更改各个主机的hosts文件,在文件末尾添加:

10.128.90.45 zk1

10.128.90.46 zk2

10.128.90.47 zk3

重启系统。(如果和其他应用冲突,可以更改成其他的主机名称)

1.2.3  配置免登录ssh公钥

三台主机

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都能相互免密码进去

如下图是我在第一台主机上登录其他服务器,并且相互切换的列子

 

1.2.4  配置zookeeper集群

以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

这是因为防火墙问题,关闭防火墙或开放相应端口

1.2.5  配置solr集群

     说明:先在一台主节点服务器上安装好一个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均可访问,页面如下:

 

1.3     Hadoop2.4集群安装部署

1.3.1  准备工作

下载hadoop-2.5.2.tar.gz和jdk7版本, 3台Redhat 操作系统的虚拟机。其中三台安装搭建zookeeper集群

1.3.2  配置免登录ssh公钥

三台主机

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都能相互免密码进去

如下图是我在第一台主机上登录其他服务器,并且相互切换的列子

 

1.3.3  配置zookeeper集群

以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

如果该目录中没有这个文件,则创建一个新的文件。注意每一个配置项的后面不要有空格,否则会报错。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/982816
推荐阅读
相关标签
  

闽ICP备14008679号