hadoop集群部署-笔记

时间:2025-04-03

hadoop集群部署

1) 安装jdk

下载jdk-6u21-linux-i586.bin 然后修改/etc/profile:

export JAVA_HOME=/usr/local/jdk

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$PATH:$JAVA_HOME/bin

保存,并执行source /etc/profile 2) 配置host

Namenode的机器,需要配置集群中所有机器的ip 修改/etc/hosts

10.10.236.190 master 10.10.236.191 slave-A 10.10.236.193 slave-B

其他的datanode的/etc/hosts 只需要配置namenode的机器ip和本机ip

10.10.236.190 master 10.10.236.191 slave-A

修改hostname(可选)

vi /proc/sys/kernel/hostname 3) 建立ssh无密码登录 首先进到root目录下

root@master:~# $ssh-keygen -t rsa

进入.ssh目录

root@master:~/.ssh# cp id_rsa.pub authorized_keys

其余的datanode的机器 新建.ssh目录

root@slave-A:~# mkdir .ssh

在name(master)上远程拷贝

root@master:~/.ssh# scp authorized_keys slave-A:/root/.ssh/

测试ssh

4) 安装hadoop

下载Hadoop 解压到每台服务器的/data/soft 解压

root@master:/data/soft# tar zxvf hadoop-0.21.0.tar.gz

建立软连

root@master:/data/soft# ln -s hadoop-0.21.0 hadoop

然后修改/etc/profile

export HADOOP_HOME=/data/soft/hadoop

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

5) 配置hadoop

1.修改conf/hadoop-env.sh,添加jdk支持

export JAVA_HOME=/usr/local/jdk

如果ssh端口不是默认的22,在conf/hadoop-env.sh里改下。如:

export HADOOP_SSH_OPTS="-p 1234"

2.修改conf/core-site.xml,增加下面内容

<property>

<name>http://www.77cn.com.cn</name>

<value>hdfs://master:54310</value> //这个才是真正决定namenode </property> <property>

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

<value>/data/hdfs/tmp</value> //临时文件,有问题的时候,可以删除 <description>A base for other temporary directories.</description> </property>

3.修改conf/hdfs-site.xml,增加下面内容

<property>

<name>http://www.77cn.com.cn.dir</name>

<value>/data/hdfs/name</value> //namenode持久存储名字空间,事务日志的本地路径 </property> <property>

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

<value>/data/hdfs/data</value> //datanode存放数据的路径 </property> <property>

<name>dfs.datanode.max.xcievers</name> <value>4096</value> </property> <property>

<name>dfs.replication</name>

<value>1</value> //数据备份的个数,默认是3 </property>

3.修改conf/mapred-site.xml,增加下面内容

<property>

<name>mapred.job.tracker</name> //jobTracker的主机 <value>master:54311</value> </property>

4. .修改conf/masters,这个决定那个是secondarynamenode

master

5 .修改conf/slaves,这个是所有datanode的机器

slaves-A slaves-B

6) 将配置好的hadoop拷贝到所有的datanode

root@master:/data/soft/hadoop/conf# scp -rp /data/soft/hadoop-0.21.0 10.10.236.191:/data/soft/hadoop-0.21.0

在datanode上建立对应的软连

7) 格式化hdfs文件系统的namenode

root@master:/data/soft/hadoop# bin/hadoop namenode –format

输入Y

8) 启动hadoop集群

root@master:/data/soft/hadoop# bin/start-all.sh

9) Hdfs操作 建立目录

root@master:/data/soft/hadoop # bin/hadoop dfs -mkdir testdir

查看现有文件

root@master:/data/soft/hadoop # bin/hadoop dfs -ls

10) 关闭Hdfs

root@master:/data/soft/hadoop# bin/stop-all.sh

hadoop部署注意项

namenode磁盘: sas带RAID,多磁盘存储文件系统元信息.

datanode配置: 不带RAID, 双网卡: 一个用于内部数据传输,一个用于外部数据传输.

hadoop各节点的分布:namenode和jobtracker部署:namenode与jobtracker分离.tasktracker与datanode配对. Trash: hadoop回收站功能默认是禁止的,删除文件,就是直接删除了,所以要记得配置好trash。trash功能还是不错的,当rm后,它会move到当前文件夹下的.Trash目录下,误删文件后,可以到对应的.Trash目录下恢复文件,参考配置属性fs.trash.interval。 备份:namendoe的元数据切记做好多处备份,包括热备和冷备,否则元数据一丢,整个集群的数据都无法恢复了。热备:namenode的元数据配置写两份,一分写本地,另一份写远程nfs。冷备:定时拷贝namenode的元数据到远程的nfs,保留十天甚至更长。 Datanode的数据目录:如果datanode对应的机器上有多块磁盘,例如/disk1-/disk3,dfs.data.dir可以配置

为”/disk1/data,/disk2/data,/disk3/data”,datanode会在写数据时,以轮询的方式选择一个目录写入数据,一般这些目录是不同的块设备,不存在的目录会被忽略掉,参考配置属性dfs.data.dir.datanode如果有多个磁盘不建议做raid,因为做raid会有性能损失,还会导致一个磁盘坏了,整个硬盘也不能用了,而hadoop可以规避这个问题。

Tasktracker的中间输出目录: MapReduce产生的中间数据会特别多,为了减少磁盘压力,如果机器有多个磁盘,也可以像datanode的数据目录设为”/disk1/local,/disk2/local,/disk3/local”,参考配置属性mapred.local.dir。

map和reduce任务的JVM选项:mapred.child.java.opts配置map和reduce子进程的JVM属性,如果内存充裕,可以改为 -Xmx2400m.

Tasktracker的map和reducer数量配置: 属性mapred.tasktracker.map.tasks.maximum配置这个tasktracker同时可以最多跑多少个 …… 此处隐藏:12182字,全部文档内容请下载后查看。喜欢就下载吧 ……

hadoop集群部署-笔记.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219