准备条件:
* unix系统
* 安装JDK1.6以上版本
* SSH免密码登陆配置
* 修改主机名
* 修改/etc/hosts文件
集群配置分布
主机(ip) 主从节点 进程
hadoop1(192.168.137.121) master NameNode,secondaryNameNode,resourcemanager
hadoop2(192.168.137.122) slave nodeManager,dataManager
hadoop3(192.168.137.123) slave nodeManager,dataManager
hadoop4(192.168.137.124) slave nodeManager,dataManager
配置步骤
1 配置JDK
略
2 配置SSH免登陆
略
3 修改每台机器的主机名
hostname 主机名称 (如 hostname hadoop1)
4 修改hosts文件
用vim /etc/hosts
添加以下代码
192.168.137.121 hadoop1
192.168.137.122 hadoop2
192.168.137.123 hadoop3
192.168.137.124 hadoop4
5 配置hadoop 集群
1)修改 hadoop-env.sh,mapred-env.sh,yarn-env.sh的jdk环境变量
hadoop-evn.sh
mapred-env.sh
yarn-env.sh
2) 修改core-site.xml文件
在里面添加如下内容
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop-2.2.0/tmp</value>
</property>
3) 修改hdfs-site.xml文件
在里面添加如下内容
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:9001</value>
</property>
<property>
<name>dfs.replaction</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
4) 修改mapred-site.xml(如果没有这个文件新建这个文件)
添加以下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
5) yarn-site.xml
添加以下内容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>hadoop1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
</property>
修改完成后讲hadoop-2.2.0 复制到hadoop2,hadoop3 ,hadoop4 机器上
这里建议采用 以下命令复制
scp -r /opt/hadoop/hadoop2.2.0 root@hadoop2:/opt/hadoop/
scp -r /opt/hadoop/hadoop2.2.0 root@hadoop3:/opt/hadoop/
scp -r /opt/hadoop/hadoop2.2.0 root@hadoop4:/opt/hadoop/
6 格式化namenode
hadoop namenode -format
7 启动hadoop
start-dfs.sh
start-yarn.sh
(注意 start-all.sh 这个已经过时,不建议采用)
8 验证
在hadoop1,hadoop2,hadoop3,hadoop4上分别输入jps查看进程是否启动
hadoop1
hadoop2
hadoop3
hadoop4
另外可以再浏览器中输入 http:\\hadoop1:50070来验证