CentOS|CentOS Hadoop完全分布式集群搭建
- java环境安装
- 现有三台主机,CentOS 静态IP设置后,CentOS 修改主机名,修改
hosts
vi /etc/hosts
192.168.31.xxx master
192.168.31.xxx slaver1
192.168.31.xxx slaver2
- 集群ssh无密匙登录设置
$ ssh-keygen -t rsa //一路回车
--- 在 master(master角色)服务器上 执行,将
~/.ssh/下的id_rsa.pub
公私作为认证发放到master,slave1,slave2的~/.ssh/
下# ssh-copy-id -i ~/.ssh/id_rsa.pub master
# ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
# ssh-copy-id -i ~/.ssh/id_rsa.pub slave2
设置完后,通过#ssh localhost测试,第一次登录会有如下提示:
The authenticity of host 'localhost (127.0.0.1)' can't be established.
RSA key fingerprint is a2:44:5f:79:00:c9:17:3b:b4:b5:47:cf:66:be:c4:0d.
Are you sure you want to continue connecting (yes/no)?
输入yes后,之后就不需要了。(必须操作)
--- 在 master上登录其他Linux服务器不需要输入密码即成功
//不需要输入密码
# ssh slaver1
or
# ssh slaver2
- hadoop完全分布式集群文件配置和启动
- 第一步 安装Hadoop
$ tar -zxvf hadoop-2.6.4.tar.gz-C /home/cloud/
- 第二步 配置hadoop
$ cd /home/cloud/hadoop-2.6.4/etc/hadoop
hadoop-2.6.4的搭建需要修改几个配置文件
第0个
$ vi/home/cloud/hadoop-2.6.4/etc/hadoop/slaves
这是设置从节点hostname的地方(这个文件表示从节点,只填写主机名)
master#姑且让grape0既作namenode又作datanode
slave1 #datanode1
slave2 #datanode2
第一个:
vi /home/cloud/hadoop-2.6.4/etc/hadoop/hadoop-env.sh
#第27行 (建议使用推荐的版本号,存放路径自定)
export JAVA_HOME=/home/cloud/jdk1.8.0_101
第二个:
vi /home/cloud/hadoop-2.6.4/etc/hadoop/core-site.xml
(添加如下内容)fs.defaultFS
hdfs://master:9000
io.file.buffer.size
131072
hadoop.tmp.dir
file:/home/cloud/hadoop-2.6.4/temp
Abasefor other temporary directories.
第三个:
vi /home/cloud/hadoop-2.6.4/etc/hadoop/hdfs-site.xml
dfs.namenode.secondary.http-address
master:9001
dfs.namenode.name.dir
file:/home/cloud/hadoop-2.6.4/dfs/name
dfs.datanode.data.dir
file:/home/cloud/hadoop-2.6.4/dfs/data
dfs.replication
1
dfs.webhdfs.enabled
true
新建文件夹/home/cloud/hadoop-2.6.4/dfs/name和/home/cloud/hadoop-2.6.4/dfs/data
第四个:mapred-site.xml (改名后得到的文件)
# mapred-site.xml.template重命名 (在/home/cloud/hadoop-2.6.4/etc/hadoop/路径下)
$ mv mapred-site.xml.template mapred-site.xml
$ vi mapred-site.xml
mapreduce.framework.name
yarn
mapreduce.jobhistory.address
master:10020
mapreduce.jobhistory.webapp.address
master:50030
mapreduce.reduce.memory.mb
4096
第五个:
vi /home/cloud/hadoop-2.6.4/etc/hadoop/yarn-site.xml
【CentOS|CentOS Hadoop完全分布式集群搭建】yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
yarn.resourcemanager.address
master:8032
yarn.resourcemanager.scheduler.address
master:8030
yarn.resourcemanager.resource-tracker.address
master:8031
yarn.resourcemanager.admin.address
master:8033
yarn.resourcemanager.webapp.address
master:8088
- 第三步 将hadoop添加到环境变量
$ vim /etc/profile
#hadoop
export HADOOP_HOME=/home/cloud/hadoop-2.6.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
$ source /etc/profile
- 第四步 复制Hadoop配置好的包到其他Linux主机
# scp -r hadoop-2.7.3 grape1:/home/cloud/
# scp -r hadoop-2.7.3 grape2:/home/cloud/
- 第五步 格式化namenode(是对namenode进行初始化)
第一次启动Hadoop,需要进行格式化主节点操作
# hadoop namenode -format
以后启动hadoop,不要格式化主节点了,会丢失数据
- 第六步 启动hadoop
$ cd /home/cloud/hadoop-2.6.4/sbin/#若已配置hadoop环境变量,直接在根目录下输入下一行代码
$ start-all.sh
Hadoop搭建到此结束,接下来是验证是否搭建成功
使用jps命令验证
出现以下结果,表明启动成功
[root@xxxxx ]# jps
6417 DataNode
7207 NodeManager
6920 ResourceManager
7258 Jps
6235 NameNode
6700 SecondaryNameNode
打开浏览器,地址栏输入master:50070查看详情
7.第七步 终止hadoop
$ cd /home/cloud/hadoop-2.6.4/sbin/ #若已配置hadoop环境变量,直接在根目录下输入下一行代码
$ stop-all.sh
参考:
Hadoop完全分布式集群搭建手记
Hadoop集群实践-完整Hadoop分布式集群部署ubuntu-16.04.1+hadoop-2.7.3
推荐阅读
- 面试|CentOS下安装及配置MySQL
- 软件安装|虚拟机安装centos7
- 软件安装|centos7安装zookeeper
- 软件安装|centos7安装配置jdk8
- Centos安装Redis(极速安装)
- 乏
- CentOS7|CentOS7 SVN服务器+Tomcat+Windows+Eclipse开发环境搭建
- Hadoop|Hadoop集群搭建(二)——Linux系统SSH远程双向免密登陆
- CentOS7 解决ping(www.baidu.com“未知的名称或服务”)
- 如何在 RHEL 8 / CentOS 8 系统中下载 RPM 包而不安装它们 ()