一、前置准备
- java jdk安装包 jdk-8u202-linux-x64.tar.gz Java Downloads | Oracle
- hadoop安装包 jdk-8u202-linux-x64.tar.gz Index of /hadoop/common
- linux机器
二、linux环境配置
1、修改hostname
hostnamectl set-hostname my-hostname 或者编辑 /etc/hosts
hostname 可以验证修改是否成功
2、安装ssh
yum install ssh
3、ssh 免密登录(hadoop要求)
ssh localhost 如果提示需要输入密码则执行以下指令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh-copy-id hadoop100
三、安装java jdk
#创建 soft文件夹
mkdir /soft
#将jdk拷贝到/soft目录下
#解压
tar -zxvf jdk-8u202-linux-x64.tar.gz
#配置环境
vim /etc/profile.d/jdk.sh
#按 i 键 准备输入
#输入
export JAVA_HOME=/soft/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
# 按 Esc 键
# 按 Shift + :键
# 输入wq,并回车
#重新加载
source /etc/profile
# 验证
java -version
#显示如下则表明安装成功
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
四、安装hadoop
#将hadoop安装包拷贝到/soft目录下
#解压
tar -zxvf hadoop-3.2.4.tar.gz
#配置环境
vim /etc/profile.d/hadoop.sh
#输入
export HADOOP_HOME=/soft/hadoop-3.2.4
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#保存退出
# 重新加载
source /etc/profile
五、hadoop配置与验证
1、配置
#进入hadoop的安装环境
cd /soft/hadoop-3.2.4
#修改配置文件 core-site.xml
vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
#修改配置文件hdfs-site
vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
2、hadoop初始化
#初始化文件系统
bin/hdfs namenode -format
#启动nameNode和DataNode的守护进程
sbin/start-dfs.sh
#启动守护进程时可能会报错 类似
ERROR: Attempting to operate on hdfs namenode as root
ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation.
#解决
#修改start-dfs.sh、stop-dfs.sh
vim /sbin/start-dfs.sh
vim /sbin/stop-dfs.sh
#在头部添加
HDFS_ZKFC_USER=root
HDFS_JOURNALNODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=root
#HADOOP_SECURE_DN_USER=root
#修改 start-yarn.sh和stop-yarn.sh
vim /sbin/start-yarn.sh
vim /sbin/stop-yarn.sh
#在头部添加
#HADOOP_SECURE_DN_USER=root
HDFS_DATANODE_SECURE_USER=root
YARN_NODEMANAGER_USER=root
YARN_RESOURCEMANAGER_USER=root
#重新运行
sbin/start-dfs.sh
3、验证
#hdfs 内建根文件夹
bin/hdfs dfs -mkdir -p /user/<username>
#拷贝文件到hdfs文件系统
bin/hdfs dfs -mkdir input
bin/hdfs dfs -put etc/hadoop/*.xml input
#运行示例代码
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.4.jar grep input output 'dfs[a-z.]+'
#打印输入文件的内容
bin/hdfs dfs -cat output/*
#当结束时执行停止脚本
sbin/stop-dfs.sh
如有疑问可以参考hadoop官网:Apache Hadoop 3.3.6 – Hadoop: Setting up a Single Node Cluster.