本文共 7102 字,大约阅读时间需要 23 分钟。
下载jdk1.8版本
点击下载
下载其他版本
点击进入官网
如果提示需要登录,则输入以下账号密码
账号密码来源于网络(2019.7.18):
账号:liwei@xiaostudy.com
密码:OracleTest1234
上传到linux的/opt/myinstall/
目录下解压
tar -zxvf jdk1.8.0_144.tar.gz
配置环境变量,修改/etc/profile
文件
vi /etc/profile
添加以下内容
#javaexport JAVA_HOME=/opt/myinstall/jdk1.8.0_144/export PATH=$JAVA_HOME/bin:$PATH
使环境变量生效
source /etc/profile
输入java -version
查看是否安装成功
[root@hadoop89]# java -versionjava version "1.8.0_144"Java(TM) SE Runtime Environment (build 1.8.0_144-b01)Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
需要在三台机器上都执行修改hostname
hadoop90
hadoop91
hadoop92
# 修改hostnamevi /etc/hostname
填入每台机器的hostname后保存
修改hosts文件,可以先修改一台然后复制到其他台机器,hosts文件内容一样,需修改三台
vi /etc/hosts
内容如下
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.86.90 hadoop90192.168.86.91 hadoop91192.168.86.92 hadoop92
复制到其他机器, 显示100%则复制成功
scp /etc/hosts root@192.168.86.91:/etc/hostsscp /etc/hosts root@192.168.86.92:/etc/hosts
重启虚拟机使hostname的修改生效
reboot
#关闭防火墙systemctl stop firewalld #设置开机不启动systemctl disable firewalld.service#查看防火墙状态systemctl status firewalld
每台机器都需要执行三次
ssh-copy-id root@三台机器的ip
命令三台机器都需要做,也需要对自己做免密操作
#执行一次生成密钥,一直回车ssh-keygen -t rsa#执行三次对每台机器都执行免密操作ssh-copy-id root@192.168.86.90
如何查看是否操作成功
#能否连接到其他机器ssh 其他机器ip#查看主机名,是否连接到hostname#登录后必须退出,要不就会操作连接的其他机器exit
如何查看密钥?
id_rsa.pub
为公钥 ,id_rsa
为私钥,authorized_keys
中保存了哪儿些机器对自己做了免密操作
cd ~/.ssh/ll
#ping 其他机器ipping 192.168.86.91
软件安装路径, 路径自定义,我的路径为
/opt/myinstall
#创建软件安装路径cd /opt/mkdir /myinstall
以下操作所使用用户均为root , 如真实项目中建议创建hadoop用户操作
准备三台已经安装了CentOS7系统的虚拟机,分别是hadoop90
,hadoop91
,hadoop92
三台虚拟机配置如下(可适当增加hadoop91主节点的内存或减少从节点的内存,磁盘空间最少50G)
主机名称 | ip | 机器配置 | jdk版本 | 角色 |
---|---|---|---|---|
hadoop90 | 192.168.86.90 | 2G内存,2CPU 50G磁盘 | jdk1.8 | 主节点/从节点 |
hadoop91 | 192.168.86.91 | 2G内存,2CPU 50G磁盘 | jdk1.8 | 从节点 |
hadoop92 | 192.168.86.92 | 2G内存,2CPU 50G磁盘 | jdk1.8 | 从节点 |
已安装jdk,已准备好集群所需机器上传解压hadoop-2.7.3.tar.gz到三台机器,配置hadoop环境变量关闭防火墙、设置ssh免密修改hostname和hosts文件修改三台机器$HADOOP_HOME/etc/hadoop/conf下的配置文件,根据部署的模式和需要进行配置hadoop-env.sh、core-site.xml、mapre-site.xml、hdfs-site.xml文件在主节点机器格式化namenode,对数据缓存的的路径进行格式化 hadoop namenode -format在主节点机器启动hadoop进程 start-dfs.sh
必须安装Java™。
如果要使用可选的启动和停止脚本,则必须安装ssh并且必须运行sshd才能使用管理远程Hadoop守护程序的Hadoop脚本。另外,建议也安装pdsh以便更好地进行ssh资源管理,可以不安装pdsh。
如何查看是否安装ssh
rpm -qa | grep ssh
或service sshd status
出现以下页面即安装成成功
先上传到一台机器(主节点机器hadoop90), 配置好各种配置文件后再使用scp复制hadoop文件到其他机器,再修改slaves文件
上传到linux的/opt/myinstall/
目录下解压
tar -zxvf hadoop-2.7.3.tar.gz
配置环境变量,修改/etc/profile
文件
vi /etc/profile
添加以下内容
#hadoopexport HADOOP_HOME=/opt/myinstall/hadoop-2.7.3export PATH=$HADOOP_HOME/bin:$PATH
使环境变量生效
source /etc/profile
查看环境变量是否配置成功
hadoop version
[root@hadoop90 .ssh]# hadoop versionHadoop 2.7.3Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccffCompiled by root on 2016-08-18T01:41ZCompiled with protoc 2.5.0
vi $HADOOP_HOME/etc/hadoop/hadoop-env.sh
修改
export JAVA_HOME
为绝对路径
export JAVA_HOME=/opt/myinstall/jdk1.8.0_144
创建文件目录
tmp
cd /opt/myinstall/hadoop-2.7.3mkdir tmp
修改core-site.sh配置文件
vi $HADOOP_HOME/etc/hadoop/core-site.xml
添加以下内容
fs.defaultFS hdfs://hadoop90:9000 hadoop.tmp.dir /opt/myinstall/hadoop-2.7.3/tmp
复制并改名,修改mapre-site.xml文件
cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template mapred-site.xmlvi $HADOOP_HOME/etc/hadoop/mapred-site.xml
添加以下内容
mapreduce.framework.name yarn
创建文件目录
dfs
name
data
cd /opt/myinstall/hadoop-2.7.3mkdir dfscd dfsmkdir namemkdir data
修改hdfs-site.xml文件
vi $HADOOP_HOME/etc/hadoop/hdfs-site.xml
添加以下内容
dfs.namenode.name.dir /opt/myinstall/hadoop-2.7.3/dfs/name dfs.datanode.data.dir /opt/myinstall/hadoop-2.7.3/dfs/data dfs.replication 3 dfs.namenode.http-address hadoop90:50070 dfs.namenode.secondary.http-address hadoop90:50090
修改hdfs-site.xml文件
vi $HADOOP_HOME/etc/hadoop/yarn-site.xml
添加以下内容
yarn.resourcemanager.hostname hadoop90 yarn.nodemanager.aux-services mapreduce_shuffle
该文件决定有哪儿些机器为datanode机器
vi $HADOOP_HOME/etc/hadoop/slaves
将
localhost
改为以下内容
hadoop90hadoop91hadoop92
将修改好配置的hadoop文件目录复制到hadoop91和hadoop92上,文件很大传输需要一定时间。
scp -r /opt/myinstall/hadoop-2.7.3/ root@192.168.86.91:/opt/myinstall/hadoop-2.7.3/scp -r /opt/myinstall/hadoop-2.7.3/ root@192.168.86.92:/opt/myinstall/hadoop-2.7.3/
将
/etc/profile
文件复制到hadoop91和hadoop92上
scp /etc/profile root@192.168.86.91:/etc/profilescp /etc/profile root@192.168.86.92:/etc/profile
在每台机器上执行以下命令使修改生效
source /etc/profile
只在主节点机器hadoop90执行命令, 初始化不建议执行多次会出问题
hadoop namenode -format
只在主节点机器
hadoop90
执行命令
sh $HADOOP_HOME/sbin/start-all.sh
第一次有如下提示,输入yes,等待时间可能会有些久
Are you sure you want to continue connecting (yes/no)? yes
或者执行
sh $HADOOP_HOME/sbin/start-dfs.sh
和sh $HADOOP_HOME/sbin/start-yarn.sh
启动集群
只在主节点机器hadoop90执行命令
sh $HADOOP_HOME/sbin/stop-all.sh
或者执行
sh $HADOOP_HOME/sbin/stop-dfs.sh
和sh $HADOOP_HOME/sbin/stop-yarn.sh
关闭集群
HDFS的NameNode的web页面: 192.168.86.90:50070
yarn web页面:192.168.86.90:8088
SecondaryNameNode的web页面: 192.168.86.90:50090
#查看java进程jps
主机名称 | ip | 安装软件 | 运行进程 |
---|---|---|---|
hadoop90(主/从节点) | 192.168.86.90 | hadoop,jdk | 4002 NameNode4104 DataNode4444 ResourceManager4556 NodeManager4989 Jps4270 SecondaryNameNode |
hadoop91(从节点) | 192.168.86.91 | hadoop,jdk | 2625 DataNode2874 Jps2732 NodeManager |
hadoop92(从节点) | 192.168.86.92 | hadoop,jdk | 2805 Jps2662 NodeManager2555 DataNode |
#查看集群健康状态报告hdfs dfsadmin -report
[root@hadoop90 logs]# hdfs dfsadmin -reportConfigured Capacity: 144881233920 (134.93 GB)Present Capacity: 137852424192 (128.39 GB)DFS Remaining: 137852391424 (128.39 GB)DFS Used: 32768 (32 KB)DFS Used%: 0.00%Under replicated blocks: 0Blocks with corrupt replicas: 0Missing blocks: 0Missing blocks (with replication factor 1): 0-------------------------------------------------Live datanodes (3):.......
在windows找到hosts文件,配置ip主机名映射
C:\Windows\System32\drivers\etc
修改hosts文件,在下面空白处添加以下内容并保存
192.168.86.89 hadoop89192.168.86.90 hadoop90192.168.86.91 hadoop91192.168.86.92 hadoop92
如何不知道配置文件中参数的用处怎么办?
进入官网,点击Getting started
,下拉找到下图内容了解相关配置
转载地址:http://lduzi.baihongyu.com/