1. 机器准备(这里做測试用,目的准备5台CentOS的linux系统)

1.1 准备了2台机器,安装win7系统(64位)

两台windows物理主机:

192.168.131.44 administrator/(password是一个空格)

192.168.131.67 administrator/(password是一个空格)

1.2. 每台机器上安装VMwareWorkstation8.0.3

VMwareWorkstation8.0.3序列号:JG2TD-DJL95-FZZZ8-DU1NH-33GH7

1.3. 创建虚拟机CentOS-6.5-x86_64-bin-DVD1.iso

personalize Linux:

full name: hadoop

user name: hadoop

password : root

可在VMwareWorkstation中新建虚拟机,或克隆(已有虚拟机)的方式高速创建5台CentOS-6.5-x86_64-bin机器.分别为master1,master2,slave1,slave2,solr; username/password都是root/root.

192.168.131.60 root/root

192.168.131.86 root/root

192.168.131.81 root/root

192.168.131.85 root/root

192.168.131.90 root/root

新建:



克隆:

2. 基础环境配置

为了便于以后对虚拟机操作, 建议对5台CentOS进行基础环境配置.

进入虚拟机后,建议以root用户方式登录

2.1 固定机器IP

两种方式:

第一种:通过Linux图形界面进行改动(强烈推荐)

进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击editbutton -> 选择IPv4 -> method选择为manual -> 点击addbutton -> 加入IP:192.168.131.60 子网掩码:255.255.255.0 网关:192.168.131.1 -> apply

    另外一种:改动配置文件方式
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0"
BOOTPROTO="static" ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.131.60" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.131.1" ###

2.2 关闭防火墙

查看防火墙状态: service iptables status

关闭防火墙

service iptables status

service iptables stop

#查看防火墙开机启动状态

chkconfig iptables –list

#关闭防火墙开机启动

chkconfig iptables off

2.3 改动hostname:

vim /etc/sysconfig/network

    NETWORKING=yes
HOSTNAME=master1 ###

五台机器分别改动为master1,master2,slave1,slave2,solr.

2.4 配置hosts文件

编辑hosts文件:

vim /etc/hosts, 加入例如以下机器信息

192.168.131.60 master1

192.168.131.86 slave1

192.168.131.81 master2

192.168.131.85 slave2

192.168.131.90 solr

訪问hdfs用的的windows系统,包括开发用的机器,都须要将ip地址信息加入hosts文件.

2.5 配置master1,master2,slave1,slave2,solr机器之间的ssh免password登录:

生成ssh免登陆密钥

cd ~,进入到我的home文件夹

cd .ssh/

ssh-keygen -t rsa (四个回车)
运行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

ssh-copy-id -i localhost

拷贝authorized_keys文件到其它机器命令

scp authorized_keys root@master2:~/.ssh/

附: 多台机器设置ssh免password登陆技巧方法:

1.安装ssh. sudo apt-get install ssh. 安装完毕后会在~文件夹(当前用户主文件夹,即这里的/home/xuhui)下产生一个隐藏文件夹.ssh(ls -a 能够查看隐藏文件)。

假设没有这个文件,自己新建就可以(mkdir .ssh).

2.进入.ssh文件夹以下。在每台机器上运行:ssh-keygen -t rsa 之后一路回车。产生密钥。

3。完毕第二步后会产生两个文件:

id-rsa #私钥

id-rsa.pub #公钥

4.在第一台机器的文件夹.ssh下运行命令,cat id-rsa.pub >> authorized_keys;此后.ssh以下会出现authorized_keys文件。

5.然后将第一台机器的.ssh文件夹以下的authorized_keys文件拷贝到第二台计算机的.ssh文件夹下,如:scp authorized_keys xuhui@cloud002:~/.ssh/

6.再转到第二台机器的.ssh文件夹下。会发现刚刚传输过来的文件-authorized_keys。然后运行命令,将第二台计算机的公钥也加进来。如:cat id-rsa.pub >> authorized_keys.

7.将第二台计算机新生成的authorized_keys传输第三台计算机,将第三台计算机的公钥-id-rsa.pub加入到从第二台计算机传过来的authorized_keys里面。

8.依次类推。直至集群中的最后一台计算机。

9.在集群的最后一台计算机运行完加入后,生成的authorized_keys文件就包括集群中全部计算机的公钥,假设以后还有机器加进到集群中来。能够直接加入到文件-authorized_keys。最后。将最后生成的authorized_keys拷贝到集群中的每一台计算机的.ssh文件夹下,覆盖掉之前的authorized_keys。

10.完毕第九步后,就能够在集群中随意一台计算机上,免passwordssh登录到其它计算机了。

2.6 时间同步

在联网状态下, 调整全部机器在同一时区, 如shanghai, 时间就可以自己主动同步。

3. 安装JDK

安装JDK, hadoop,hbase 能够先在一台机器安装,如master1机器上. 安装完毕后直接copy相关文件和文件夹到其它机器就可以完毕全部机器安装. 以下有具体步骤说明.

1. 解压jdk

#创建文件夹

mkdir /usr/java

#解压

tar -zxvf jdk-7u55-linux-i586.tar.gz -C /usr/java/

(对于jdk-6u45-linux-x64.bin这种须要:

1)在下载得到的二进制文件上运行 chmod +x 命令

chmod +x jdk-6u21-linux-x64.bin

2)运行该二进制文件:

./jdk-6u21-linux-x64.bin )

2. 将java加入到环境变量中

vim /etc/profile

#在文件最后加入

export JAVA_HOME=/usr/java/jdk1.6.0_45

export PATH=PATH:JAVA_HOME/bin

    #刷新配置
source /etc/profile

4.安装hadoop

  1. 上传hadoop安装包

  2. 解压hadoop安装包

    mkdir /data

    #解压到/data/文件夹下

    tar -zxvf hadoop-2.2.0.tar.gz -C /data/

  3. 改动配置信息:(5个文件)/hadoop-2.2.0/etc/hadoop文件夹下

    第一个:hadoop-env.sh

    在27行改动

    export JAVA_HOME=/usr/java/jdk1.6.0_45

    第二个:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master1:9001</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/data/hadoopdata/tmp</value>
</property>
</configuration>

第三个:hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master2:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/data/hadoop-2.2.0/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/data/hadoop-2.2.0/data01</value>
<final>true</final>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

第四个:mapred-site.xml.template 须要重命名: mv mapred-site.xml.template mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>file:/data/mapred/system</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>file:/data/mapred/local</value>
<final>true</final>
</property>
</configuration>

第五个:yarn-site.xml

<configuration>

<property>
<name>yarn.resourcemanager.address</name>
<value>master1:8032</value>
</property> <property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master1:8030</value>
</property> <property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master1:8031</value>
</property> <property>
<name>yarn.resourcemanager.admin.address</name>
<value>master1:8033</value>
</property> <property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master1:8088</value>
</property> <property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> <property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property> </configuration>
  1. 将hadoop加入到环境变量

    vim /etc/profile

    export JAVA_HOME=/usr/java/jdk1.6.0_45
    export HADOOP_HOME=/cloud/hadoop-2.2.0
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

5. 安装hbase

  1. 拷贝hbase-0.96.0-hadoop2-bin.tar.gz到linux

    解压到/data文件夹下.

    配置:
  2. 把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下

  3. 改动conf/hbase-env.sh (4处改动,例如以下截图)



4. 改动hbase-site.xml文件:

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master1:9001/hbase</value>
<description>The directory shared by RegionServers</description>
</property>
<property>
<name>hbase.master</name>
<value>master1:60000</value>
<description>The directory shared by RegionServers</description>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
<description>The mode the cluster will be in.Possible values are
false: standalone and pseudo-distributed setups with managed Zookeeper
true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)
</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>slave1,slave2</value>
<description>The directory shared by RegionServers</description>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/data/hadoopdata/hbase/zookeeper</value>
<description>Property from ZooKeeper's config zoo.cfg.
The directory where the snapshot is stored.
</description>
</property>
</configuration>
  1. 改动 regionservers

    vim regionservers

    slave1

    slave2

6. 完毕其它机器环境安装

把master1的hadoop文件夹、jdk文件夹、hbase文件夹、/etc/hosts、/etc/profile拷贝到master2、slave1、slave2节点

1. Hadoop文件夹:/data/hadoop-2.2.0

scp -r /data/hadoop-2.2.0 root@master2:/data

scp -r /data/hadoop-2.2.0 root@slave1:/data

scp -r /data/hadoop-2.2.0 root@slave2:/data

2. Jdk文件夹:/usr/java

scp -r /usr/java root@master2:/usr/java

scp -r /usr/java root@slave1:/usr/java

scp -r /usr/java root@slave2:/usr/java

3. 拷贝hbase到其它节点

scp -r /data/hbase-0.96.0-hadoop2/ master2:/data

scp -r /data/hbase-0.96.0-hadoop2/ slave1:/data

scp -r /data/hbase-0.96.0-hadoop2/ slave2:/data

4. 拷贝/etc/hosts到其它节点:

scp /etc/hosts root@master2:/etc/hosts

scp /etc/hosts root@slave1:/etc/hosts

scp /etc/hosts root@slave2:/etc/hosts

5. 拷贝/etc/profile到其它节点:

scp /etc/profile root@master2:/etc/profile

scp /etc/profile root@slave1:/etc/profile

scp /etc/profile root@slave2:/etc/profile

7.启动集群:

仅仅须要在主节点。即master1机器上运行。

1. 格式化HDFS(namenode)第一次使用时要格式化,仅仅须要在master1上操作.

在master1机器上cd 到hadoop文件夹的sbin文件夹下

#hdfs namenode -format

  1. 启动hdfs:

    ./start-all.sh

    这时能够查看:http://192.168.131.60:50070 (HDFS管理界面)

    3.启动hbase,

    启动hbase,在主节点上运行:

    start-hbase.sh

    附: 单独启动hmaster命令:

    ./hbase-daemon.sh start master

  2. 查看各个节点服务启动状态:

    Master1:



    Master2:



    Slave1:



    Slave2:

5.通过浏览器訪问管理页面

http://192.168.131.60:60010 hbase管理界面



http://192.168.131.60:8088 MR管理界面(yarn的管理界面)



http://192.168.131.60:50070 hdfs的管理界面



至此。hbase集群环境搭建完毕!

8.准备solr机器

8.1 机器基础环境配置

1.安装JDK(较为简单,具体步骤略)

8.2 安装tomcat

1.拷贝apache-tomcat-6.0.37.tar.gz到CentOS 的/data/tools文件夹下

2.解压到/data/solr-tomcat

#tar -xvzf apache-tomcat-6.0.37.tar.gz -C /data/solr-tomcat

3.安装完tomcat后改动./conf/server.xml

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>

注:假设没有设置URIEncoding=”UTF-8”,在提交查询的select的url会出现乱码,当然也就查不到了。—看你搭配的环境,可能不用做

4.运行tomcat

[root@solr tools]# cd /data/solr_tomcat/apache-tomcat-6.0.37/bin/

[root@solr bin]# ./catalina.sh start

Using CATALINA_BASE: /data/solr_tomcat/apache-tomcat-6.0.37

Using CATALINA_HOME: /data/solr_tomcat/apache-tomcat-6.0.37

Using CATALINA_TMPDIR: /data/solr_tomcat/apache-tomcat-6.0.37/temp

Using JRE_HOME: /usr/java/jdk1.6.0_45

Using CLASSPATH: /data/solr_tomcat/apache-tomcat-6.0.37/bin/bootstrap.jar

浏览器訪问:

http://192.168.131.90:8080 显示apache-tomcat的页面即为成功安装.



停止Tomcat

# ./shutdown.sh

8.3 安装solr

1. 拷贝solr-4.7.2.tgz到CentOS 的/data/tools文件夹下

2. 解压到/data/solr-tomcat/solr

#tar -xvzf solr-4.7.2.tgz -C /data/solr-tomcat/solr

拷贝solr.war

将下载的solr包以下的dist文件夹中的solr-4.7.2.war 拷贝到 tomcat的webapps 而且改名为 solr.war Tomcat会自己主动生成对应的文件夹运行该solr。

把exmaple/webapps中的solr.war拷贝到tomcat

[root@svn-server tmp]makdir -p /opt/tomcat/webapps

[root@svn-server tmp]cp /opt/solr/example/webapps/solr.war /opt/tomcat/webapps/

复制solr/example/lib/ext下的jar包到/tomcat/../solr/WEB-INF/lib/下:

[root@svn-server tmp]cp /opt/solr/example/lib/ext/*.jar /opt/tomcat/webapps/solr/WEB-INF/lib/

拷贝其它

新建/opt/solr-tomcat/solr文件夹,把下载的solr包中的example/solr文件夹以下的全部文件放入到/opt/solr-tomcat/solr里面。

在tomcat的bin里面新建一个solr文件夹

cd /home/wujiaqi/apache-tomcat/bin/

mkdir solr

5.将solr的example/solr文件夹下的collection1文件夹和solr.xml拷贝到tomcat的bin文件夹下的solr文件夹

cd /home/wujiaqi/solr/example/solr/

cp -r collection1/ solr.xml /home/wujiaqi/apache-tomcat/bin/solr

Solr配置MultiCore:

首先 进入solr文件夹下的multicore文件夹:

cd /usr/local/solr-4.6.0/example/multicore/

拷贝core0 core1 solr.xml 文件到/data/solr-tomcat/solr文件夹

编辑solr.xml配置文件 :

<solr persistent="false">
<!--
adminPath: RequestHandler path to manage cores.
If 'null' (or absent), cores will not be manageable via request handler
-->
<cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:}">
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
<core name="core2" instanceDir="core2" />
<core name="core3" instanceDir="core3" />
</cores>
</solr>
  1. 配置指定solr的核心文件夹,进入tomcat 改动tomcat中的配置文件:

    cd /usr/local/tomcat/conf/Catalina/localhost/
<?

xml version="1.0" encoding="UTF-8"?

>
<Context docBase="/data/solr_tomcat/apache-tomcat-6.0.37/webapps/solr.war" reloadable="true" >
<Environment name="solr/home" type="java.lang.String" value="/data/solr_tomcat/apache-tomcat-6.0.37/solr" override="true" />
</Context>

安装分词工具:IK Analyzer 2012FF_hf1

1)把下载好的IKAnalyzer2012FF_u1.jar 上传到/opt/tomcat/webapps/solr/WEB-INF/lib

[root@localhost lib]# pwd

/opt/tomcat/webapps/solr/WEB-INF/lib

2)设置IKAnalyzer中文分词

改动/data/solr_tomcat/apache-tomcat-6.0.37/solr/core0/conf 中的schema.xml(根据搭配环境须要配置)

详见文件:

\配置文件\solr\solr\core0\conf\schema.xml

这里能够下载: http://pan.baidu.com/s/1bnHbN2Z

启动solr

进入example文件夹

运行:

java -jar start.jar

看到以下信息,即为solr启动成功.

这时候訪问 web 页面:

http://192.168.131.90:8080/solr/admin/

就可以看到 solr 的 管理端:

[精华]Hadoop,HBase分布式集群和solr环境搭建的更多相关文章

  1. Hadoop+Hbase分布式集群架构“完全篇”

    本文收录在Linux运维企业架构实战系列 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建,操作完成后整理的个人心得,分享给大家~~~ 1.认识Hadoop和Hbase 1.1 hadoop简 ...

  2. 项目十八-Hadoop+Hbase分布式集群架构“完全篇”

    本文收录在Linux运维企业架构实战系列 前言:本篇博客是博主踩过无数坑,反复查阅资料,一步步搭建,操作完成后整理的个人心得,分享给大家~~~ 1.认识Hadoop和Hbase 1.1 hadoop简 ...

  3. 基于docker的spark-hadoop分布式集群之一: 环境搭建

    一.软件准备 1.基础docker镜像:ubuntu,目前最新的版本是18 2.需准备的环境软件包: (1) spark-2.3.0-bin-hadoop2.7.tgz (2) hadoop-2.7. ...

  4. CentOS6安装各种大数据软件 第六章:HBase分布式集群的配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  5. Hadoop伪分布式集群环境搭建

    本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...

  6. [推荐]Hadoop+HBase+Zookeeper集群的配置

    [推荐]Hadoop+HBase+Zookeeper集群的配置 Hadoop+HBase+Zookeeper集群的配置  http://wenku.baidu.com/view/991258e881c ...

  7. Hadoop(三)手把手教你搭建Hadoop全分布式集群

    前言 上一篇介绍了伪分布式集群的搭建,其实在我们的生产环境中我们肯定不是使用只有一台服务器的伪分布式集群当中的.接下来我将给大家分享一下全分布式集群的搭建! 其实搭建最基本的全分布式集群和伪分布式集群 ...

  8. Hadoop(三)搭建Hadoop全分布式集群

    原文地址:http://www.cnblogs.com/zhangyinhua/p/7652686.html 阅读目录(Content) 一.搭建Hadoop全分布式集群前提 1.1.网络 1.2.安 ...

  9. 『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现

    『实践』VirtualBox 5.1.18+Centos 6.8+hadoop 2.7.3搭建hadoop完全分布式集群及基于HDFS的网盘实现 1.基本设定和软件版本 主机名 ip 对应角色 mas ...

随机推荐

  1. Android.mk编译.apk .so .jar .a第三方.apk .so .jar .a的方法

    一.编译一个简单的APK LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # Build all java files in the java s ...

  2. android 屏幕适配 课程笔记

    1 横竖屏切换:   文件名同样.  目录不同.   layout-port/ 代表竖屏   layout-land/ 代表横屏   layout/ 代表不论什么没有修饰符的layout目录.   终 ...

  3. 西南民大oj(两园交求面积)

    西南民大oj:http://www.swunacm.com/acmhome/welcome.do?method=index 我的几何不可能那么可爱 时间限制(普通/Java) : 1000 MS/ 3 ...

  4. ServiceCallSite

    ServiceCallSite 通过上一篇的介绍我们应该对实现在ServiceProvider的总体设计有了一个大致的了解,但是我们刻意回避一个重要的话题,即服务实例最终究竟是采用何种方式提供出来的. ...

  5. SE 2014年4月18日

    实验需求:   R1 R2 R3用环回口建立IBGP对等体(使用对等体组),AS号为100                     R4 R5 R6用环回口建立IBGP对等体(使用对等体组),AS号为 ...

  6. httl开源JAVA模板引擎,动态HTML页面输出

    HTTL(Hyper-Text Template Language)是一个适用于HTML输出的开源JAVA模板引擎,适用于动态HTML页面输出,可用于替代JSP页面,它的指令类似于Velocity. ...

  7. wampserver图标黄色

    wampserver图标黄色(多个httpd.exe服务,以前装了apache) 服务--->httpd.exe右击这个服务打开文件位置就知道是不是wampserver的服务.如果不是就停掉这给 ...

  8. LeetCode: Best Time to Buy and Sell Stock III [123]

    [称号] Say you have an array for which the ith element is the price of a given stock on day i. Design ...

  9. (九)通过几段代码,理清angularJS中的$injector、$rootScope和$scope的概念和关联关系

    $injector.$rootScope和$scope是angularJS框架中比較重要的东西,理清它们之间的关系,对我们兴许学习和理解angularJS框架都很实用. 1.$injector事实上是 ...

  10. CodeForces 52C Circular RMQ(间隔周期段树,间隔更新,间隔总和)

    转载请注明出处:http://blog.csdn.net/u012860063 题目链接:http://codeforces.com/problemset/problem/52/C You are g ...