hadoop集群安装配置文档

1、  配置主机名和ip

(1)       Network配置完成,使ip可以互相ping通;

(2)       修改/etc/sysconfig/network中HOSTNAME的值,分别为Master、Slaves1、Slaves2、Slaves3;

(3)       在/etc/hosts中添加所有主机的ip和主机名,如(样式):

               192.168.2.111  Master

               192.168.2.112  Slaves1

(4)  所有主机均创建hadoop用户

                                                    



 

 

 

 

 

 

 

 

                                                                                                                                                      

2、  安装jdk

1、  利用Xshell工具,在每台主机上安装rz(上传工具),sz(下载工具),执行yum install lrzsz  即可;

2、  利用Xshell工具,在每台主机上上传jdk(1.7.0_51)并解压到/usr/local/jdk下;

3、  修改/etc/profile,如下:

    #set java environment

    export JAVA_HOME=/usr/local/jdk/jdk1.7.0_51

    export JRE_HOME=/usr/local/jdk/jdk1.7.0_51/jre

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

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

4、  执行source /etc/profile;

输入java  -version,出现jdk版本号即jdk安装成功;

   

3、  安装SSH无密码登陆机制

[hadoop@Master ~]$ ssh-keygen -t rsa -P ""

   Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): /home/hadoop/.ssh/id_rsa

[hadoop@Master ~]cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

[hadoop@Master ~]chmod 700 ~/.ssh/

[hadoop@Master ~]chmod 600 ~/.ssh/authorized_key

#验证

[hadoop@Master ~]ssh localhost

[hadoop@Master ~]ssh Slaves1

#复制ssh配置到其它机器

[hadoop@Master ~]ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoop@Slaves1

[hadoop@Master ~]ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoop@Slaves2

[hadoop@Master ~]ssh-copy-id -i $HOME/.ssh/id_rsa.pub hadoop@Slaves3

#在Master主机上再验证ssh Slaves1即可无密码登陆成功

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


4、  安装HDFS

(1)    切换到hadoop用户,利用Xshell工具上传hadoop-1.2.1.tar到/home/Hadoop/目录下,并解压:/home/Hadoop/Hadoop-1.2.1;

(2)    修改Master主机上的/etc/profile新增如下内容(其他主机应该不需要,不过我也配置了),然后执行source /etc/profile使文件生效。

#hadoop1.2.1

export HADOOP_HOME=/home/hadoop/hadoop-1.2.1

export PATH=$PATH:$HADOOP_HOME/bin

#需要添加下边这句,不然启动的时候一直会有warning$HADOOP_HOME is deprecated

export HADOOP_HOME_WARN_SUPPRESS=1

 

                                                                                                                                  

(3)    配置conf/hadoop-env.sh文件,添加:

#这里修改为jdk的安装路径

export JAVA_HOME=/usr/local/jdk/jdk1.7.0_51/

 


(4)    测试hadoop的安装

$  cd  /home/Hadoop/hadoop-1.2.1

$  hadoop  jar Hadoop-1.2.1-examples.jar wordcount conf/ /tmp/out

#可以看到/tmp/out/文件夹下有文件part-r-00000(里面记录这每一个文件的count)

 

 

 

 

 


(5)    集群配置(所有主机节点相同)

5.1 配置文件:conf/core-site.xml

<configuration>

    <property>

        <name>fs.default.name</name>

        <value>hdfs://Master:9000</value>

   </property>

   <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/hadoop/tmp</value>

    <description>A base for other temporary directories.</description>

</property>

#tmp文件夹不用提前创建

</configuration>

 

 

fs.default.name是NameNode的URI。hdfs://主机名:端口/hadoop.tmp.dir:Hadoop的默认临时路径,这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令。

      5.2 配置文件:conf/mapred-site.xml

<configuration>

    <property>

        <name>mapred.job.tracker</name>

        <value>Master:9001</value>

    </property>

   <property>

        <name>mapred.local.dir</name>

        <value>/home/hadoop/tmp</value>

   </property>

</configuration>

 

mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。

5.3 配置文件:conf/hdfs-site.xml

<configuration>

   <property>

       <name>dfs.name.dir</name>

       <value>/home/hadoop/name1,/home/hadoop/name2</value>

   </property>

   <property>

       <name>dfs.data.dir</name>

       <value>/home/hadoop/data1,/home/hadoop/data2</value>

    </property>

    <property>

       <name>dfs.replication</name>

       <value>3</value>

    </property>

</configuration>

   

 dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。

dfs.data.dir是DataNode存放块数据的本地文件系统路径,逗号分割的列表。当这个值是逗号分割的目录列表时,数据将被存储在所有目录下,通常分布在不同设备上。

dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。

注意:此处的name1、name2、data1、data2目录不能预先创建,hadoop格式化时会自动创建,如果预先创建反而会有问题。

  5.4 配置masters和slaves主从节点(最好使用主机名,避免以后ip变动)

$vim masters:

输入:

Master

$vim slaves:

输入:

Slave1

Slave2

Slave3

   

(6)    配置结束,把配置好的hadoop文件夹拷贝到其他集群的机器中,并且保证上面的配置对于其他机器而言正确,例如:如果其他机器的Java安装路径不一样,要修改conf/hadoop-env.sh

$scp -r /home/hadoop/hadoop-1.2.1 Slave1:/home/hadoop/

$scp -r /home/hadoop/hadoop-1.2.1 Slave2:/home/hadoop/

$scp -r /home/hadoop/hadoop-1.2.1 Slave3:/home/hadoop/

 

 

 

 

 


(7)    格式化一个分布式文件系统,需要先关闭防火墙,不然会报错

需要重新格式化了,把所有东西都删掉

#所有主机都需要关闭防火墙

sudo service iptables stop

#Master主机执行

hadoop namenode –format

#启动所有节点,启动顺序为

#namenode>datanode>secondnamenode>jobtracker>tasktracker

start-all.sh

#关闭所有节点

# jobtracker>tasktracker>namenode>datanode>secondnamenode

   

(8)   测试

8.1 用jps检验各后台进程是否成功启动

8.2 用hadoop dfsadmin –report查看hadoop集群的状态

8.3 通过浏览器和http访问NameNode和JobTracker的网络接口

Namenode:http://Master:50070/

JobTracker:http://Master:50030/

8.4 使用netstat-net查看端口9000和9001是否正在使用

 

5、  zookeeper的安装

(1) 利用Xshell工具将下载好的zookeeper上传到/usr/local目录下,解压文件;改名字zookeeper

(2)修改/etc/profile,添加

#zookeeper

export ZOOKEEPER_HOME=/usr/local/zookeeper

export PATH=$PATH:$ZOOKEEPER_HOME/bin

(3)进入/usr/local/zookeeper/目录下,新建文件夹data(作为数据目录);

(4)重命名/usr/local/zookeeper/conf 目录下的zoo_sample.cfg 为zoo.cfg;

(5)修改/conf/zoo.cfg配置文件,如下:

#dataDir=/tmp/zookeeper 

         dataDir=/usr/zookeeper/data 

         clientPort=2181 

         initLimit=10 

         syncLimit=5 

         tickTime=2000 

         server.1=192.168.2.105:2888:3888 

         server.2=192.168.2.106:2888:3888 

         server.3=192.168.2.107:2888:3888

   

(6)在/data目录下新建文件,文件名为myid,并在对应的机器上输入对应的编号,如192.168.2.105机器上输入1,192.168.2.106机器上输入2;

(7)修改防火墙配置如下,然后执行防火墙重启命令:service iptables restart

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888 -j ACCEPT

 

   

(8)启动zookeeper

启动:/usr/local/zookeeper3.4.5/bin/zkServer.sh start

停止:/usr/local/zookeeper3.4.5/bin/zkServer.sh stop

重启:/usr/local/zookeeper3.4.5/bin/zkServer.sh restart

检查状态:/usr/local/zookeeper3.4.5/bin/zkServer.sh status

注:可能需要安装nc包,则执行yum install nc


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值