Hadoop安装文档

安装方式:tar包安装

一、安装规范

安装帐号:新建操作系统帐号,推荐HBase帐号,集群间ssh该帐号免互联
安装目录:/opt/,EC2由于opt目录较小,可以安装在/mnt/,(下文的示例是安装在/usr/local下)
安装版本:Hadoop-2.4,HBase-0.96
数据存放地址:数据磁盘挂载在/vobiledata,大小一致,目录命名/vobiledata/HadoopData )

二、准备

1、安装java环境

aptitude install java7-jdk( aptitude install openjdk-7-jdk)

2、添加帐号

groupadd hbase
useradd -m hbase -g hbase -s /bin/bash -d /home/hbase

3、创建目录

mkdir -p /vobiledata/HadoopData 
chown-R hbase:hbase /vobiledata/HadoopData

4、安装配置免密码登录

ssh-keygen -t rsa -P '' -f~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

获取所有机器pub key放到authorized_keys文件后再分发至所有机器

5、编辑/etc/hosts,添加集群主机(假设是三台)

192.168.40.201 debian1
192.168.40.200 debian2
192.168.40.197 debian3

三、Hadoop安装流程

1、安装

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.4.0/hadoop-2.4.0.tar.gz 

tar zxvf hadoop-2.4.0.tar.gz

mv hadoop-2.4.0 /usr/local/hadoop

2、配置

cd /usr/local/hadoop/etc/hadoop/

修改hadoop-env.sh,添加

# The java implementation to use.

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop

export PATH=$PATH:/usr/local/hadoop/bin

修改hdfs-site.xml

 
dfs.replication 
3 
 
 
dfs.namenode.name.dir 
/vobiledata/HadoopData/dfs/name 
 
 
dfs.datanode.data.dir 
/vobiledata/HadoopData/dfs/data 
 
 
hadoop.tmp.dir 
/vobiledata/HadoopData 
 

配置core-site.xml

 
         
        fs.default.name 
        hdfs://debian1:9000 
         
 

如果需要mapreduce需要以下配置

配置mapred-site.xml,设置Hadoop的执行框架:mapreduce.framework.name

       
             mapreduce.framework.name
             yarn
        
  

配置yarn-site.xml

                
                        yarn.nodemanager.aux-services
                        mapreduce_shuffle
                
                
                        yarn.resourcemanager.hostname
                        debian1
                
        

配置 masters, 加上要启动datenode的机器主机名,例如localhost或者debian1

配置slaves,加上要启动namenode的机器主机名,例如伪分布式就用localhost,完全分布式加上deibian1,debian2,debian3

PS:配置好后将配置文件传到各台机器

3、格式化hdfs

cd /usr/local/hadoop

./bin/hadoop namenode -format

执行后看到sucessful才能说明格式化成功

4、启动hadoop

cd /usr/local/hadoop/sbin

./start-dfs.sh(需要map-reduce的话还需要启动start-yarn.sh)

三、安装zookeeper流程

1、安装

wget http://mirror.bit.edu.cn/apache//zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

tar -xzvf zookeeper-3.4.6.tar.gz

mv zookeeper-3.4.6 /usr/local/zookeeper

2、配置

vi .bashrc 加入

export ZOOKEEPER_HOME=/usr/local/zookeeper
PATH=$PATH:$ZOOKEEPER_HOME/bin

cd/usr/local/zookeeper/conf

修改zoo.cfg

dataDir=/vobiledata/HadoopData/zookeeper

PS:配置好后将配置文件传到各台机器

3、启动

cd /usr/local/zookeeper/bin

./zkServer.sh start

四、hbase 安装流程

1、安装

wget http://mirror.bit.edu.cn/apache/hbase/hbase-0.96.2/hbase-0.96.2-hadoop2-bin.tar.gz

tar -xzvf hbase-0.96.2-hadoop2-bin.tar.gz

mv hbase-0.96.2-hadoop2 /usr/local/hbase

2、配置

cd /usr/local/hbase/conf

配置hbase-env.sh,加入以下配置

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

export HBASE_HOME=/usr/local/hbase/

export HADOOP_HOME=/usr/local/hadoop/

export HBASE_MANAGES_ZK=false  --(需要用到hbase复制的话,就必须独立安装zookeeper)

export PATH=$!PATH:/usr/local/hadoop/bin

配置hbase-site.xml

hbase.rootdir
hdfs://debian1:9000/hbase


hbase.zookeeper.property.dataDir
/vobiledata/HadoopData/zookeeper


hbase.zookeeper.quorum
debian1,debian2,debian3


hbase.cluster.distributed
true


hbase.master.port
60000


   hbase.replication
   true      --- hbase复制需要配置


配置regionservers,加上要启动regionservers的机器主机名,例如伪分布式就用localhost,完全分布式加上deibian1,debian2,debian3

PS:配置好后将配置文件传到各台机器

3、启动hbase

cd /usr/local/hbase

./bin/start-hbase.sh

查看所有进程是否启动

jps
14095 HMaster 
14215 HRegionServer
13836 SecondaryNameNode
5690 Jps
13687 DataNode
22618 QuorumPeerMain
13573 NameNode

五、Hbase复制配置(可选)

1、确保各机器hbase-site.xml中已配置了

 

hbase.replication true

 

2、执行add_peer '', "slave.zookeeper.quorum:zookeeper.clientport.:zookeeper.znode.parent"

例如 add_peer '1', "debian1,debian2,debian3:2181:/hbase"

where is the peer ID; it should not be more than two characters(longer IDs may work, but have not been tested).

slave.zookeeper.quorum 为slave服务器上hbase配置文件中hbase-site.xml中hbase.zookeeper.quorum

zookeeper.clientport 默认为2181

zookeeper.znode.parent 可直接用/hbase

执行list_peers可看是否加上

3、复制需要保证每张表的每个列簇都开启复制选项

disable 'your_table'

alter 'your_table', {NAME => 'family_name', REPLICATION_SCOPE=> '1'}

enable 'your_table'

或者创建的时候直接指定REPLICATION_SCOPE => '1'

create 'test',{NAME => 't1', REPLICATION_SCOPE => '1'},{NAME=> 't2', REPLICATION_SCOPE => '1'}

4、插入数据,测试是否能够复制




另,详细的配置文档也可参照:http://www.oschina.net/question/54100_24054

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章