Linux环境下:
修改IP:
// vi /etc/sysconfig/network-scripts/ifcfg-ens33
// BOOTPROTO=static
// ONBOOT=yes
// IPADDR=192.168.X.51
// GATEWAY=192.168.X.2
// DNS1=8.8.8.8
// DNS2=8.8.4.4
// NETMASK=255.255.255.0
// vi /etc/resolv.conf
// nameserver 8.8.8.8
// nameserver 8.8.4.4
//重启网卡:servie network restart
关闭防火墙:
// 关闭防火墙:systemctl stop firewalld.service
// 禁用防火墙:systemctl disable firewalld.service
// 查看防火墙:systemctl status firewalld.service
// 关闭Selinux:vi /etc/selinux /config
// 将SELINUX=enforcing改为SELINUX=disabled
修改主机名:
// hostnamectl set-hostname 主机名
IP和主机名关系映射:
// vi /etc/hosts
192.168.x.51 bigdata111
192.168.x.52 bigdata112
192.168.x.53 bigdata113
// 在windows的C:\Windows\System32\drivers\etc路径下找到hosts并添加
192.168.x.51 bigdata111
192.168.x.52 bigdata112
192.168.x.53 bigdata113
在opt目录下创建文件:
// mkdir module software
CRT环境下:
安装和卸载JDK和HADOOP步骤:
//CRT传输文件
//alt + p
//输入放的目录
//pwd查看一下是否是这个目录
//然后直接把要传输的文件扔进去就好
// 在/opt目录下创建两个子文件
//mkdir /opt/module /opt/software
// 解压jdk到/opt/module目录下
//tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
// 配置jdk环境变量
//vi /etc/profile
//export JAVA_HOME=/opt/module/jdk1.8.0_144
//export PATH=$PATH:$JAVA_HOME/bin
//export HADOOP_HOME=/opt/module/hadoop-2.8.4
//export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
//source /etc/profile
// 测试java是否配置成功
//javac 或 java -cersion
// 测试Hadoop是否配置成功
//输入start-d按TAB键 如果出现“start-dfs.”就配置成功了
伪/完全分布式部署Hadoop:
配置集群:
// 先进入Hadoop文件下
// cd /opt/module/hadoop-2.8.4/
// 配置的是etc下的Hadoop文件下的文本 其他:lib(存放的ja包)share(存放的案例ja包)
// cd etc/hadoop/ (相对路径)
// 路径:/opt/module/hadoop-2.8.4/etc/hadoop
配置 core-site.xml 文件
输入方式:vi cor(习惯使用TAB键)
进入后:在19行和20行之间添加以下代码(也就是之间)
<!-- 指定HDFS中NameNode的地址,注:低版本的Hadoop的端口号是:8020 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://主机名1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.X.X/data/tmp</value>
</property>
代码的修改方式:
// 注:主机名1-->改为需要配置的主机名
// /opt/module/hadoop-2.X.X/data/tmp删掉----->克隆一个新窗口,
// 在新的窗口中输入:cd /opt/module/hadoop-2.8.4/
// 进入hadoop-2.8.4目录下 创建 data 和 logs 文件
// 命令:mkdir data logs
// 进入 data 文件,查看当前路径:pwd --> /opt/module/hadoop-2.8.4/data
// 复制当前路径到<value>(/opt/module/hadoop-2.8.4/data)</value>之间
// 保存退出:wq
配置 hdfs-site.xml 文件
输入方式:vi hdf(习惯使用TAB键)
进入后:在第20行添加以下代码(也就是之间)
<!--数据冗余数/备份数(默认3份)-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--Secondary NameNode的地址,端口号是:50090-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>主机名1:50090</value>
</property>
<!--关闭权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
// 注:主机名1-->改为需要配置的主机名
// 保存退出:wq
配置 yarn-site.xml 文件
输入方式:vi yarn-s(习惯使用TAB键)
进入后:将19行删除后,添加以下代码(也就是之间)
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>主机名1</value>
</property>
<!-- 日志聚集功能使用 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天(秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
// 注:主机名1-->改为需要配置的主机名
// 保存退出:wq
配置 mapred-site.xml 文件
输入方式:vi mapred-s(习惯使用TAB键)
出现的是:mapred-site.xml.template 临时文件
改文件的名字:mv mapred-site.xml.template mapred-site.xml
在输入:vi mapred-s(习惯使用TAB键)
进入后:在20行添加以下代码(也就是之间)
<!-- 指定MR运行在YARN上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>主机名1:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>主机名1:19888</value>
</property>
// 注:主机名1-->改为需要配置的主机名
// 保存退出:wq
添加环境变量的配置:
进入环境变量配置文件:vi /etc/profile
进入后:shift + g (跳转到最后一行)
复制:将 export JAVA_HOME=/opt/module/jdk1.8.0_144 复制出来(这是自己配置的,不一定一样)
配置 hadoop-env.sh 文件
输入方式:vi hadoop-e(习惯使用TAB键)
进入后:shift + g (跳转到最后一行)
跳转到下一行:(快捷键)o
在enter一下添加:(复制出来的环境变)export JACA_HOME=/opt/module/jdk1.8.0_144
保存退出:wq
配置 yarn-env.sh 文件
输入方式:vi yarn-e(习惯使用TAB键)
进入后:shift + g (跳转到最后一行)
跳转到下一行:(快捷键)o
在enter一下添加:(复制出来的环境变)export JACA_HOME=/opt/module/jdk1.8.0_144
保存退出:wq
配置 mapred-env.sh 文件
输入方式:vi mapred-e(习惯使用TAB键)
进入后:shift + g (跳转到最后一行)
跳转到下一行:(快捷键)o
在enter一下添加:(复制出来的环境变)export JACA_HOME=/opt/module/jdk1.8.0_144
保存退出:wq
配置 slaves 文件
输入方式:vi sl(习惯使用TAB键)
将 localhost 改为 bigdata01(你的主机名)。
保存退出:wq
全部配置完后:
格式化:
命令:hdfs namenode -format
如果提示没有环境变量,检查环境变量是否配置错误(只显示一行)
启动集群:
命令:start-all.sh
进入后:yes
回答后:输入你的主机密码 每次都需要输入(一共4次)
最后:
输入:jps 查看进程是否启动
显示了以下代码后 证明已经启动成功
注:如果没有显示 NameNode 不能多次进行格式化,
需要回到 /opt/module/hadoop-2.8.4 目录下 将data和 logs 删掉 : rm -rf data/* logs/*
删掉以后在进行格式化 :hdfs namenode -format
格式化后在启动:start-all.sh
然后进入网页输入:[IP地址]:50070 (查看ip的方法–>ip addr—>ens33的)
注:如果输入后什么都没有访问到;
1) :号输入的是中文的
2) 防火墙没有关:systemctl status firewalld (查看是否关闭防火墙)显示以下就关闭了
3) 如果有 NameNode 却没有其他的进程 去建立的那个 logs 文件下查看
步骤:先回到 /opt/module/hadoop-2.8.4 目录下 cd logs (进入logs目录)ll (查看文件)
找没有进程的文件名以log结尾的进行查看,如 namenode 没有启动
查看命令:cat hadoop-root-namenode-bigdata01.log
一定会报错:删掉 data 和 logs 目录 (步骤上面有)
显示了以下界面,证明搭建可能已经成功了
查看Datanodes下是否连接了你的主机名,如果链接了,那就是完全成功了。