操作系统:CentOS7.5
软件包位置:/home/zkpk/tgz
数据包位置:/home/zkpk/experiment
已安装软件:无
操作系统:CentOS7.5
软件包位置:/home/zkpk/tgz
数据包位置:/home/zkpk/experiment
已安装软件:无
操作系统:CentOS7.5
软件包位置:/home/zkpk/tgz
数据包位置:/home/zkpk/experiment
已安装软件:无
掌握 linux系统基础
熟悉hadoop操作指令
掌握配置集群节点间免密登录
掌握配置JDK
掌握配置部署hadoop的步骤和配置相关环境文件
独立完成hadoop的安装部署。
在若干节点中,安装部署hadoop分布式集群,并会启动集群以及使用 Web
UI查看集群是否成功启动;在搭建好的hadoop分布式集群中运行PI实例检查集群是否成功;
实验内容流程图如下。
说明:此处以界面虚拟机master的操作为例(默认已经配置好主机名称)
[zkpk@localhost ~]$ su root
[root@localhost ~]# gedit /etc/hostname
master
[root@localhost ~]# hostname master
说明:bash命令让上一步操作生效
[root@localhost zkpk]# bash
[root@master zkpk]# hostname
master
说明:此处以master节点的操作为例
[root@master zkpk]# crontab -e
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
[root@master zkpk]# /usr/sbin/ntpdate cn.pool.ntp.org
[root@master ~]# systemctl status firewalld.service
说明:两条命令分别是临时关闭防火墙和禁止开机启动防火墙
[root@master ~]# systemctl stop firewalld.service
[root@master ~]# systemctl disable firewalld.service
[root@master zkpk]# vi /etc/hosts
注意:
这里master节点对应IP地址是10.42.0.93,slave01对应的IP是10.42.0.94,slave02对应的IP是10.42.0.95,而自己在做配置时,需要将IP地址改成自己的master、slave01和slave02对应的IP地址。
10.42.0.93 master
10.42.0.94 slave01
10.42.0.95 slave02
[root@master ~]# ping master -c 3
[root@master ~]# ping slave01 -c 3
[root@master ~]# ping slave02 -c 3
注意:参数-c 3表示之返回三行响应就中止。
[root@master ~]# su zkpk
[zkpk@master ~]$
[zkpk@master ~]$ ssh-keygen -t rsa
[zkpk@master .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[zkpk@master .ssh]$ chmod 600 ~/.ssh/authorized_keys
[zkpk@master .ssh]$ ssh-add ~/.ssh/id_rsa
说明:如果提示输入yes/no的时候,输入yes,回车。密码是:zkpk
[zkpk@master .ssh]$ scp ~/.ssh/authorized_keys zkpk@slave01:~/
[zkpk@master .ssh]$ scp ~/.ssh/authorized_keys zkpk@slave02:~/
[root@slave01 ~]# su zkpk
然后在终端生成密钥,命令如下(一路点击回车生成密钥)
[zkpk@slave01 ~]$ ssh-keygen -t rsa
[zkpk@slave01 ~]$ mv authorized_keys ~/.ssh/
[zkpk@slave02 ~]$ ssh-keygen -t rsa
[zkpk@slave02 ~]$ mv authorized_keys ~/.ssh/
[zkpk@master ~]$ ssh slave01
[zkpk@slave01 ~]$ exit
[zkpk@master ~]$
[zkpk@master ~]$ ssh slave02
注意:在三台节点master,slave01,slave02上分别操作此步骤
[zkpk@master ~]$ rpm -qa | grep java
在slave01上执行:
[zkpk@slave01 ~]$ rpm -qa | grep java
在slave02上执行:
[zkpk@slave02 ~]$ rpm -qa | grep java
[zkpk@master ~]$ su root
在slave01上执行:
[zkpk@slave01 ~]$ su root
在slave02上执行:
[zkpk@slave02 ~]$ su root
[root@master zkpk]# yum remove java-1.*
在slave01上执行:
[root@slave01 zkpk]# yum remove java-1.*
在slave02上执行:
[root@slave02 zkpk]# yum remove java-1.*
[root@master zkpk]# mkdir /usr/java
在slave01上执行:
[root@slave01 zkpk] # mkdir /usr/java
在slave02上执行:
[root@slave02 zkpk] # mkdir /usr/java
[root@master zkpk]# tar -xzvf /home/zkpk/tgz/jdk-8u131-linux-x64.tar.gz -C /usr/java
在slave01上执行:
[root@slave01 zkpk]# tar -xzvf /home/zkpk/tgz/jdk-8u131-linux-x64.tar.gz -C /usr/java
在slave02上执行:
[root@slave02 zkpk]# tar -xzvf /home/zkpk/tgz/jdk-8u131-linux-x64.tar.gz -C /usr/java
[root@master zkpk]# exit
在slave01上执行:
[root@slave01 zkpk]# exit
在slave02上执行:
[root@slave02 zkpk]# exit
[zkpk@master ~]$ gedit /home/zkpk/.bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export PATH=$JAVA_HOME/bin:$PATH
在slave01上执行:
[zkpk@slave01 ~]$ gedit /home/zkpk/.bash_profile
复制粘贴以下内容添加到到上面gedit打开的文件中:
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export PATH=$JAVA_HOME/bin:$PATH
在slave02上执行:
[zkpk@slave02 ~]$ gedit /home/zkpk/.bash_profile
复制粘贴以下内容添加到到上面gedit打开的文件中:
export JAVA_HOME=/usr/java/jdk1.8.0_131/
export PATH=$JAVA_HOME/bin:$PATH
[zkpk@master ~]$ source /home/zkpk/.bash_profile
在slave01上执行:
[zkpk@slave01 ~]$ source /home/zkpk/.bash_profile
在slave02上执行:
[zkpk@slave02 ~]$ source /home/zkpk/.bash_profile
[zkpk@master ~]$ java -version
说明:每个节点上的Hadoop配置基本相同,在master节点操作,然后复制到slave01、slave02两个节点。
[zkpk@master ~]$ tar -xzvf /home/zkpk/tgz/hadoop-2.7.3.tar.gz -C /home/zkpk
[zkpk@master ~]$ gedit /home/zkpk/hadoop-2.7.3/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131/
[zkpk@master ~]$ gedit ~/hadoop-2.7.3/etc/hadoop/yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131/
[zkpk@master ~]$ gedit ~/hadoop-2.7.3/etc/hadoop/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>
[zkpk@master ~]$ gedit ~/hadoop-2.7.3/etc/hadoop/hdfs-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>dfs.replication</name>
<value>2</value>
</property>
</configuration>
[zkpk@master ~]$ gedit ~/hadoop-2.7.3/etc/hadoop/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>
[zkpk@master ~]$ cp ~/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template ~/hadoop-2.7.3/etc/hadoop/mapred-site.xml
[zkpk@master ~]$ gedit ~/hadoop-2.7.3/etc/hadoop/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>
[zkpk@master ~]$ gedit ~/hadoop-2.7.3/etc/hadoop/slaves
slave01
slave02
[zkpk@master ~]$ cd
[zkpk@master ~]$ mkdir hadoopdata
说明:因为之前已经配置了免密钥登录,这里可以直接免密钥远程复制。
[zkpk@master ~]$ scp -r hadoop-2.7.3 zkpk@slave01:~/
[zkpk@master ~]$ scp -r hadoop-2.7.3 zkpk@slave02:~/
复制完成后,可以在slave01和slave02上检验是否复制成功。
注意:在三台节点分别操作此步骤,使用zkpk用户权限
[zkpk@master ~]$ gedit ~/.bash_profile
#HADOOP
export HADOOP_HOME=/home/zkpk/hadoop-2.7.3
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
[zkpk@master ~]$ source ~/.bash_profile
[zkpk@master ~]$ hdfs namenode -format
说明:格式化后首次执行此命令,提示输入yes/no时,输入yes。
[zkpk@master ~]$ start-all.sh
注意:前面那些数字可能因为自己的实验环境不同而不同。
http://master:50070
,检查namenode
和 datanode
是否正常,如下图所示。
http://master:18088
,检查Yarn
是否正常,如下图所示。
[zkpk@master~]$ hadoop jar ~/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar pi 10 10
Estimated value of Pi is 3.20000000000000000000
评论已关闭。