配置虚拟机环境
建立四台虚拟机,配置Hadoop的分布式集群。并且配置静态ip地址如下,最终实现master能够直接与三个节点ssh无密码联通。
主机名 | ip地址 |
---|---|
master | 192.168.166.100 |
node1 | 192.168.166.101 |
node2 | 192.168.166.102 |
node3 | 192.168.166.103 |
安装VMware虚拟机平台
略
新建虚拟机
略
安装CentOS-7系统
略
安装Java环境
略
克隆虚拟机
略
配置静态ip与hosts文件
略
配置ssh免密登陆
使用 ssh-keygen -t rsa
生成一对RSA公私钥,将公钥放在目标登录的服务器上,私钥放在本地。当ssh客户端发出请求,请求使用基于密钥的安全验证,服务器将先寻找公钥,并与传递过来的公钥做比较,若一致,则服务器使用公钥加密一个challenge并返回客户端,客户端通过私钥解密challenge并发送到服务器即可完成安全验证。
ssh-copy-id -i ~/.ssh/id_rsa.pub master
ssh-copy-id -i ~/.ssh/id_rsa.pub node1
ssh-copy-id -i ~/.ssh/id_rsa.pub node2
ssh-copy-id -i ~/.ssh/id_rsa.pub node3
Hadoop集群安装
(Master)上传解压Hadoop
tar -zxf hadoop-3.1.4.tar.gz -C /opt
如图,hadoop已解压到/opt目录下
(Master)配置configuration
后续所有配置文件均在如下目录
/opt/hadoop-3.1.4/etc/hadoop
hadoop-env.sh
vim编辑hadoop-env.sh文件如下
yarn-env.sh
该文件无需配置,原因如下
core-site.xml
1 | <configuration> |
hdfs-site.xml
1 | <configuration> |
mapred-site.xml
1 | <configuration> |
yarn-site.xml
1 | <configuration> |
workers
1 | node1 |
(Master)拷贝安装包到其他节点
scp -r /opt/hadoop-3.1.4/ node1:/opt/
scp -r /opt/hadoop-3.1.4/ node2:/opt/
scp -r /opt/hadoop-3.1.4/ node3:/opt/
(Slave)创建数据存储目录
1 | mkdir -p /data/hadoop/tmp |
(Master)HDFS格式化
到 /opt/hadoop-3.1.4/bin目录执行hdfs格式化命令
1 | cd /opt/hadoop-3.1.4/bin/ |
其中my_hdfs为自己指定的名称
Hadoop集群启动与关闭
为了方便使用hadoop的相关命令,故把hadoop安装目录的bin与sbin添加到PATH环境变量中。
添加如下内容到文件/etc/profile
1 | export HADOOP_HOME=/opt/hadoop-3.1.4 |
Hadoop集群启动
在Master节点: $HADOOP_HOME/sbin/start-dfs.sh
,启动HDFS
在Master节点:$HADOOP_HOME/sbin/start-yarn.sh
, 启动YARN。
在Master节点:$HADOOP_HOME/bin/mapred --daemon start historyserver
,启动日志服务。
如果添加过bin与sbin环境变量,可以直接
start-dfs.sh
start-yarn.sh
mapred --daemon start historyserver
分别启动HDFS,YARN,日志服务。
Hadoop集群关闭
stop-dfs.sh
stop-yarn.sh
mapred --daemon stop historyserver
Hadoop集群启动报错
编辑如下文件
/opt/hadoop-3.1.4/etc/hadoop/hadoop-env.sh
插入如下语句
1 | export HDFS_NAMENODE_USER=root |
查看节点上的服务
jps是一条java提供的命令,用于监控当前启动的java进程。
如下图分别为master与node3上执行jps
命令监控到的服务
关闭虚拟机防火墙
分别在master, node1, node2, node3中永久关闭防火墙
systemctl disable firewalld.service
在宿主机浏览器中访问
hdfs监控
其中url的主机地址为master节点的ip地址,端口号为hdfs-site.xml中配置的端口