码迷,mamicode.com
首页 > 其他好文 > 详细

[精华]Hadoop,HBase分布式集群和solr环境搭建

时间:2015-07-02 10:18:29      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:hadoop   hbase   环境   安装   

1. 机器准备

1.1 准备了2台机器,安装win7系统(64位)
两台windows物理主机:
192.168.131.44 administrator/(密码是一个空格)
192.168.131.67 administrator/(密码是一个空格)
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;
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 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.119 子网掩码:255.255.255.0 网关:192.168.1.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.1.44"       ###
        NETMASK="255.255.255.0"      ###
        GATEWAY="192.168.1.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=itcast01    ###

五台机器分别修改为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免密码登录:
生成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免密码登陆技巧方法:
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.完成第九步后,就可以在集群中任意一台计算机上,免密码ssh登录到其他计算机了。
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 /cloud
    #解压到/cloud/目录下
    tar -zxvf hadoop-2.2.0.tar.gz -C /cloud/

  3. 修改配置信息:(5个文件)/hadoop-2.2.0/etc/hadoop目录下
    第一个:hadoop-env.sh
    在27行修改
    export JAVA_HOME=/usr/java/jdk1.6.0_45
    第二个:core-site.xml


    fs.defaultFS
    hdfs://master1:9001


    hadoop.tmp.dir
    file:/data/hadoopdata/tmp

第三个:hdfs-site.xml


dfs.namenode.secondary.http-address
master2:9001


dfs.namenode.name.dir
file:/data/hadoop-2.2.0/name
true


dfs.datanode.data.dir
file:/data/hadoop-2.2.0/data01
true


dfs.replication
2


dfs.permissions
false

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


mapreduce.framework.name
yarn


mapred.system.dir
file:/data/mapred/system
true


mapred.local.dir
file:/data/mapred/local
true

第五个:yarn-site.xml


yarn.resourcemanager.address
master1:8032


yarn.resourcemanager.scheduler.address
master1:8030


yarn.resourcemanager.resource-tracker.address
master1:8031


yarn.resourcemanager.admin.address
master1:8033


yarn.resourcemanager.webapp.address
master1:8088


yarn.nodemanager.aux-services
mapreduce_shuffle


yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler

  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文件:


hbase.rootdir
hdfs://master1:9001/hbase
The directory shared by RegionServers


hbase.master
master1:60000
The directory shared by RegionServers


hbase.cluster.distributed
true
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)



hbase.zookeeper.quorum
slave1,slave2
The directory shared by RegionServers


hbase.zookeeper.property.dataDir
/data/hadoopdata/hbase/zookeeper
Property from ZooKeeper‘s config zoo.cfg.
The directory where the snapshot is stored.



5. 修改 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

  1. /etc/hosts:
    scp /etc/hosts root@master2:/etc/hosts
    scp /etc/hosts root@slave1:/etc/hosts
    scp /etc/hosts root@slave2:/etc/hosts
  2. /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

版权声明:本文为博主原创文章,未经博主允许不得转载。

[精华]Hadoop,HBase分布式集群和solr环境搭建

标签:hadoop   hbase   环境   安装   

原文地址:http://blog.csdn.net/computer30000/article/details/46715427

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!