① 关闭防火墙 /etc/init.d/iptables stop
② (重启之后不再开防火墙) chkconfig iptables off
③ 关闭selinux : vim /etc/selinux/config 把 SELINUX = enforcing 改为 : SELINUX= disabled
④ 修改主机名 : vim /etc/sysconfig/network 把 HOSTNAME = node01
⑤ ssh无密码拷贝数据 : 特别说明(在主节点 无密码 访问到从节点) ssh-keygen 连续按下三次空格 生成 公钥 , 密钥
ssh-copy-id node01 ssh-copy-id node02 ssh-copy-id node03 主节点 和 从节点 互相拥有 无密码登录权限
⑥ jdk1.8 安装 (在jdk安装 文章中 有详细介绍)
① 上传 Hadoop 压缩包 并 解压 :
② 配置 hadoop 环境变量 : 新建文件 /etc/profile.d/hadoop.sh ,编辑内容
export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0
export PATH=$PATH:$HADOOP_HOME/bin
③ 修改 hadoop 系统配置文件(可复制粘贴)
core-site.xml Hadoop 的核心配置文件 : 第一台机器执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim core-site.xml
<configuration> 从 property 开始 复制 <property> <name>fs.defaultFS</name> <value>hdfs://node01:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas</value> </property> <!-- 缓冲区大小,实际工作中根据服务器性能动态调整 --> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 --> <property> <name>fs.trash.interval</name> <value>10080</value> </property> </configuration>④ hdfs-site.xml 存储组件 的核心配置文件 : 第一台机器执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim hdfs-site.xml
<configuration> <!-- NameNode存储元数据信息的路径,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割 --> <!-- 集群动态上下线 <property> <name>dfs.hosts</name> <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/accept_host</value> </property> <property> <name>dfs.hosts.exclude</name> <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/deny_host</value> </property> --> <property> <name>dfs.namenode.secondary.http-address</name> <value>node01:50090</value> </property> <property> <name>dfs.namenode.http-address</name> <value>node01:50070</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas</value> </property> <!-- 定义dataNode数据存储的节点位置,实际工作中,一般先确定磁盘的挂载目录,然后多个目录用,进行分割 --> <property> <name>dfs.datanode.data.dir</name> <value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas</value> </property> <property> <name>dfs.namenode.edits.dir</name> <value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits</value> </property> <property> <name>dfs.namenode.checkpoint.dir</name> <value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name</value> </property> <property> <name>dfs.namenode.checkpoint.edits.dir</name> <value>file:///export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> <property> <name>dfs.blocksize</name> <value>134217728</value> </property> </configuration>⑤ mapred-site.xml 计算组件的核心配置文件 :第一台机器执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.job.ubertask.enable</name> <value>true</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>node01:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node01:19888</value> </property> </configuration>⑥ yarn-site.xml 资源调度的核心配置文件 :第一台机器执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>node01</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>⑦ 验证 hadoop 支持 哪些算法 : ./hadoop checknative
若 openssl 为 false 不支持,则需要 安装 yum -y install openssl-devel
⑧ 修改 slaves 文件 :第一台机器执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim slaves
node01 node02 node03⑨ 创建文件存放目录 : 第一台机器执行以下命令 node01机器上面创建以下目录
mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/tempDatas mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/namenodeDatas mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/datanodeDatas mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/edits mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/snn/name mkdir -p /export/servers/hadoop-2.6.0-cdh5.14.0/hadoopDatas/dfs/nn/snn/edits⑩ 安装包的分发从节点 : 第一台机器执行以下命令
cd /export/servers/
scp -r hadoop-2.6.0-cdh5.14.0/ node02:$/export/servers scp -r hadoop-2.6.0-cdh5.14.0/ node03:$/export/servers⑪ 配置Hadoop的环境变量 :三台机器都要进行配置Hadoop的环境变量 、三台机器执行以下命令
vim /etc/profile.d/hadoop.sh
export HADOOP_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0 export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH配置完成之后 更新 生效 : source /etc/profile
要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个集群。
注意:首次启动HDFS时,不要对其进行格式化操作。本质上是一些清理和准备工作,因为此时的 HDFS 在物理上还是不存在的
bin/hdfs namenode -format 或者 bin/Hadoop namenode –format
⑫ 脚本一键启动 HDFS、Yarn :
如果配置了 etc/Hadoop/slaves 和 ssh 免密登录,则可以使用程序脚本启动所有Hadoop 两个集群的相关进程,在主节点所设定的机器上执行。
启动集群 : node01节点上执行以下命令 、第一台机器执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0/sbin ./start-dfs.sh ./start-yarn.sh停止集群:没事儿 不要去停止集群 !!!!!!
./stop-dfs.sh ./stop-yarn.sh⑬ 脚本一键启动所有
一键启动集群 ./start-all.sh 一键关闭集群 ./stop-all.sh脚本位于 $HADOOP_PREFIX/sbin/ 目录下。如果想要停止某个节点上某个角色,只需要把命令中的start 改为stop 即可。
hdfs集群访问地址: http://192.168.100.201:50070/dfshealth.html#tab-overview ip地址改为自己的地址
yarn集群 访问地址: http://192.168.100.201:8088/cluster ip地址改为自己的地址