环境:CentOS7+hadoop-2.7.3
1.安装JDK
1.查看linux上是否存在已经安装好的JDK
java –version
2.查看本机上所有已经安装成功的软件,只查看和jdk相关的
rpm -qa | grep jdk
3.删除Linux自带的jdk
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-devel-1.7.0.91-2.6.2.3.el7.x86_64
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.36-1.13.8.1.el7_1.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.91-2.6.2.3.el7.x86_64
rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.36-1.13.8.1.el7_1.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.91-2.6.2.3.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.65-3.b17.el7.x86_64
4.创建一个文件夹,上传jdk压缩包,然后解压
创建文件夹
mkdir /usr/local/java
上传jdk压缩包
使用rz命令上传 或者 用FileZilla软件上传
解压
tar -zxvf jdk-8u11-linux-x64.tar.gz
5.配置java环境变量
进入文件
vi /etc/profile
在末尾添加 (shift+g定位到末尾)
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8.0_11
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存后退出
使配置的信息立即生效
source /etc/profile
查看JDK版本信息,如果显示出1.8.0证明安装成功
java -version
2.设置静态IP
1.进入到配置文件(CentOS7)
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
修改前 修改后
修改说明:将BOOTPROTO="dhcp" 改成 BOOTPROTO="static"
ONBOOT="yes" #系统在启动时激活网卡 不是yes的要设置为yes
新增: IPADDR=192.168.66.131 #静态ip
GATEWAY=192.168.66.2 #默认网关
NETMASK=255.255.255.0 #子网掩码
保存退出后,重启网络服务
service network restart
查看ip,发现ip已经变成192.168.66.131
然后ping 192.168.66.131 ,如果可以ping通,说明配置成功
3.设置主机名及IP映射
修改主机名
vi /etc/hostname
例如:设置为node01,(将里面的localhost改为node01)
设置ip映射
vi /etc/hosts
在文件尾部添加内容,格式:IP地址 主机名
192.168.66.131 node01
设置完成后,重启网络服务
systemctl restart network
使用 ping 命令 ping 主机名 如果可以ping 通,表示设置成功 (ctrl+c停止ping)
4.上传hadoop压缩包并解压
创建文件夹
mkdir /opt/hadoop
使用rz命令上传压缩包
rz
解压
tar -zxvf hadoop-2.7.3.tar.gz
5.设置免密登录
生成公钥和密钥
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
将公钥添加到authorized_keys中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
修改权限
chmod 0600 ~/.ssh/authorized_keys
6.修改配置文件
创建文件夹
mkdir /opt/hadoop/hdfs
mkdir /opt/hadoop/hdfs/name
mkdir /opt/hadoop/hdfs/data
1.配置 ~/.bash_profile文件
vi ~/.bash_profile
在末尾添加
HADOOP_HOME=/opt/hadoop/hadoop-2.7.3
PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_HOME PATH
保存后退出
使配置的文件立即生效
source ~/.bash_profile
进入到下面的目录中
cd /opt/hadoop/hadoop-2.7.3/etc/hadoop
2.配置hadoop-env.sh
vi hadoop-env.sh
将自带的JAVA_HOME注释掉
#export JAVA_HOME=${JAVA_HOME}
然后将新的JAVA_HOME导入
export JAVA_HOME=/usr/local/java/jdk1.8.0_11
保存后退出
3.配置yarn-env.sh文件
vi yarn-env.sh
将JAVA_HOME导入
export JAVA_HOME=/usr/local/java/jdk1.8.0_11
4.配置core-site.xml文件
vi core-site.xml
在<configuration></configuration>中间添加
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value>
</property>
【注意】上面的localhost要改成自己的主机名,如node01
保存后退出
5.配置hdfs-site.xml
vi hdfs-site.xml
在<configuration></configuration>中间添加
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/opt/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/opt/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
6.配置mapred-site.xml
mapred-site.xml在文件夹下是mapred-site.xml.template,所以要先备份一下文件(改一下名字)
cp mapred-site.xml.template mapred-site.xml
然后配置mapred-site.xml文件
vi mapred-site.xml
在<configuration></configuration>中间添加
<name>mapreduce.framwork.name</name>
<value>yarn</value>
7.配置yarn-site.xml文件
vi yarn-site.xml
在<configuration></configuration>中间添加
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
保存后退出
7.格式化namenode
cd /opt/hadoop/hadoop-2.7.3/bin
./hdfs namenode -format
8.启动hadoop
cd /opt/hadoop/hadoop-2.7.3/sbin
./start-all.sh
查看启动进程
jps
出现以上6个,说明hadoop启动成功
【注意】如果NameNode启动失败,要先格式化一下namenode
用浏览器访问8088端口
192.168.66.131:8080
如果访问不了,就关闭防火墙
查看防火墙状态
firewall-cmd --state
关闭防火墙
systemctl stop firewalld.service
之后再访问8088端口,出现以下画面
再访问50070端口
192.168.66.131:8088
出现以下画面
至此,hadoop伪分布式搭建完成