Hadoop3.1.3–Centos7伪分布式安装
安装包目录软件安装目录
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
二、Hadoop集群伪分布式安装
-
安装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
②脚本一键启动文章来源:https://www.toymoban.com/news/detail-860035.html
[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页面文章来源地址https://www.toymoban.com/news/detail-860035.html
- HDFS集群:http://node1:9870/
- YARN集群:http://node1:8088/
-
到了这里,关于Hadoop-3.3.0-Centos7安装详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!