最近在搞大数据项目支持所以有时间写下hadoop随笔吧。
环境介绍:
Linux: centos7
jdk:java version "1.8.0_181
hadoop:hadoop-3.2.0
ssh:配置ssh免密码登录
安装步骤:
1.下载hadoop
地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
下载完成后解压包
tar xzvf hadoop-3.2.0.tar.gz
2.配置jdk环境变量
vim /etc/profile
export JAVA_HOME=/root/jdk1.8.0_181 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib PATH=.:${JAVA_HOME}/bin/:$PATH
3.cd到解压完成hadoop目录创建input文件夹,将etc、hadoop下的*.xml拷贝到input中
mkdir input cp etc/hadoop/*.xml input/
4.运行单机配置(非分布式)
默认情况下,Hadoop配置为以非分布式模式运行,作为单个Java进程。这对调试很有用。
以下示例复制解压缩的conf目录以用作输入,然后查找并显示给定正则表达式的每个匹配项。输出将写入给定的输出目录。
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar grep input output 'dfs[a-z.]+'
5.查看验证
验证完成后,删除output。
rm -rf ./output
6.部署伪分布式hadoop,既是namenode也是datanode
修改cire-site.xml
vim etc/hadoop/core-site.xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
修改hdfs-site.xml
vim etc/hadoop/hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
7.格式化文件系统
bin/hdfs namenode -format
格式化完成会出现如上图。
8.修改启动服务的文件
sbinxia的两个服务文件start-dfs.sh和stop-dfs.sh增加以下内容让服务启动以root用户,添加到前排就好。
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=root HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
9.启动服务
[root@localhost hadoop-3.2.0]# sbin/start-dfs.sh WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER. Using value of HADOOP_SECURE_DN_USER. Starting namenodes on [localhost] Last login: Tue Jun 4 22:12:31 CST 2019 on pts/1 Starting datanodes Last login: Tue Jun 4 22:12:45 CST 2019 on pts/1 Starting secondary namenodes [localhost.localdomain] Last login: Tue Jun 4 22:12:47 CST 2019 on pts/1
ss -tnl 查看服务启动端口
浏览器访问
https://localhost:9870
当你创建文件后可以在浏览器上浏览到