hadoop完全分布式配置(保姆级教程)
文章目录@[toc]hadoop完全分布式环境配置最小化安装CentOS虚拟机连接终端工具hadoop完全分布式安装jdk安装hadoop修改主机名修改hadoop配置文件克隆虚拟机配置刚克隆的虚拟机设置ssh免密登录格式化群起集群群关集群hadoop完全分布式环境配置最小化安装CentOS虚拟机把网络连接模式改成NAT[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-
hadoop完全分布式环境配置
最小化安装CentOS虚拟机
-
把网络连接模式改成NAT
-
配置网卡
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 (根据网卡自行配置)
把文件中的相关行修改,没有就添加
BOOTPROTO=static
ONBOOT=yes
IPADDR= 192.168.15.101(根据自己需要的ip来配置)
GATEWAY=192.168.15.1
PREFIX=24
接下来重启网卡
service network restart
或者
systemctl restart network
-
搭建本地yum源
-
把selinux改成宽容模式
vi /etc/selinux/config SELINUX=permissive :wq
-
连接CentOS镜像
把已连接打开 (开机的情况下)
-
在/opt下新建一个目录
mkdir /opt/local
-
挂载镜像到/mnt目录
mount /dev/cdrom /mnt/
-
把/mnt目录下所有文件拷贝到/opt/local
cp -rvf /mnt/* /opt/local
-
卸载镜像
umount /mnt/
-
cd /etc/yum.repos.d/目录下,新建并编辑
vi local.repo [centos] name=centos baseurl=file:///opt/local gpgcheck=0 enable=1
-
安装vsftpd
yum install -y vsftpd
-
安装net-tools
yum install -y net-tools
-
-
修改vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf 添加一行 anon_root=/opt/
-
开启vsftpd服务,并设置开机自启
systemctl start vsftpd systemctl enable vsftpd
-
安装基本网络工具
yum install -y net-tools
-
连接终端工具
-
我这里使用的是MobaXterm
可以从官网下 https://moba.en.softonic.com/?ex=CORE-117.6 选择免费版的
-
解压安装软件,安装后打开软件,不停的下一步,然后点开
-
使用
-
连接虚拟机:点击左上角的Session按钮,会弹出一个新框,点击SSH,在"Remote host"中输入IP地址,然后点OK就行
-
接下来可以输入用户和密码
-
传输文件只需把本地的文件挪到左侧的文件目录里就行
-
hadoop完全分布式
安装jdk
-
在/opt下创个文件夹存放安装包
mkdir download
-
先把jdk压缩文件放到download下
-
解压jdk压缩文件到当前目录
tar -zxvf 文件名
解压到其他目录
tar -zxvf 文件名 -C 目标文件
-
修改环境变量
vi /etc/profile “在文件末尾写入” ##JAVA_HOME export JAVA_HOME=/opt/download/jdk文件名 export PATH=$PATH:$JAVA_HOME/bin “退出文件编辑” :wq “重新加载profile文件 在命令行输入” source profile
-
检测安装是否成功
java -version
安装hadoop
-
把hadoop安装包导入/opt/download 目录下
-
解压
tar -zxvf hadoop包名
-
配置环境变量
vi /etc/profile ”在文件末尾写入“ ##HADOOP_HOME export HADOOP_HOME=/opt/download/hadoop包名 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin “退出文件编辑” :wq 重新加载profile文件 source profile
-
检测安装是否成功
hadoop version
修改主机名
-
vi /etc/hostname
修改为
接着在命令行输入
hostnamectl set-hostname hadoop1
查看主机名,命令行输入
hostname
-
添加主机映射
vi /etc/hosts
修改hadoop配置文件
-
hadoop的配置文件都放在hadoop安装目录下面etc/hadoop/目录下
cd /opt/download/hadoop-2.7.2/etc/hadoop/
总共有八个需要修改的文件
hadoop-env.sh
mapred-env.sh
yarn-env.sh
core-site.xml
hdfs-site.xml
yarn-site.xml
mapred-site.xml
slaves
但是你会发现没有mapred-site.xml文件,但是会有个mapred-site.xml.template,它是mapred-site.xml文件的模板文件,只需复制一份再重命名一下就行
cp mapred-site.xml.template mapred-site.xml
-
修改core-site.xml文件
vi core-site.xml 在<configuration> </configuration>中写入配置信息 <property> <name>fs.defaultFS</name> <value>hdfs://hadoop1:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/download/hadoop-2.7.2/data/tmp</value> </property>
-
修改hdfs-site.xml
vi hdfs-site.xml 在<configuration> </configuration>中写入配置信息 <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop3:50090</value> </property>
-
修改yarn-site.xml
vi yarn-site.xml 在<configuration> </configuration>中写入配置信息 <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop2</value> </property>
-
修改mapred-site.xml
vi mapred-site.xml 在<configuration> </configuration>中写入配置信息 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
-
修改hadoop-env.sh
vi hadoop-env.sh 配置java路径
-
修改yarn-env.sh
vi yarn-env.sh 配置java路径
-
修改mapred-env.sh
vi mapred-env.sh 配置java路径
-
修改slaves文件
vi slaves 把里面的删掉,然后添加三台主机名 hadoop1 hadoop2 hadoop3
-
克隆虚拟机
配置文件修改完后,关闭虚拟机,然后克隆虚拟机
鼠标右键点击
点击管理->点击克隆->下一步->选择创建完整克隆->下一步->选择安装位置
然后再克隆一台,这样我们就有三台虚拟机了,三台虚拟机的配置都是一样的
配置刚克隆的虚拟机
打开三台虚拟机,进入第二台
-
修改IP地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
重启网卡
systemctl restart network
-
修改主机名
vi /etc/hostname
hostnamectl set-hostname hadoop2
接下来进入第三台
和上面一样的操作,只是把IP地址改为192.168.183.12
hostname文件里面改为hadoop3
指令改为
hostnamectl set-hostname hadoop3
设置ssh免密登录
其实也可以不设,但是你群起集群时就会不停的要你输入密码,所有最好我们还是设置免密登录
-
使用终端连接三台虚拟机
-
在hadoop1那台机生成公钥和密钥
在命令行输入
ssh-keygen -t rsa
然后三次回车,它就会在root目录下生成一个.ssh文件
其中以pub为后缀的就是公钥
-
分发公钥,在命令行输入
ssh-copy-id hadoop2 然后输入 yes 最后输入hadoop2的密码
继续输入
ssh-copy-id hadoop3 然后输入 yes 最后输入hadoop3的密码
最后也把公钥发给hadoop1
ssh-copy-id hadoop1 然后输入 yes 最后输入hadoop1的密码
然后在hadoop2和hadoop3重复上面的操作(一模一样的操作)
格式化
在hadoop1的命令行输入
hadoop namenode -format
只要出现了successfully就是格式化成功了,如果报错了,一般都是配置文件出了问题,它会提示你是那个文件有问题,如下图所示,说明你的core-site.xml文件出现了问题。
群起集群
在hadoop1上输入
start-dfs.sh
在hadoop2上输入
start-yarn.sh
然后在每台机上输入
jps
hadoop1显示
hadoop2显示
hadoop3显示
这就说明你的Hadoop完全分布式配置成功了
群关集群
每次使用完集群后最好把集群关掉后再关机
在hadoop2输入
stop-yarn.sh
在hadoop1输入
stop-dfs.sh
博主也是第一次写文章,难免会有些遐思,希望大家评论交流
更多推荐
所有评论(0)