大数据Hadoop之——安装部署hadoop_hadoop java
目录
前期准备
一、JDK的安装
1、安装jdk
2、配置Java环境变量
3、加载环境变量
4、进行校验
二、hadoop的环境搭建
1、hadoop的下载安装
2、配置文件设置
2.1. 配置 hadoop-env.sh
2.2. 配置 core-site.xml
2.3. 配置 hdfs-site.xml
2.4. 配置 yarn-site.xml
2.5. 配置 mapred-site.xml
3、Hdfs格式化
4、启动hdfs
5、访问HDFS系统
6、启动yarn
7、访问Yarn平台页面
8.1.集群规划
8.2.设置免密登陆
8.3.修改hdfs-site.xml
8.4.修改workers
8.5.修改mapred-site.xml
8.6.修改yarn-site.xml
8.7.分发文件
8.8.停止服务删除目录
8.9.重启服务
三、msyql安装
1、卸载旧MySQL文件
2、Mysql下载安装
3、配置环境变量
4、删除用户组
5、创建用户和组
6、创建文件夹
7、更改权限
8、安装依赖包
9、初始化
10、记住初始密码
11、将mysql加入到服务中
12、配置文件
(1)Mysql5.X版本配置
(2)Mysql8.X版本配置
13、设置开机启动
14、并查看进程
15、创建软连接
16、登录 Mysql
17、修改密码
(1)Mysql5.X版本修改密码
(2)Mysql8.X版本修改密码
18、授权
(1)Mysql5.X版本授权
(2)Mysql8.X版本授权
四、HIve安装
1、下载安装
2、配置环境变量
3、配置文件
4、拷贝jar包
5、初始化
6、启动hive
五、问题与说明:
前期准备
查看网卡:

配置静态IP
vi /etc/sysconfig/network-scripts/ifcfg-ens32 ---- 根据自己网卡设置。

设置主机名
hostnamectl --static set-hostname 主机名
例如:
hostnamectl --static set-hostname hadoop001
配置IP与主机名映射
vi /etc/hosts

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
配置免密登录
传送门
一、JDK的安装
1、安装jdk
在/opt/model中上传jdk包并解压
tar -zxvf jdk-8u151-linux-x64.tar.gz
重命名,方便配置环境变量,避免更换jdk版本修改配置文件
2、配置Java环境变量
系统级(全局)
/etc/profile,   /etc/bash.bashrc,   /etc/bashrc
对所有用户生效
用户级(个人)
~/.bash_profile,  ~/.bashrc,  ~/.profile
只对当前用户生效
/etc/profile
✅ 几乎所有 Linux/Unix 系统都有
Ubuntu、CentOS、macOS 等
/etc/bashrc
✅ CentOS/RHEL 系统使用
CentOS、RHEL、Fedora
/etc/bash.bashrc
✅ Ubuntu 使用
Ubuntu、Debian
~/.bash_profile
✅ 用户可创建
所有支持 Bash 的系统
~/.profile
✅ Ubuntu 默认生成
Ubuntu、Debian
~/.bashrc
✅ 用户级 shell 配置
所有支持 Bash 的系统
vi /etc/profile
export JAVA_HOME=/opt/module/java #此处是自己实际的Java安装路径
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
3、加载环境变量
source /etc/profile
验证环境变量是否生效:
env | grep HOME
env | grep PATH
4、进行校验
二、hadoop的环境搭建
1、hadoop的下载安装
1.1. 下载
https://archive.apache.org/dist/hadoop/common/hadoop-3.2.2/
下载 hadoop-3.2.2.tar.gz 安装包1.2 上传
使用xshell上传到指定安装路径此处是安装路径是 /opt/module
1.3 解压重命名
tar -xzvf hadoop-3.2.2.tar.gz
mv hadoop-3.2.2 hadoop
1.4 配置环境变量
vi /etc/profile
export JAVA_HOME=/opt/module/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
1.5 加载环境变量
source /etc/profile
验证环境变量是否生效:
env | grep HOME
env | grep PATH
1.6检验安装
hadoop version
出现下图说明安装成功
2、配置文件设置
2.1. 配置 hadoop-env.sh
hadoop伪分布式配置
export HADOOP_OS_TYPE=${HADOOP_OS_TYPE:-$(uname -s)}
export JAVA_HOME=/opt/module/java
2.2. 配置 core-site.xml
fs.defaultFS
hdfs://hadoop001:9000
配置NameNode的URL
hadoop.tmp.dir
/opt/module/hadoop/data
配置hive内容(下面要安装hive,因此需要增加下面内容,否则不添加)
<!-- 配置允许哪些主机上的程序可以以root身份发起代理请求 -->
hadoop.proxyuser.root.hosts
*
<!-- 配置允许哪些组的用户可以以root身份发起代理请求 -->
hadoop.proxyuser.root.groups
*
<!-- 配置允许哪些具体用户可以以root身份发起代理请求-->
hadoop.proxyuser.root.users
*
2.3. 配置 hdfs-site.xml
dfs.replication
1
dfs.namenode.name.dir
/opt/module/hadoop/data/namenode
dfs.datanode.data.dir
/opt/module/hadoop/data/datanode
dfs.permissions.enabled
false
dfs.http.address
hadoop001:9870
dfs.namenode.secondary.http-address
hadoop001:6002
2.4. 配置 yarn-site.xml
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.resourcemanager.hostname
hadoop001
yarn.nodemanager.env-whitelist
JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
yarn.scheduler.minimum-allocation-mb
512
yarn.scheduler.maximum-allocation-mb
4096
yarn.nodemanager.resource.memory-mb
4096
yarn.nodemanager.pmem-check-enabled
true
yarn.nodemanager.vmem-check-enabled
false
2.5. 配置 mapred-site.xml
mapreduce.framework.name
yarn
<!-- 以下可以不用配置,作为了解内容
当 YARN 启动 MapReduce (ApplicationMaster、MapTask、ReduceTask)进程提供一致的环境变量,确保找到 MapReduce 的依赖库和资源路径。-->
<!-- MR App Master环境变量。用于告诉 ApplicationMaster 去哪里找 MapReduce 相关的 JAR 包或脚本-->
yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
mapreduce.map.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
mapreduce.reduce.env
HADOOP_MAPRED_HOME=${HADOOP_HOME}
3、Hdfs格式化
cd /opt/module/hadoop/
bin/hdfs namenode -format
下图表示初始化成功
4、启动hdfs
启动hdfs分布式文件系统
cd /opt/module//hadoop/sbin
>> start-dfs.sh
使用 jps 查看启动进程
5、访问HDFS系统
访问HDFS分布式文件系统的web页面,如:http://192.168.200.130:9870/
6、启动yarn
启动Yarn进程。
cd /opt/module/hadoop/sbin
>> start-yarn.sh
使用 jps 查看启动进程
7、访问Yarn平台页面
访问hadoop分布式yarn页面,如:http://192.168.200.130:8088/
8、Hadoop的集群模式(伪分布式省略)
如果是伪分布式模式,此过程可以省略。
8.1.集群规划
模块
hadoop001
hadoop002
hadoop003
HDFS子进程
NameNode
DataNode
DataNode
SecondaryNameNode
DataNode
YARN子进程
NodeManager
ResourceManager
NodeManager
NodeManager
8.2.设置免密登陆
配置集群免密登录
传送门
8.3.修改hdfs-site.xml
      修改数据的副本数量
       secondname的主机设置(可选)
dfs.replication
3
<!--可选 对于学习来说,可以不改。但实际生产过时会将其规划到 hadoop003 -->
dfs.namenode.secondary.http-address
hadoop003:6002
8.4.修改workers
将原来的localhost改为节点主机名
hadoop001
hadoop002
hadoop003
8.5.修改mapred-site.xml
配置历史服务器(可选)
mapreduce.jobhistory.address
hadoop001:10020
mapreduce.jobhistory.webapp.address
hadoop001:19888
8.6.修改yarn-site.xml
指定ResourceManager的地址:对于目前学习来说不改也可以,但在实际生产过程中 resourcemanager 和 namenode是在不同主机上,避免生产过程中资源不足导致内存溢出情况。
     指定ResourceManager的地址(可选)
      配置日志的聚集(可选)
<!-- 可选 指定ResourceManager的地址-->
yarn.resourcemanager.hostname
hadoop002yarn.log-aggregation-enable
true
yarn.log.server.url
http://hadoop001:19888/jobhistory/logs
yarn.log-aggregation.retain-seconds
604800
8.7.分发文件
注意:在分发文件前要做好三台机器的IP与主机名映射 /etc/hosts
进行分发文件
scp -r /opt/module/hadoop root@hadoop002:/opt/module/hadoop
scp -r /opt/module/hadoop root@hadoop003:/opt/module/hadoop
scp -r /opt/module/java root@hadoop002:/opt/module/java
scp -r /opt/module/java root@hadoop003:/opt/module/java
scp -r /etc/profile root@hadoop002:/etc/profile
scp -r /etc/profile root@hadoop003:/etc/profile
让三台机器文件生效
ssh hadoop001 \"source /etc/profile\"
ssh hadoop002 \"source /etc/profile\"
ssh hadoop003 \"source /etc/profile\"
8.8.停止服务删除目录
停止服务
cd /opt/module/hadoop/sbin
>> stop-all.sh
删除格式化后的目录重新格式化
rm -rf /opt/module/hadoop/data
rm -rf /opt/module/hadoop/logs/*
/opt/module/hadoop/bin/hdfs namenode -format
8.9.重启服务
在hadoop001 上启动HDFS
cd /opt/module/hadoop/sbin
>> start-dfs.sh
在hadoop002 上启动YARN
cd /opt/module/hadoop/sbin
>> start-yarn.sh
群起脚本:
touch /usr/bin/hdall.sh
chmod 777 /usr/bin/hdall.sh
vi /usr/bin/hdall.sh
#!/bin/bashif [ $# -lt 1 ]then echo \"No Args Input...\" exit ;ficase $1 in\"start\") echo \" =================== 启动 hadoop集群 ===================\" echo \" --------------- 启动 hdfs ---------------\" ssh hadoop001 \"/opt/module/hadoop/sbin/start-dfs.sh\" echo \" --------------- 启动 yarn ---------------\" ssh hadoop002 \"/opt/module/hadoop/sbin/start-yarn.sh\" echo \" --------------- 启动 historyserver ---------------\" ssh hadoop001 \"/opt/module/hadoop/bin/mapred --daemon start historyserver\";;\"stop\") echo \" =================== 关闭 hadoop集群 ===================\" echo \" --------------- 关闭 historyserver ---------------\" ssh hadoop001 \"/opt/module/hadoop/bin/mapred --daemon stop historyserver\" echo \" --------------- 关闭 yarn ---------------\" ssh hadoop002 \"/opt/module/hadoop/sbin/stop-yarn.sh\" echo \" --------------- 关闭 hdfs ---------------\" ssh hadoop001 \"/opt/module/hadoop/sbin/stop-dfs.sh\";;*) echo \"Input Args Error...\";;esac群起:/usr/bin/hdall.sh start
群停:/usr/bin/hdall.sh stop
如果:ResourceManager的地址和secondname的地址都是hadoop001,则在hadoop001 上启动HDFS和YARN
cd /opt/module/hadoop/sbin
>> start-all.sh


