大数据开发之Hadoop 伪分布式安装(4)
查看 Hadoop 的基本信息
查看 HDFS Web 界面
HDFS Web 界面可以检查当前 HDFS 与 DataNode 的运行情况,打开步骤如下。打开浏览器 Firefox,在浏览器的地址栏中输入:10.0.2.15:50070,向下滑动页面,可以看到活动节点,如下图所示:
说明:10.0.2.15 为笔者虚拟机中的 IP 地址,读者应根据实际情况进行替换。
查看 YARN Web 界面
YARN Web 界面也被称为 Hadoop ResourceManager Web 界面,在此页面中,可以查看当前 Hadoop 的状态;Node 节点;应用程序、进程的运行状态。打开 YARN 的 Web 界面的步骤如下。
打开浏览器 Firefox,在浏览器的地址栏中输入:10.0.2.15:8088,单击 Nodes 链接,显示当前已经运行的节点。因为本篇博文中安装的是伪分布式的 Hadoop,所以会看到当前只有一个节点,如下图所示:
在 Centos7 中 进行 Hadoop 伪分布式安装
- 设置静态 ip:vi /etc/sysconfig/network-scripts/ifcfg-ens33(不同系统 ens 后的数字不一样,读者需根据自己本机实际情况)
注意:IPADDR 的值,192.168.61 都是取自虚拟机中虚拟网络编辑器中子网地址的值,最后的 101 是我自己取的,这个值可以取 3~254 之间的任意一个数值,建议大家也按照我这个取值为 101,这样方便统一,后期和我在博客中使用的都是一样的。GATEWAY 的值是取自虚拟网络编辑器中 NAT 设置里面的网关的值,DNS1 的值和 GATEWAY 的值一样即可。
最后:service network restart,如下图所示:
- hostname:设置临时主机名和永久主机名。临时:hostname bigdata01、永久:vi /etc/hostname 将里面的主机名改为 bigdata01。紧接着重启查看:reboot -h now、hostname。
- firewalld:临时关闭防火墙+永久关闭防火墙。临时:systemctl stop firewalld、永久:systemctl disable firewalld、确认是否从开机启动项中关闭了:systemctl list-unit-files | grep firewalld
注意:针对不同版本的 centos 系统,关闭防火墙的命令是不一样的,目前的两大主流版本是 centos6 和 centos7,他们两个关闭防火墙的命令也是不一样的。刚刚博主演示的是 centos7 中防火墙关闭的命令,如果你遇到了 centos6,也想关闭防火墙的话可以自己百度一下命令。
- ssh 免密码登录。在上面 Ubuntu 中详细介绍过,这里博主就不再赘述。
-ssh-keygen -t rsa、注意:执行这个命令以后,在 Centos 需要连续按 4 次回车键回到 linux 命令行才表示这个操作执行结束,在按回车的时候不需要输入任何内容。
-把公钥拷贝到需要免密码登录的机器上面:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 安装 JDK。先:mkdir -p /data/soft、把 JDK 的安装包上传到 /data/soft/ 目录下
解压 jdk 安装包:tar -zxvf jdk-8u202-linux-x64.tar.gz
重命名 jdk:mv jdk1.8.0_202/ jdk1.8
配置环境变量 JAVA_HOME:vi /etc/profile
立即生效:source /etc/profile
验证:java -version
- 把 hadoop 的安装包上传到 /data/soft 目录下,解压 hadoop 安装包:tar -zxvf hadoop-3.2.0.tar.gz
- 配置一下环境变量 vi /etc/profile
- 修改 Hadoop 相关配置文件。进入配置文件所在目录:cd etc/hadoop/
先修改 hadoop-env.sh,执行命令:vi hadoop-env.sh,如下图所示:
修改 core-site.xml 文件,注意 fs.defaultFS 属性中的主机名需要和你配置的主机名保持一致,执行 vi core-site.xml 命令,添加内容如下:
<configuration><property><name>fs.defaultFS</name><value>hdfs://bigdata01:9000</value></property><property><name>hadoop.tmp.dir</name><value>/data/hadoop_repo</value></property></configuration>
修改 hdfs-site.xml 文件,把 hdfs 中文件副本的数量设置为1,因为现在伪分布集群只有一个节点。首先:vi hdfs-site.xml,添加内容如下:
<configuration><property><name>dfs.replication</name><value>1</value></property></configuration>
修改 mapred-site.xml,设置 mapreduce 使用的资源调度框架。首先:vi mapred-site.xml,添加内容如下:
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>
修改 yarn-site.xml,设置 yarn 上支持运行的服务和环境变量白名单。首先:vi yarn-site.xml,添加内容如下:
<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property></configuration>
修改 workers,设置集群中从节点的主机名信息,在这里就一台集群,所以就填写 bigdata01 即可,首先:vi workers,然后将里面的 localhost 改为 bigdata01。
- 格式化 HDFS。
- cd /data/soft/hadoop-3.2.0、bin/hdfs namenode -format,如下图所示:
如果提示错误,一般都是因为配置文件的问题,当然需要根据具体的报错信息去分析问题。注意:格式化操作只能执行一次,如果格式化的时候失败了,可以修改配置文件后再执行格式化,如果格式化成功了就不能再重复执行了,否则集群就会出现问题。如果确实需要重复执行,那么需要把 /data/hadoop_repo 目录中的内容全部删除,再执行格式化。
- 启动伪分布集群,使用 sbin 目录下的 start-all.sh 脚本。
执行的时候发现有很多 ERROR 信息,提示缺少 HDFS 和 YARN 的一些用户信息。解决方案如下:修改 sbin 目录下的 start-dfs.sh,stop-dfs.sh 这两个脚本文件,在文件前面增加如下内容:cd sbin/
vi start-dfs.sh,增加以下内容:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root 1234
vi stop-dfs.sh,增加以下内容:
HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root 1234
修改 sbin 目录下的 start-yarn.sh,stop-yarn.sh 这两个脚本文件,在文件前面增加如下内容。vi start-yarn.sh,增加以下内容:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root 123
vi stop-yarn.sh,增加以下内容:
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root 123
再启动集群:
- 验证集群进程信息。执行 jps 命令可以查看集群的进程信息,去掉 jps 这个进程之外还需要有 5 个进程才说明集群是正常启动的。
- 还可以通过 webui 界面来验证集群服务是否正常。HDFS webui 界面:http://192.168.61.101:9870
YARN webui 界面:http://192.168.61.101:8088
如果想通过主机名访问,则需要修改 Windows 机器中的 hosts 文件。文件所在位置为:C:\Windows\System32\drivers\etc\HOSTS。在文件中增加下面内容,这个其实就是 Linux 虚拟机的 ip 和主机名,在这里做一个映射之后,就可以在 Windows 机器中通过主机名访问这个 Linux 虚拟机了。
使用 http://bigdata01:8088/cluster YARN webui 界面,如下图所示:
- 停止集群。如果修改了集群的配置文件或者是其它原因要停止集群,可以使用命令:sbin/stop-all.sh。