centos 7 hadoop2.7完全分布式安装
作者:互联网
此文档为hadoop2.7和java8的安装。此配置只是用来学习大数据时所撰写
这里建立完全分布式集群用三台主机,主机名和IP分别如下
hadoop111A | 192.168.241.111 |
---|---|
hadoop222B | 192.168.241.112 |
hadoop333C | 192.168.241.113 |
进入虚拟机,先把防火墙关掉
systemctl status firewalld.service 查看防火墙 systemctl stop firewalld.service 关闭防火墙 systemctl start firewalld.service 开启防火墙 systemctl disable firewalld.service 关闭开机启动 systemctl enable firewalld.service 开启开机启动
查看现在的IP ifconfig
既然是用来学习,那我们就直接用root用户来搭建,这样也比较方便
修改网络配置 vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static IPADDR=192.168.241.111 PREFIX=24 GATEWAY=192.168.241.2 DNS1=192.168.241.2 DNS2=8.8.8.8
重启网络配置 systemctl restart network
现在就可以看到IP已经更改了
修改主机名 vim /etc/hostname
hadoop111A
安装 epel-release 注:Extra Packages for Enterprise Linux是为“红帽系”的操作系统提供额外的软件包,适用于RHEL, CentOS 和 Scientific Linux。相当于是一个软件仓库,大多数rpm包在官方repository中是找不到的 yum install -y epel-release 如果linux安装的是最小系统版,还需要安装如下工具; net-toll:工具包集合,包含ifconfig等命令 yum install -y net-toll vim编辑器 yum install -y vim
配置hadoop用户具有root权限,方便后期家sudo执行root权限的命令 vim /etc/sudoers
##Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL niuma ALL=(ALL) NOPASSWD:ALL
如果系统自带有jdk,那就把原来的jdk删除掉
查看jdk rpm -qa | grep java
删除jdk rpm -e | --nodeps 软件包名
解压hadoop和jdk
tar -zxvf 软件包名
添加/配置环境变量
##JAVA_HOME JAVA_HOME=/home/niuma/bigdata/java/jdk JRE_HOME=$JAVA_HOME/jre PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin CLASSPATH=.:$JAVA_HOME/lib.dt.jar:$JAVA_HOME/lib/tools.jar:$JER_HOME/lib export JAVA_HOME JRE_HOME PATH CLASSPATH ##HADOOP_HOME export HADOOP_HOME=/home/niuma/bigdata/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
应用这个配置 source /etc/profile
查看hadoop hadoop version
查看jdk java -version
配置映射;配置Windows映射C:\Windows\System32\drivers\etc\hosts win10一般有限制,需要将这个文件 移动出来修改后再放回去。把ip和主机名添加在最下面
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.241.111 hadoop111A 192.168.241.112 hadoop222B 192.168.241.113 hadoop333C
修改linux的映射 vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.241.111 hadoop111A 192.168.241.112 hadoop222B 192.168.241.113 hadoop333C
配置core-site.xml
<property> <name>fs.defaultFS</name> <value>hdfs://hadoop111A:8020</value> </property> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/niuma/bigdata/tmp</value> </property>
配置hadoop-env.sh
#The java implementation to use. export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/home/niuma/bigdata/java/jdk
配置hdfs-site.xml
<property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.block.size</name> <value>134217728</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///home/niuma/hadoopdata/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///home/niuma/hadoopdata/dfs/data</value> </property> <property> <name>fs.checkpoint.dir</name> <value>file:///home/niuma/hadoopdata/checkpoint/dfs/cname</value> </property> <property> <name>fs.checkpoint.edits.dir</name> <value>file:///home/niuma/hadoopdata/checkpoint/dfs/cname</value> </property> <property> <name>dfs.http.address</name> <value>hadoop111A:50070</value> </property> <property> <name>dfs.secondary.http.address</name> <value>hadoop222B:50090</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
配置yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>hadoop111A</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>hadoop111A:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>hadoop111A:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>hadoop111A:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>hadoop111A:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>hadoop111A:8088</value> </property>
配置mapred-site.xml
1 <property> 2 <name>mapreduce.framework.name</name> 3 <value>yarn</value> 4 <final>true</final> 5 </property> 6 <property> 7 <name>mapreduce.jobhistory.address</name> 8 <value>hadoop111A:10020</value> 9 </property> 10 <property> 11 <name>mapreduce.jobhistory.webapp.address</name> 12 <value>hadoop111A:19888</value> 13 </property>
配置slaves
hadoop111A hadoop222B hadoop333C
配置完毕后关机,在虚拟机里面完全克隆两台虚拟机,并将其IP和主机名修改好 完事后,进行免密登陆设置,运行指令创建免密登陆密钥 ssh-keygen -t rsa 一路回车下去后,私钥和公钥就在 /home/niuma/.ssh 里面建立了 进入这个文件夹便可以看到 cd /home/niuma/.ssh 将公钥拷贝到其他主机,例如我现在将hadoop111A的公钥拷贝到hadoop222B ssh-copy-id hadoop222B 这个时候我们就能在hadoop222B主机的 /home/niuma/.ssh 里面看到一个名为authorized_keys的文件 这里面便存 放着hadoop111A主机的公钥 按照这个方法都拷贝一遍,的是现在如果切换到root用户去访问别的主机还是需要密码的,所以我们切换到 root用户再进行一遍这样的操作
可以试着用shh连接其他主机,如果报错说无法识别相应主机,那就是前面映射没设置好,如果报错说无法建 立连接,那就修改 /etc/ssh/ssh_config 里面的内容 StrictHostKeyChecking ask 打开注释修改为 StrictHostKeyChecking no 即可
现在就可以格式化hadoop了,期间没有任何报错那就是成功了。如果报错说意外终止,那就是前面的配置文 件中的标签没有打好。在主机上格式化即可
格式化集群 hadoop namenode -format
启动/关闭hdfs服务 start-dfs.sh stop-dfs.sh 启动/关闭yarn服务 start-yarn.sh stop-yarn.sh
HDFS web访问页面 http://hadoop111a:50070 YARN web访问页面 http://hadoop111a:8088
标签:centos,192.168,dfs,niuma,yarn,HOME,hadoop2.7,hadoop111A,分布式 来源: https://www.cnblogs.com/wushuaiqi/p/15235815.html