centos7搭建hadoop
一、先安装jdk:官网下载linux版本jdk:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlhtml本机与linux虚拟机之间文件传输可以用xftp7来实现会更方便一点。Xftp7的下载可以直接官网有免费版本,输入名字和邮箱就可以获得下载网址,这里直接贴出网址:https:/
一、先安装jdk:
官网下载linux版本jdk:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlhtml
本机与linux虚拟机之间文件传输可以用xftp7来实现会更方便一点。Xftp7的下载可以直接官网有免费版本,输入名字和邮箱就可以获得下载网址,这里直接贴出网址:https://www.netsarang.com/zh/downloading/?token=cWhOZzk1SGI1Rmx1MlVPVEo4SzRZUUBWUGlXNmFobzlQTlp1MXo1SV9aX0pR(不一定有效,无效的话按步骤获取就行)Xshell效果和Xftp7差不多这里一并贴出下载网址:https://www.netsarang.com/zh/downloading/?token=Nm9yQXAyc1lvbmNXbHA4MVdGMlI3UUBWUGlXNmFobzlQTlp1MXo1SV9aX0pR
Xftp7与linux的连接由linux的ip地址以及用户密码来完成,网上有直接的方法,这里不做说明。
1.先利用Xftp7将jdk压缩包复制到linux中/opt/java文件夹下(直接拖就好,java文件夹是自己新建的,也可以建别的)
进入/opt/java解压压缩包:
cd /opt/java
tar -zxvf jdk-8u311-linux-x64.tar.gz
接下来配置环境变量:ls查看安装路径名字
ls
修改文件:vim /etc/profile
在文档结尾加上:
export JAVA_HOME=/opt/java/jdk1.8.0_311
export PATH=$PATH:$JAVA_HOME/bin
更新环境变量,使配置生效:
source /etc/profile
查看java版本:java -version
二、克隆两台虚拟机分别设置节点
先克隆两台虚拟机为节点机:
安装步骤克隆出两个节点,克隆过程没有坑这里不再贴图。
分别在三台虚拟机查看三台虚拟机的ip地址ifconfig
:
若出现下面的情况,去系统工具中的设置把以太网打开:
接下来修改机器名称,将主机改成master:
修改主机名命令:hostname 主机名;hostname查看当前主机名
hostname master
检查并修改3台虚拟机IP地址和名称,三台机器具体参数如下:
ip地址 | 主机名 |
---|---|
192.168.225.128 | master |
192.168.225.130 | slave |
192.168.225.131 | slave2 |
修改vim /etc/hosts
文件,将三台机器的ip地址和主机命写进去(三台机器都要分别写入):
接着检查三台虚拟机是否ping通,以master为例,都能ping通.ping -c 3 slave
三、给三台机器配置秘钥
生成秘钥文件ssh-keygen -t rsa -P ''
查看生成的秘钥文件ls /root/.ssh
:
查看并保存其中的id_rsa.pub文件(可以先保存在一个文档里,因为要等会要合并在一个文件里):cat /root/.ssh/id_rsa.pub
:
搭建过程中三台机器最好同时开启,我不小心关了其他机器,重新打开后发现主机名没改过去,重新来了一遍,而且再开slave机器时发现网络不能正常连接出现下面的情况:
这种情况下,进入cd /etc/sysconfig/network-scripts/
修改文件vim ifcfg-ens33
,将最后一行的no改为yes
发现还是不行,后来发现一个帖子中有一个方法试了一下,虽然设置那里还是不行,但是可以正常联网,ip地址也正常查到了:
systemctl stop NetworkManager
systemctl disable NetworkManager
重新启动网络:
systemctl start network.service
然后就继续配置秘钥文件。突然想起来在终端从用户到root用户的切换用su
:
秘钥文件配置完成后新建authorized_keys 文件(三台虚拟机都要操作)touch /root/.ssh/authorized_keys
编辑文件:vim /root/.ssh/authorized_keys
将之前保存的id_rsa.pub文件内容合并在一起:
其他两个节点的文件可以借用Xftp完成(粘贴复制就行):
测试免密登录:ssh slave
slave为节点名根据需要更改。登录别的节点后不用的时候一定要exit
退出,不然就是在别的节点操作。
四、安装hadoop:
新建hadoo文件夹(三台虚拟机都需要新建hadoop文件夹):mkdir /usr/hadoop
用XFTP新建也可以,建完直接将hadoop文件拖进虚拟机里:
将hadoop压缩包复制到linux中:
然后解压压缩包(三台机器都要解压):cd /usr/hadoop
tar -zxvf hadoop-2.10.1.tar.gz
接着新建几个文件,只需在master节点新建:
mkdir /root/hadoop
mkdir /root/hadoop/tmp
mkdir /root/hadoop/var
mkdir /root/hadoop/dfs
mkdir /root/hadoop/dfs/name
mkdir /root/hadoop/dfs/data
修改hadoop配置文件:
1.先进入cd /usr/hadoop/hadoop-2.10.1/etc/hadoop/
修改vim core-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
</configuration>
2.修改hadoop-env.sh(三台都需要操作)
vim hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME}改成下面的红框jdk路径(这个jdk路径就是之前安装jdk的路径)
3.修改hdfs-site.xml:vim hdfs-site.xml
:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>true</value>
<description>need not permissions</description>
</property>
<configuration>
4./新建并且修改mapred-site.xml
vim mapred-site.xml.template
vim mapred-site.xml
在/usr/hadoop/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template文件中的内容添加以下代码后复制到mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.修改slave文件,删去原本的内容,改成slave;slave2。
6.修改配置文件:vim yarn-site.xml
:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
<discription>每个节点可用内存,单位MB,默认8182MB</discription>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
五、启动Hadoop
1.初始化
进入到master这台机器的/usr/hadoop/hadoop-2.10.1/bin目录,
cd /usr/hadoop/hadoop-2.10.1/bin
切换到指定目录
./hadoop namenode -format
格式化hadoop
格式化成功标志:(不要格式化两次!)
2. 启动hadoop
进入到master这台机器的/usr/hadoop/hadoop-2.10.1/sbin目录,
cd /usr/hadoop/hadoop-2.10.1/sbin
切换到指定目录
./start-all.sh
执行命令
执行之后一直报alave2找不到,然后想到hadoop环境好像还没加,加了之后发现还是不行,后来看着看着发现,嗯,,,好像哪里不对,,,,alave2???好像不对,是slave2才对吧,想到之前配置文件时好像打错了
重新进去文件夹改文件:
cd /usr/hadoop/hadoop-2.10.1/etc/hadoop
vim slaves
然后再重新启动成功:
更多推荐
所有评论(0)