1.创建新用户
useradd heipilei
2.heipilei用户下创建所需文件夹
mkdir sourcecode software app log lib data tmp shell
3.将下载好的hadoop java 文件上传到 software下
software 目录下 rz
4.将hadoop java 解压到 用户app下
tar -xzvf hadoop-3.1.3.tar.gz -C ../app/
tar -xzvf jdk-8u212-linux-x64.tar.gz -C ../app/
hadoop/etc/hadoop 下 vi hadoop-env.sh
export JAVA_HOME=/home/heipilei/app/java
export HADOOP_HOME=/home/heipilei/app/hadoop
export PATH=:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
配置局部变量(用户)
5.创建软连接
ln -s hadoop-3.1.3/ hadoop
ln -s jdk1.8.0_212/ java
创建软连接好处:版本切换无感知 (java版本跟hadoop版本需要适配)
cd hadoop
drwxr-xr-x 2 heipilei heipilei 4096 9月 12 2019 bin 可执行命令 hadoop hdfs 命令
drwxr-xr-x 3 heipilei heipilei 4096 9月 12 2019 etc 配置文件
drwxr-xr-x 2 heipilei heipilei 4096 9月 12 2019 include
drwxr-xr-x 3 heipilei heipilei 4096 9月 12 2019 lib
drwxr-xr-x 4 heipilei heipilei 4096 9月 12 2019 libexec
-rw-rw-r-- 1 heipilei heipilei 147145 9月 4 2019 LICENSE.txt
-rw-rw-r-- 1 heipilei heipilei 21867 9月 4 2019 NOTICE.txt
-rw-rw-r-- 1 heipilei heipilei 1366 9月 4 2019 README.txt
drwxr-xr-x 3 heipilei heipilei 4096 9月 12 2019 sbin 启停脚本
drwxr-xr-x 4 heipilei heipilei 4096 9月 12 2019 share
6.配置环境
vi core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://heipilei:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/heipilei/tmp</value>
</property>
vi hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>heipilei:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>heipilei:50091</value>
</property>
vi workers
heipielei
vi /etc/hosts ( hostnamectl set-hostname heipilei) 不需要重启 需要重启机器
7. 设置免登录 (检查您是否可以在没有密码的情况下 ssh 到 localhost)
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
8.格式化文件系统
cd 回去
hdfs namenode -format
9.启动 NameNode 守护进程和 DataNode 守护进程
sbin/start-dfs.sh
NameNode 名称节点 老大 存储的是文件目录树
SecondaryNameNode 第二名称节点 老二 每隔一小时备份一下老大
DataNode 小弟 存放数据
10.创建执行 MapReduce 作业所需的 HDFS 目录
hdfs dfs -mkdir /user hdfs dfs -mkdir /user/heipilei
11.将输入文件复制到分布式文件系统中
hdfs dfs -mkdir input hdfs dfs -put etc/hadoop/*.xml input
LAST 跑官网例子
1 bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep input output 'dfs[az.]+'
2.hdfs dfs -get output output
3.cat output/*
4.stop-dfs.sh