避免采用root账号操作hadoop,引起安全问题。
1
2sudo useradd -r hadoop
sudo usermod -G hadoop hadoop
hadoop临时文件目录
1 | mkdir -p /home/hadoop/tmp |
hadoop主节点(namenode)文件目录
1 | mkdir -p /home/hadoop/hdfs/name |
hadoop数据节点(datanode)文件目录
1 | mkdir -p /home/hadoop/hdfs/data |
hadoop日志文件目录
1 | mkdir -p /home/hadoop/log |
设置hadoop文件目录所有者
1 | sudo chown -R hadoop /home/hadoop |
hadoop下载地址:官方下载地址
最新版为3.1.2版:
1 | wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.1/hadoop-3.2.1.tar.gz |
下载完成之后,解压安装包即可使用
1 | tar zxvf hadoop-3.2.1.tar.gz |
将安装目录所有者修改为hadoop:
1 | sudo chown -R hadoop /usr/local/hadoop-3.2.1 |
hadoop的配置文件都在 etc/hadoop 目录下。
配置文件有很多,最基本要修改3个文件:hadoop-env.sh ,core-site.xml,hdfs-site.xml。
hadoop-env.sh:
修改JAVA_HOME环境变量为JDK的安装路径。
1 | # Technically, the only required environment variable is JAVA_HOME. |
core-site.xml:
1 | <configuration> |
设置hdfs的监听端口(一般配置为9000,我改为了9001,因为和php-fpm的默认端口冲突)和hadoop临时文件目录。
hdfs-site.xml:
1 | <configuration> |
设置hdfs的namenode、datanode数据存放路径以及数据块复制备份数量,默认是3,但是因为我们是单机部署,修改为1。
1 | bin/hdfs namenode -format |
hadoop提供了一键启动所有组件的脚本,输入命令:
1 | /usr/local/hadoop/sbin/start-all.sh |
输入jps:
1 | hadoop@devops:~$ jps |
可以看到namenode、secondarynamenode、datanode、nodemanager、resourcemanager这三个服务已经启动。