一、安装jdk
1.卸载Linux自带的JDK
rpm -qa|grep jdk #查询原始JDK
yum -y remove <旧JDK>
2.解压缩
tar -zxvf /opt/softwares/jdk-8u151-linux-x64.tar.gz -C /opt/modules/
3.将Java添加至环境变量
vi /etc/profile
添加
export JAVA_HOME=/opt/modules/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
4.刷新配置
source /etc/profile
5.检测
jps
二、环境配置准备
1.关闭防火墙CentOS7.4
(1)关闭:
systemctl stop firewalld
(启动:systemctl start firewalld)
(2)开机禁用 :
systemctl disable firewalld
(开机启用 : systemctl enable firewalld)
(3)查看状态:
systemctl status firewalld
结果:
● firewalld.service
Loaded: masked (/dev/null; bad)
Active: inactive (dead)
2.修改hostname
(1)临时修改hostname
hostname hadoop
(2)永久修改hostname
修改配置文件 /etc/sysconfig/network。
NETWORKING=yes #使用网络
HOSTNAME=hadoop #设置主机名
(3)立即生效主机名
hostnamectl set-hostname hadoop
3.修改映射关系
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
172.19.199.187 hadoop
注意:172.19.199.187是私网ip!
4.创建用户hadoop
(1)创建用户
adduser hadoop
(2)修改密码
passwd hadoop
(3)给hadoop用户root权限
vi /etc/sudoers
添加一行
hadoop ALL=(root) NOPASSWD:ALL
5.设置ssh
(1)生成密钥
ssh-keygen -t rsa -P ""
(2)将密钥写入ssh中,这样在本地启动时,就可以避免输入密码
root用户:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
hadoop用户:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
三、Hadoop伪分布式环境搭建
1、解压Hadoop到指定目录下
tar -zxvf /opt/softwares/hadoop-2.6.0-cdh5.15.0.tar.gz -C /opt/modules/
2、修改文件权限
sudo chown -R hadoop:hadoop ./hadoop-2.6.0-cdh5.15.0/
3、清理Hadoop的目录,将hadoop-2.6.0-cdh5.15.0.tar.gz/share/doc目录删除,节省磁盘空间,通过这个命令查看df -h
rm -rf doc
4、修改三个.sh文件
修改etc/hadoop/hadoop-env.sh文件
修改etc/hadoop/mapred-env.sh文件
修改etc/hadoop/yarn-env.sh文件
指定Java安装路径
export JAVA_HOME=/opt/modules/jdk1.8.0_151
5、修改hadoop/etc/hadoop/core-site.xml文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.6.0-cdh5.15.0/data/tmp</value>
</property>
备注:hadoop(172.19.199.187)是私有ip!
6、重新自定义系统生成的文件路径,保证数据文件安全性
(1)创建/opt/modules/hadoop-2.6.0-cdh5.15.0/data/tmp目录
(2)修改权限
sudo chmod -R 777 /opt/modules/hadoop-2.6.0-cdh5.15.0/
7、修改etc/hadoop/hdfs-site.xml文件
指定HDFS文件存储的副本数个数,默认是3个,这里是单台机器就设置为1,这个数字要小于datanode的节点数
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
8、修改etc/hadoop/slaves文件
指定从节点的机器位置,添加主机名即可,注意私网:172.19.199.187
172.19.199.187
9、格式化namenode
sudo bin/hdfs namenode -format
10、启动命令
sudo sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
调试日志信息:
namenode
tail -100 /opt/modules/hadoop-2.6.0-cdh5.15.0/logs/hadoop-hadoop-namenode-hadoop.log
datanode
tail -100 /opt/modules/hadoop-2.6.0-cdh5.15.0/logs/hadoop-hadoop-datanode-hadoop.log
11、查看HDFS外部UI界面(阿里云)
(1)开启服务器外网访问端口
网络和安全-》安全组-》配置规则
(2)添加安全组规则-》添加端口50070
(3)访问web端口
http://公网ip:50070/explorer.html#/
12、测试HDFS环境
创建文件夹,HDFS中有用户主目录的概念,和Linux一样
bin/hdfs dfs -mkdir -p /hadoop/test
bin/hdfs dfs -mkdir -p hadoop/test上传到hdfs的/user下面的目录下
13、查看文件
bin/hdfs dfs -ls /
结果:
[hadoop@hadoop hadoop-2.6.0-cdh5.15.0]$ bin/hdfs dfs -ls /
Found 2 items
drwxr-xr-x - hadoop supergroup 0 2018-10-30 07:46 /hadoop
drwxr-xr-x - hadoop supergroup 0 2018-10-30 07:50 /user
14、上传文件到HDFS
bin/hdfs dfs -put etc/hadoop/core-site.xml hadoop/
15、读取HDFS的文件
bin/hdfs dfs -text hadoop/core-site.xml
16、下载文件到本地(指定下载到哪里,同时可以重命名成get-site.xml)
bin/hdfs dfs -get hadoop/core-site.xml /home/hadoop/get-site.xml
17、删除hdfs上文件
bin/hdfs dfs -rm -R /hadoop