实验环境:虚拟机数量:3
jdk版本:jdb1.8.0(1.7版本以上就可以)
hadoop版本:hadoop2.7.4
运行内存:8G
1.0准备好三台虚拟机
1.1打开一个终端,并查看IP地址,如没有IP地址,修改/etc/sysconfig/network/ifcfg-eno16777736文件,将ONBOOT=yes在重启一下网络服务就好了
1.2ping一个外网网址,确保能够ping,两台节点都要去确保ping通
1.3配置主机名(各节点虚拟机都执行此操作,主机名分别为master、slave)以下操作步骤需要root权限,所以要先切换到root用户,这里以master用户为例,用vi编辑器编辑,检测主机名是否修改成功,如下图所示
1.4配置时钟同步(使用root权限,各个虚拟机都需要执行此步骤)进入插入模式,输入下面内容
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
手动同步时间,直接在在terminal运行下main的命令
1.5关闭防火墙(使用root权限,各个虚拟机都需要执行此操作)
1.6编辑主机名列表,
1.7配置免密登陆
1.7.1在master节点上,先从root用户退到普通用户zkpk,在终端生成密钥,命令如下(一路回车完成密钥生成)
1.7.2生成密钥进入用户根目录.ssh字母来中
1.7.3进行复制公钥文件,执行ll命令会看到下图文件列表
1.7.4修改authorized_keys文件的权限,命令如下chmod 600 ~/.ssh/authorized
1.7.5将专用密钥添加到ssh-agent的高速缓存中(注:如果出现错误,执行ssh-agent bash ,在添加,就可以了)
1.7.6 将authorized_keys文件复制到slave01节点zkpk用户的根目录,命令如下(注:提示输入yes/no时候,输入yes,然后密码是slave用户的密码)
1.7.7在slave01节点,在终端生成密钥,一路回车,然后将authorized_keys文件移动到.ssh目录(住:在zkpk用户下)
1.7.8验证免密登陆,在master节点远程登陆slave01,出现下图所示就表示登录成功
2.安装JDK(三台节点都只执行此操纵)
2.1先查看系统是否指代jdk,如有,先删除,没有,就跳过此步骤
2.2删除系统自带的jdk,在root用户下操作
2.3创建存放Java文件目录
2.4将Jdk的压缩包上传到/home/zkpk/目录下,我这里用securceFX工具上传,先登陆
查看是否存在
2.5将jdk的压缩包解压到/usr/java目录下
2.6用vi修改,bash_profile,在最后添加以下内容
2.7使环境变量生效:,并查看Java是否配置成功,出现下图就成功了
3.0安装部署Hadoop集群(zkpk用户)
3.1上床Hadoop的压缩包
3.2将Hadoop的压缩包解压到/home/zkpk目录下
使用下面的命令
tar -xzvf /home/zkpk/Hadoop-2.7.4.tar.gz -C /home/zkpk
3.3配置Hadoop-env.sh文件,修改export JAVA_HOME=,将Java的路径添加进来
3.4配置JAVA_HOME环境变量,修改JAVA_HOME环境变量
3.5配置core-site.xml文件
用下面代码替换
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/zkpk/hadoopdata</value> </property> </configuration> |
3.6配置hdfs-site.xml文件
用下面代码替换
l-stylesheet type="text/xsl" href="configuration.xsl"?> <!-- Put site-specific property overrides in this file. --> <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> </configuration> |
3.7配置yarn-site.xml文件
用下面代码替换yarn-site.xml中的内容
<?xml version="1.0"?> <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:18030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:18025</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:18141</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:18088</value> </property> </configuration> |
3.8配置mapred-site.cml文件,复制mapred-site-template.cml文件
3.8.1用vi编辑器编辑mapred-site.xml中的内容,用下面的代码替换
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration> |
3.9配置slaves文件,用vi编辑器编辑文件,替换里面的内容为slave(为从节点的主机名)
3.10 创建Hadoop数据目录
3.11使用奢scp命令将Hadoop文件夹复制到slaver节点上,(在两台节点分别操作此步骤)
3.12配置Hadoop的环境变量(在两台节点分别操作此步骤)在。Bash_profile文件末尾添加Hadoop的路径
#HADOOP export HADOOP_HOME=/home/zkpk/hadoop-2.7.3 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH |
3.13时环境变量生效
3.14 格式化Hadoop文件目录
3.15启动Hadoop集群(在master节点),第一次会提示输入yes/no ,输入yes
3.16查看进程是否成功,在master终端执行jps命令,出现下图效果
在slaver节点执行jps命令,出现如下效果
3.17web UI 查看集群是否成功启动,在master上打开Firefox浏览器,在浏览器地址栏中输入http://master:50070/,检查namenode 和 datanode 是否正常,如下图所示。
打开浏览器新标签页,地址栏中输入http://master:18088/,检查Yarn是否正常,如下图所示