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. jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互、特效、小部件及主题

    jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互.特效.小部件及主题.无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery ...

  2. Lichee (五岁以下儿童) sysconfig1.fex 配置系统

    sysconfig配置系统,作为一个通用的软件平台,还希望通过它.能够适应用户不同的方案.通过给出一个相应的配置.用户的方案就能够自己主动执行,而不须要改动系统里面的代码,或者又一次给出參数. 一. ...

  3. poj1463(树形dp)

    题目链接:http://poj.org/problem?id=1463 题意:有N个点,每两个点至多只有一条边,如果在一个结点上放一个士兵,那他能看守与之相连的边,问最少放多少个兵,才能把所有的边能看 ...

  4. apache cxf之 一个简单的JAX-WS服务程序

    推荐一本apache cxf的书籍: apache cxf的配置,这边就不做介绍了.请参照我关于它配置的博文. 开发步骤: 1.新建Java project,build path引入cxf runti ...

  5. Velocity缓存与穿透(转)

    原文  http://fantaxy025025.iteye.com/blog/2283904 主题 Java 总评:只是标记一下这种用法hack方法.这种场景下用这种方法还是比较雷人的. Veloc ...

  6. MFC控件(15):Tooltip

    在各种软件产品中我们经常碰到把鼠标放到一个控件上时会弹出关于该控件的一些提示信息.这就是tooltip. 在MFC中使用该功能可以使用类CToolTipCtrl.假如要让鼠标放到按钮IDC_BTN上时 ...

  7. android开机启动应用和服务

    注冊广播监听开机状态.启动应用和服务等: 监听开机的广播接收器: public class BootCompletedReceiver extends BroadcastReceiver{ @Over ...

  8. 用友CDM系统期初导入商品资料经验

    1.       倒入商品资料,是导入表spkfk(商品档案表).spkfjc(商品总结存表),主要是将spkfk全部编码导入. 2.       导入客商资料,是导入表mchk(业务单位登记表).m ...

  9. windows phone 页面传值(7)

    原文:windows phone 页面传值(7) 在windows phone 中微软为我们提供了页面间传递参数的解决方案,下面就为大家介绍使用方法,页面传值的案例中我们建立两个页面,一个是MainP ...

  10. 域名注册查询接口(API)的说明

    1.域名查询 接口采用HTTP,POST,GET协议: 调用URL:http://panda.www.net.cn/cgi-bin/check.cgi 参数名称:area_domain 值为标准域名, ...