Hadoop3.1.3完全分布式安装(Centos7.x)
2023-04-18 16:28:45 时间
目录
五、将jdk、hadoop分发到slave1、slave2节点
一、环境准备
节点名称【主机名】 | IP |
---|---|
master | 170.158.10.101 |
slave1 | 170.158.10.102 |
slave2 | 170.158.10.103 |
-
关闭防火墙
# 在root用户下执行
systemctl stop firewalld
systemctl disable firewalld.service
-
修改主机配置文件
vim /etc/hosts
# 添加以下内容
170.158.10.101 master
170.158.10.102 slave1
170.158.10.103 slave2
-
修改主机名
# 使用以下的命令
vim /etc/hostname
-
创建用户
# 2、创建用户,在root用户下
useradd hadoop
passwd hadoop
-
创建目录
cd /usr/local
# 存放安装好的软件
mkdir server
# 存放安装包
mkdir software
# 给server和software授权
chown -R hadoop:hadoop ./server
chown -R hadoop:hadoop ./software
# 其他两个节点做以上相同的操作
-
配置当前非root用户具有root的权限
# vim /etc/sudoers
# 在这%whell这一行下面添加hadoop
#Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
hadoop ALL=(ALL) NOPASSWD:ALL
-
ssh免密登录
# 在命令行输入,根据提示输入密码即可
ssh localhost
# 切换到~/.ssh目录下
cd ~/.ssh
# 输入以下命令,期间连续按三次回车
ssh-keygen -t rsa
# 分发密钥,期间在输入密码即可免密登录
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
# 三个节点依次按照以上命令操作,再次输入ssh 相应的主机名,已经不需要密码登录master、slave1、slave2节点了
二、JDK的安装
-
卸载系统自带的JDK
# 查看系统自带的jdk
rpm -qa | grep jdk
# 卸载找到的jdk
yum -y remove 找到的jdk
# 或者使用以下的命令删除
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
# 安装jdk,安装包可以到官网进行下载
三、安装haddoop
-
下载hadoop-3.1.3
链接:Index of /dist/hadoop/core/hadoop-3.1.3http://archive.apache.org/dist/hadoop/core/hadoop-3.1.3/hadoop-3.1.3.tar.gzIndex of /dist/hadoop/core/hadoop-3.1.3
-
解压下载好的安装包
tar -zxvf hadoop-3.1.3/hadoop-3.1.3.tar.gz -C /usr/local
四、配置hadoop配置文件
-
core-site.xml
<configuration>
<!-- 指定NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.1.3/data</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户为hadoop -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>
</configuration>
-
hdfs-site.xml
<configuration>
<!-- NameNode web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<!-- SecondNameNode web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9868</value>
</property>
</configuration>
-
mapred-site.xml
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>slave1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>salve1:19888</value>
</property>
</configuration>
-
yarn-site.xml
<configuration>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave2</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>
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://slave1:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
-
workers
master
slave1
slave2
五、将jdk、hadoop分发到slave1、slave2节点
scp -r /usr/local/server/jdk1.8.0_301 hadoop@slave1:/usr/local/server
scp -r /usr/local/server/jdk1.8.0_301 hadoop@slave2:/usr/local/server
scp -r /usr/local/server/hadoop-3.1.3 hadoop@slave1:/usr/local/server
scp -r /usr/local/server/hadoop-3.1.3 hadoop@slave2:/usr/local/server
六、hdfs格式化
# 切换到bin目录下
cd /usr/local/hadoop-3.1.3/bin
# 格式化namenode
./bin/hdfs namenode -format
七、环境变量配置
vim /etc/profile.d/my_env.sh
# 每台节点都添加以下内容
export JAVA_HOME=/usr/local/server/jdk1.8.0_301
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/server/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
八、集群启动
# master节点
start-dfs.sh
# slave1节点
mapred --daemon start historyserver
# slave2节点
start-yarn.sh
九、进程查看
# master节点有NameNode和SecondNameNode说明启动成功
# slave1和slave2有DataNode
# slave2有ResourceManager和NodeManager
十、WEB UI查看
# http://master:9870
# http://slave2:19888
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击