Hadoop平台安装配置和升级

2台主机:zk1(10.0.0.202),zk2(10.0.0.203),假设将zk1做namenonde,将zk2做datanode
1.在zkl1:(zk2上操作和以下相同)
vi /etc/hosts
zkl1 10.0.0.202
zkl2 10.0.0.203
2.用root登陆,建立hadoop用户
useradd hadoop
passwd hadoop
输入111111做为密码
3.su - hadoop #进入hadoop用户目录
ssh-keygen -t rsa #建立ssh目录,敲回车到底
cd .ssh
scp -r id_rsa.pub hadoop@zkl2:/home/hadoop/.ssh/authorized_keys
#将zkl1上的密钥传到zkl2的hadoop用户下,重命名为authorized_keys
用hadoop用户进入zkl2
scp -r id_rsa.pub hadoop@zkl1:/home/hadoop/.ssh/authorized_keys
#将zkl2上的密钥传到zkl1的hadoop用户下

在zkl1和zkl2上执行以下操作
cat id_rsa.pub >> authorized_keys #将本地密钥添加到authorized_keys
这样2台之间就可以不用密码直接ssh访问

编辑zkl1,zkl2的/etc/profile,增加如下内容
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

export HADOOP_HOME=/home/hadoop/hadoop-0.19.0
export PATH=$PATH:$HADOOP_HOME/bin

4.安装JDK到/usr/local下命名为jdk1.6
-----------------------------------------
hadoop配置:

1.将下载好的hadoop-0.19.0.tar.gz文件上传到zkl1的/home/hadoop
tar zxvf hadoop-0.19.0.tar.gz #解压文件
2.修改4个文件hadoop-site.xml,hadoop-env.sh,masters,slaves
masters:
zkl1

slaves:
zkl2

hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.6

hadoop-site.xml:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>

<property>

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

<value>hdfs://zkl1:54310/</value>

</property>

<property>

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

<value>hdfs://zkl1:54311/</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value> #指定 HDFS 中每个 Block 被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3

</property>

<property>

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

<value>/home/hadoop/tmp/</value> #hadoop的tmp目录路径

</property>


<property>

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

<value>/home/hadoop/name/</value> #hadoop的name目录路径

</property>

<property>

<name>mapred.child.java.opts</name>
<value>-Xmx512m</value> #进程

</property>

<property>

<name>dfs.block.size</name>

<value>67108864</value>

<description>The default block size for new files.</description>

</property> #新文件默认block大小

<property>
<name>dfs.permissions</name>
<value>false</value> #效验HDFS文件系统权限
</property>

<property>
<name>dfs.web.ugi</name>
<value>hadoop,supergroup</value> #hadoop页面访问权限
</property>

<property>
<name>heartbeat.recheck.interval</name>
<value>5000</value> #心跳间隔时间,5000秒=40分
</property>

</configuration>

3.配置好后先在/home/hadoop下建立/tmp目录
然后进入hadoop的bin目录hadoop namenode -format 格式化namenode
start-dfs启动namenode上的hadoop
netstat -tnl查看50070,54310,50090端口是否启动
http://zkl1:50070访问

4.将配置好的hadoop打包
cd /home/hadoop
tar -cvf hadoop-0.19.0.tar.gz hadoop-0.19.0/
scp -r hadoop-0.19.0.tar.gz hadoop@zkl2:/home/hadoop
在zkl2上配置和zkl1一样,只需修改hadoop-site.xml文件
去掉
<property>

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

<value>/home/hadoop/name/</value> #hadoop的name目录路径

</property>
增加一句
<property>

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

<value>/home/hadoop/data/</value> #hadoop的data目录路径

</property>

5.进入hadoop的bin目录,start-dfs启动datanode节点
6.hadoop dfs -mkdir test #建立test目录
7.hadoop dfs -put /tmp/1.txt test #将/tmp下1.txt文件上传到test目录
8.hadoop dfs -ls test #查看test目录下文件
-------------------------------------------------
将hadoop-0.19.0升级到hadoop-0.19.1
下载hadoop-0.19.1,传至zkl1,并且和hadoop-0.19.0同样的配置后,分派到zkl2.
停止zkl1上的群集,bin/stop-dfs.sh,进入zkl1的hadoop-0.19.1,bin/start-dfs.sh -upgrade启动namenode,这样就升级完成。

如果有需要回到老版本的Hadoop,那么可以:
a.停止集群,分发部署老版本的Hadoop
b.通过rollback选项启动集群,例如bin/start-dfs.sh -rollback

注:
1.启动时如出错则检查hadoop下的logs目录,在启动namenode问题检查hadoop-hadoop-namenode-zkl1.log,启动datanode问题检查hadoop-hadoop-datanode-zkl2.log
2.namenode上需建立tmp目录,datanode上需建立tmp和data目录
3.如果格式化namenode则要删除name目录后重新格式化
4.目录权限要注意,如果用hadoop用户名,则目录权限都要是hadoop用户和hadoop组.

以上是我亲自实验步骤,毕竟第一次写这类文章,如有不足欢迎补充。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值