大数据学习笔记(二)-hadoop安装【原创】

本文详细介绍Hadoop集群的搭建过程,包括三台服务器的配置、环境变量设置、SSH免密操作及Hadoop各组件的配置与启动等关键步骤。
Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracker组成。
其中NameNode,secondary NameNode,JobTracker运行在Master节点上,DataNode和TaskTracker运行在Slave节点上。


一、准备工作
1.1 centOS6服务器3台
master 192.168.3.140 (master.hadoop.zjportdns.gov.cn)
node1 192.168.3.141 (node1.hadoop.zjportdns.gov.cn)
node2 192.168.3.142 (node2.hadoop.zjportdns.gov.cn)
因为之前配置了DNS,所以只要在DNS私服设置相关域名即可。
1.2 下载安装包
[url=http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz]hadoop-2.7.3.tar.gz[/url]
上传到三台服务器/usr/local/目录下
1.3关闭防火墙
service iptables stop
1.4安装ntp服务
使用 rpm -q ntp 查询是否已安装,如未安装需要安装(略)
1.5安装JDK1.7 (略)
1.6使用hostname 命令查询主机名, 确保主机名能够被ping通。
1.7ssh免密操作
ssh-keygen -t rsa

一路回车,在/root/.ssh/目录下生成密钥文件。
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

将 id_rsa.pub 和 authorized_keys 文件拷贝到 node1和node2服务器的/root/.ssh/目录下,并修改权限。
chmod -R 700 /root/.ssh

验证:在master机器上执行命令,不需要输入密码能登录到node1就成功了。
ssh node1.hadoop.zjportdns.gov.cn

二、安装hadoop(如无特殊说明,三台服务器都要操作)
2.1 解压
cd /usr/local
tar -xvf hadoop-2.7.3.tar.gz

2.2设置环境变量
echo "export HADOOP_HOME=/usr/local/hadoop-2.7.3" >> /etc/profile
echo -e "export PATH=\$PATH:\$HADOOP_HOME/bin:\$HADOOP_HOME/sbin" >> /etc/profile
source /etc/profile
echo -e "export JAVA_HOME=/usr/local/jdk1.7.0_79" >> /usr/local/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
echo -e "export JAVA_HOME=/usr/local/jdk1.7.0_79" >> /usr/local/hadoop-2.7.3/etc/hadoop/yarn-env.sh

2.3查看hadoop版本
hadoop version

2.4创建工作目录

mkdir -p /hadoop/tmp
mkdir -p /hadoop/hdfs/data
mkdir -p /hadoop/hdfs/name

2.5修改配置文件(/usr/local/hadoop-2.7.3/etc/hadoop/目录下)
core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master.hadoop.zjportdns.gov.cn:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>

hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master.hadoop.zjportdns.gov.cn:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>

复制mapred-site.xml.template为mapred-site.xml,并修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master.hadoop.zjportdns.gov.cn:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master.hadoop.zjportdns.gov.cn:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master.hadoop.zjportdns.gov.cn:19888</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>http://master.hadoop.zjportdns.gov.cn:9001</value>
</property>
</configuration>

yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master.hadoop.zjportdns.gov.cn</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master.hadoop.zjportdns.gov.cn:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master.hadoop.zjportdns.gov.cn:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master.hadoop.zjportdns.gov.cn:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master.hadoop.zjportdns.gov.cn:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master.hadoop.zjportdns.gov.cn:8088</value>
</property>
</configuration>

slaves(去掉localhost,加上一下内容)
node1.hadoop.zjportdns.gov.cn
node2.hadoop.zjportdns.gov.cn

2.6 启动(只在master机器执行)
初次先格式化

cd /usr/local/hadoop-2.7.3/bin/
./hadoop namenode -format

启动

cd /usr/local/hadoop-2.7.3/sbin/
./start-all.sh

2.7 验证
在master上执行jps
[img]http://dl2.iteye.com/upload/attachment/0123/2003/6cec48d7-3da0-3ce0-9b3e-5c62f5a495ef.png[/img]
在node1上执行jps
[img]http://dl2.iteye.com/upload/attachment/0123/2005/c2b408eb-2522-34ee-966c-64f15fa3bf83.png[/img]
在node2上执行jps
[img]http://dl2.iteye.com/upload/attachment/0123/2007/1b4a0349-da30-31a3-980f-f84a94713c5b.png[/img]
浏览器访问master的50070,比如http://master.hadoop.zjportdns.gov.cn:50070 或8088端口
[img]http://dl2.iteye.com/upload/attachment/0123/2009/56788c0e-af77-3c41-be73-8841507ae303.png[/img]
2.8停止
/usr/local/hadoop-2.7.3/sbin/stop-all.sh
三常见问题
1. dataNode无法启动
可能是中途修改了hostname等因素造成, 需要将三台机器的初始化目录按2.4步骤清空,然后再执行格式化命令:./hadoop namenode -format。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值