赞
踩
安装包目录软件安装目录
mkdir -p /opt/sofware
mkdir -p /opt/servers
我们规划整个Hadoop集群由三台服务器组成,分别为node1、node2和node3
通过克隆方式创建的虚拟机node2和node3的主机名均与克隆源虚拟机
这里需要修改虚拟机node2和node3的主机名,即将它们分别命名为node2和node3
hostnamectl set-hostname node2
重复上述步骤,将虚拟机node3的主机名修改为node3
配置虚拟机网络
跳转链接在Liunx系统下配置网关
配置SSH免密登录功能
分别在三台虚拟机中执行“rpm -qa | grep ssh”命令查看当前虚拟机是否安装SSH服务
rpm -qa | grep ssh
如果已经安装了ssh相关服务可执行“ps -e | grep sshd”命令查看SSH服务是否启动(若没有安装,则需要执行“yum install openssh-server”命令进行在线安装)
ps -e | grep sshd
yum install openssh-server #在线安装ssh服务
开始配置
输入“ssh-keygen -t rsa”指令,并根据提示,可以不用输入任何内容,连续按四次Enter键确认
ssh-keygen -t rsa
将公钥拷贝到需要关联的虚拟机上(即node1、node2、node3),根据提示输入“yes”和node2主机的密码123456
ssh-copy-id node2
ssh-copy-id node3
执行“ssh node2”命令,验证免密登录是否成功
ssh node2
重复上述步骤,实现服务器node1分别到node2和node3的单向免密登录,这里不再赘述。
配置IP映射
配置IP映射,将三台虚拟机的IP地址与对应的主机名进行映射,便于后续可以直接通过主机名访问对应的主机,这里以虚拟机node1为例,具体操作步骤如下。
执行如下命令,修改IP映射文件hosts,具体如下:
vi /etc/hosts
重复上述步骤,分别在虚拟机node2和node3中配置IP映射,这里不再赘述。
关闭防火墙
查看防火墙
systemctl status firewalld.service
关闭防火墙
systemctl stop firewalld.service
执行上述命令后,再次执行查看防火墙状态的命令,若是出现“inactive(dead)”,则说明防火墙已关闭
不过此时虚拟机中的防火墙只是暂时关闭,一旦系统重启,则防火墙也会重新启动,因此需要永久关闭防火墙,防火墙开机启动,具体命令如下:
systemctl disable firewalld.service
安装JDK
上传Hadoop安装包到node1 /export/server 执行命令安装,安装完JDK后,还需要配置JDK环境变量。这里是将JDK添加到user_hbase用户的环境变量中,执行“vi ~/.bash_profile”命令,打开.bash_profile文件,在文件底部添加如下内容即可。
tar -zxvf jdk-8u65-linux-x64.tar.gz -C /opt/servers
mv jdk1.8.0_65/ jdk
# 配置JDK系统环境变量
export JAVA_HOME=/opt/servers/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
在.bash_profile文件中配置完上述JDK环境变量后(注意JDK路径),保存退出即可。然后,还需要执行“source ~/.bash_profile”命令,使配置文件生效。
安装并且部署Hadoop
1、上传Hadoop安装包到node1 /opt/software 执行命令安装
hadoop-3.1.3.tar.gz
tar zxvf hadoop-3.1.3.tar.gz -C /opt/servers
vim /etc/profile
# 配置JDK系统环境变量
export HADOOP_HOME=/opt/servers/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
2、修改配置文件(配置文件路径 hadoop-3.3.0/etc/hadoop)
①hadoop-env.sh
#文件最后添加
export JAVA_HOME=/opt/servers/jdk
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
②core-site.xml
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 --> <property> <name>fs.defaultFS</name> <value>hdfs://node1:8020</value> </property> <!-- 设置Hadoop本地保存数据路径 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/servers/data/hadoop-3.3.0</value> </property> <!-- 设置HDFS web UI用户身份 --> <property> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <!-- 整合hive 用户代理设置 --> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <!-- 文件系统垃圾桶保存时间 --> <property> <name>fs.trash.interval</name> <value>1440</value> </property>
③hdfs-site.xml
<!-- 设置SNN进程运行机器位置信息 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
④mapred-site.xml
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!-- MR程序历史服务地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>node1:10020</value> </property> <!-- MR程序历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>node1:19888</value> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property> <property> <name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value> </property>
⑤yarn-site.xml
<!-- 设置YARN集群主角色运行机器位置 --> <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!-- 是否将对容器实施物理内存限制 --> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <!-- 是否将对容器实施虚拟内存限制。 --> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <!-- 开启日志聚集 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 设置yarn历史服务器地址 --> <property> <name>yarn.log.server.url</name> <value>http://node1:19888/jobhistory/logs</value> </property> <!-- 历史日志保存的时间 7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property>
⑥workers
node1
node2
node3
3、分发同步hadoop安装包
cd /opt/servers
scp -r hadoop-3.1.3 root@node2:$PWD
scp -r hadoop-3.1.3 root@node3:$PWD
4、将hadoop添加到环境变量(3台机器)
vim /etc/profile
export HADOOP_HOME=/opt/servers/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
5、Hadoop集群启动
①(首次启动)格式化namenode
hdfs namenode -format
②脚本一键启动
[root@node1 ~]# start-dfs.sh
Starting namenodes on [node1]
Last login: Thu Nov 5 10:44:10 CST 2020 on pts/0
Starting datanodes
Last login: Thu Nov 5 10:45:02 CST 2020 on pts/0
Starting secondary namenodes [node2]
Last login: Thu Nov 5 10:45:04 CST 2020 on pts/0
[root@node1 ~]# start-yarn.sh
Starting resourcemanager
Last login: Thu Nov 5 10:45:08 CST 2020 on pts/0
Starting nodemanagers
Last login: Thu Nov 5 10:45:44 CST 2020 on pts/0
Web UI页面
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。