一:准备环境
三台虚拟机,一台主节点master,两台从节点node1和node2并修改ip地址和主机名
Hadoop2.6.0压缩包
二:
1.设置主机名与ip映射,修改配置文件命令:vi /etc/hosts
2.将hosts文件拷贝到node1和node2节点
命令:
scp /etc/hosts node1:/etc/hosts
scp /etc/hosts node2:/etc/hosts
3.上述修改完成后,请依次重启三台虚拟机:重启命令:reboot
3.1.关闭防火墙(三台都要操作),使用命令:service iptables stop
3.2.关闭防火墙的自动启动(三台都要操作),使用命令:chkconfig iptables off
3.3.设置ssh免密码登录(只在Master 这台主机操作)
3.3.1主节点执行命令ssh-keygen -t rsa 产生密钥 一直回车 执行命令
将密钥拷贝到其他两个子节点,命令如下:
ssh-copy-id -i node1
ssh-copy-id -i node2
实现免密码登录到子节点。
3.3.2 实现主节点master本地免密码登录
首先进入到/root 命令:cd /root
再进入进入到 ./.ssh目录下
命令:cd ./.ssh/
然后将公钥写入本地执行命令:
cat ./id_rsa.pub >> ./authorized_keys
4.将hadoop的jar包上传到虚拟机/usr/local/soft目录下
上传好执行命令:tar -zxvf hadoop-2.6.0.tar.gz 进行解压,解压完就会出现hadoop-2.6.0目录
5.修改master中hadoop的一个配置文件/usr/local/soft/etc/hadoop/slaves
删除原来的所有内容,修改为如下
6.修改hadoop的几个组件的配置文件 进入cd /usr/local/soft/hadoop-2.6.0/etc/hadoop 目录下(请一定要注意配置文件内容的格式,可以直接复制过去黏贴。不要随意改)
* 修改hadoop-env.sh文件
加上一句:
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
7.修改 core-site.xml
将下面的配置参数加入进去修改成对应自己的
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/soft/hadoop-2.6.0/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
8.修改 hdfs-site.xml 将dfs.replication设置为1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
9.修改文件yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>20480</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
</configuration>
10修改 mapred-site.xml(将mapred-site.xml.template 复制一份为 mapred-site.xml
命令:cp mapred-site.xml.template mapred-site.xml)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
11.将hadoop的安装目录分别拷贝到其他子节点
scp -r /usr/local/soft/hadoop-2.6.0 node1:/usr/local/soft/
scp -r /usr/local/soft/hadoop-2.6.0 node2:/usr/local/soft/
12. 启动hadoop
首先看下hadoop-2.6.0目录下有没有tmp文件夹。
如果没有 执行一次格式化命令:
cd /usr/local/soft/hadoop-2.6.0目录下
执行命令:./bin/hdfs namenode -format
会生成tmp文件。
然后/usr/local/soft/hadoop-2.6.0目录下
启动执行:./sbin/start-all.sh
13.启动完成后通过jps命令查看验证进程:jps
主节点进程为下面几个(下面是进程名称,不是命令):
Namenode
secondarnamenode
resourcemanager
查看node1和node2的jps
14.验证hdfs:
可以windows电脑登录浏览器(强烈建议chrome浏览器)
地址:192.168.1.80:50070 (ip地址是master的地址)
看到下面页面证明 hdfs装好了
下图是我已经创建了一个hdfs上的目录,刚装好的hadoop应该是空的什么都没有
//=========如果第一次启动失败了,请重新检查配置文件或者哪里步骤少了==================
再次重启的时候
1需要手动将每个节点的tmp目录删除:
rm -rf /usr/local/soft/hadoop-2.6.0/tmp
然后执行将namenode格式化
2在主节点执行命令:
./bin/hdfs namenode -format
如果在put文件的过程中出现了_COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).
的报错
1 格式化重来
2 如果不行,看下时间,防火墙
3 修改 hosts文件,把里面那两条删了