Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建

            能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事。

           现将前期手里面的一个项目做一个大致的总结,与大家一起分享、交流、进步。项目现在正在线上运行,项目名——基于Hadoop的数据分析综合管理平台。

                         Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第1张图片

      项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop、Mahout、HBase、Spring Data Hadoop、JavaEE。

      本文将Hadoop1、Zookeeper、HBase环境的搭建工作总结一下,关于项目中的其他情况,后续博文会再做分享。

    本文按照如下思路进行:

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第2张图片

集群环境

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第3张图片

RedHat5.5 OS

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第4张图片

具体步骤

准备工作

 


查看RedHat版本
arch/uname -a

 

修改主机名(重启生效)
vi /etc/sysconfig/network
修改hosts映射文件
vi /etc/hosts
222.22.91.70  master
222.22.91.68  slave1
222.22.91.69  slave2


修改Windows下hosts文件
C:\Windows\System32\drivers\etc\hosts
222.22.91.70  master
222.22.91.68  slave1
222.22.91.69  slave2


远程拷贝
scp /etc/hosts 222.22.91.70:/etc/
scp  /etc/hosts 222.22.91.70:/etc
 

配置SSH

 

rpm-qa | grep ssh  查看系统中是否已安装ssh

netstat-nat  查看端口

ssh-keygen–t rsa

cd/root/.ssh

 

cp id_rsa.pub authorized_keys 

 

cp id_rsa.pub slave1_id_rsa.pub

cp id_rsa.pub slave2_id_rsa.pub

 先聚集

cat slave1_id_rsa.pub >> authorized_keys

cat lave2_id_rsa.pub >> authorized_keys

 再分发

scp authorized_keys slave1:/root/.ssh

scp authorized_keys slave2:/root/.ssh

每个节点都持有其他节点的公钥,免密钥登录。

 

配置JDK
查询是否已安装过java
rpm -qa | grep java   
rpm -qa | grep jdk


卸载旧版本jdk 
yum remove java
rpm -e --nodeps (gcc-java-4.1.2-48.el5)

 

安装新的jdk

cd/usr

mkdirjava

在/usr/java中执行

./jdk-6u24-linux-i586.bin

解压后所在路径:/usr/java/jdk1.6.0_24

 

配置java环境变量(见文章最后的附录)

 

安装Hadoop


解压缩

 

 

cd/home/yujianxin/

 

mkdir  hadoop

tar–zxvf hadoop-1.1.2.tar.gz

 

配置Hadoop环境变量(见文章最后的附录)

 

依次修改conf/下的

 

 

hadoop-env.sh

 

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

 

# set hbase environment

export HBASE_HOME=/home/yujianxin/hbase/hbase-0.94.7-security

export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:$HADOOP_HOME/bin:$HBASE_HOME/hbase-0.94.7-security.jar:$HBASE_HOME/hbase-0.94.7-security-tests.jar:$HBASE_HOME/conf:$HBASE_HOME/lib/zookeeper-3.4.5.jar:$HBASE_HOME/lib/protobuf-java-2.4.0a.jar(配置此句,避免以后运行HBase MapReduce出错)

 

 

core-site.xml

fs.default.name

hdfs://master:9000

hadoop.tmp.dir

/home/yujianxin/hadoop/hadoop-1.1.2/HadoopTempDir

 

 

人为创建hadoop.tmp.dir

 

hdfs-site.xml

 

 

dfs.name.dir

/work/hadoop/name/name1,/work/hadoop/name/name2

动态挂载移动硬盘,挂载到/work路径下

dfs.data.dir

/work/hadoop/data/data1,/work/hadoop/data/data2

动态挂载移动硬盘,挂载到/work路径下

dfs.replication

3

dfs.permissions

false

 

 

 

注:

dfs.name.dir、dfs.data.dir目录不能人为创建,由Hadoop自动创建。

其中,

(1)dfs.name.dir是执行hadoop namenode -format时创建。

(2)dfs.data.dir是执行start-all.sh时创建。

 

 

 

mapred-site.xml

mapred.job.tracker

master:9001

mapred.local.dir

/work/hadoop/mapred/mapred1,/work/hadoop/mapred/mapred2

 

 

masters文件

 

master

 

 

slaves文件

 

slave1

slave2

 

 

 

格式化一个新的分布式文件系统

hadoop namenode -format

 

启动

start-all.sh

验证

方式一、查看启动的Java守护进程

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第5张图片

 

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第6张图片

 

 

方式二、通过web端

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第7张图片

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第8张图片

 

安装Zookeeper

cd/home/yujianxin/

mkdirzookeeper

tar–zxvf zookeeper-3.4.5.tar.gz

 

 

添加zookeeper环境变量(见附录)

 

修改conf/zoo_sample.cfg为zoo.cfg,配置

 

dataDir=/home/yujianxin/zookeeper/zookeeper-3.4.5/data

logDir=/home/yujianxin/zookeeper/zookeeper-3.4.5/log

 

server.0=master:2887:3887

server.1=slave1:2887:3887

server.2=slave2:2887:3887

 

 

在zookeeper-3.4.5文件夹创建data和log目录

在data文件夹下创建文件myid,里面填写zookeeper服务器的id号,如上面的server.0的0就是一个id号。

 

 

 

启动、测试

 

每台机器都执行

zkServer.sh start

zkServer.sh status

 

执行Zookeeper的Shell客户端命令zkCli.sh

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第9张图片

 

安装HBase

 

 

解压缩

cd/home/yujianxin/

mkdirhbase

tar–zxvf hbase-0.94.7-security.tar.gz

 

 

 

添加hbase环境变量(见博文附录)

 

修改conf/下的配置文件

hbase-env.sh

 

exportJAVA_HOME=/usr/java/jdk1.6.0_24/

exportHBASE_MANAGES_ZK=false  #不使用HBase自带的Zookeeper

 

hbase-site.xml

 

 

 

hbase.rootdir  

hdfs://master:9000/hbase_yjx         

HDFS提供底层存储   

     

        

hbase.cluster.distributed       

true   

     

        

hbase.zookeeper.quorum      

master,slave1,slave2 

关联Zookeeper集群   

     

        

dfs.replication            

3     

hbase.coprocessor.user.region.classes

org.apache.hadoop.hbase.coprocessor.AggregateImplementation

 

 

 

 

regionnserve

slave1

slave2

启动、验证

 

start-hbase.sh

 

验证一,查看HMaster、HRegionServer守护进程

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第10张图片

 

验证二、web端

 

Hadoop-1.1.2、HBase-0.94.7完全分布式集群搭建_第11张图片

 

 

 

附录:

/etc/profile(保留一份,以后当模板用就行了,哈哈)

 

# /etc/profile

# set java environment

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

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

 

配置jdk环境变量

export JAVA_HOME=/usr/java/jdk1.7.0_60
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=.:$PATH:$JAVA_HOME/bin

 

# set hadoop environment

exportHADOOP_HOME=/home/yujianxin/hadoop/hadoop-1.1.2

exportPATH=$PATH:$HADOOP_HOME/bin

exportHADOOP_HOME_WARN_SUPPRESS=not_null

 

# set zookeeper environment

exportZOOKEEPER_HOME=/home/yujianxin/zookeeper/zookeeper-3.4.5

exportPATH=$PATH:$ZOOKEEPER_HOME/bin

 

# set hbase environment

exportHBASE_HOME=/home/yujianxin/hbase/hbase-0.94.7-security

exportPATH=$PATH:$HBASE_HOME/bin

 

OK,基于Hadoop1、HBase的大数据处理分析开发环境搭建完毕,欢迎大家留言交流哟

 

Mahout学习中,Storm学习中...

 

你可能感兴趣的:(Hadoop)