「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。
俗话说得好,工欲善其事必先利其器,最近要做大数据分析研发,所以专门学了一下hadoop的安装和使用,作为大数据处理的基础底层架构,确实非常强大,下面先介绍一下部署相关,后续介绍应用相关内容。
一、安装
使用指南
Hadoop 官网: hadoop.apache.org/
下载命令: wget https://downloads.apache.org/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
解压:
[root@iZbp opt]# tar -zxvf hadoop-2.10.1.tar.gz
[root@iZbp hadoop]# pwd /opt/hadoop-2.10.1/etc/hadoop
二、配置
[root@iZbp hadoop]# vi core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/opt/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9190</value> </property> </configuration>
编辑mapred-site.xml.template
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9191</value> </property> </configuration>
编辑hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/opt/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/opt/hadoop/tmp/dfs/data</value> </property> </configuration>
设置环境变量:
[root@iZbp151sp834mwfkmw0ozfZ bin]# vi /etc/profile
HADOOP_HOME=/opt/hadoop-2.10.1
export PATH=$PATH:$HADOOP_HOME/bin
三、运行
1、初始化hadoop
[root@iZbp151sp834mwfkmw0ozfZ bin]# pwd
/opt/hadoop-2.10.1/bin
./hdfs namenode -format
2、开启NameNode和DataNode守护进程
[root@iZbp151sp834mwfkmw0ozfZ hadoop-2.10.1]# ./sbin/start-dfs.sh
修改:jdk的路径放置在hadoop.env.sh
[root@iZbp151sp834mwfkmw0ozfZ hadoop]# pwd
/opt/hadoop-2.10.1/etc/hadoop
export JAVA_HOME="/usr/java/jdk1.8.0_131"
再次启动
[root@iZbp151sp834mwfkmw0ozfZ hadoop-2.10.1]# ./sbin/start-dfs.sh
3、查看进程
4、访问页面:
172.xx.xxx.xx:50070/dfshealth.h…
四、Demo
1、本地新建文件夹目录
/opt/hadoop_test [root@iZbp151sp834mwfkmw0ozfZ hadoop_test]# cat word.txt huhu tutu kukuqiiqkashaladi
2、在hdfs上创建文件夹目录
# 新建 hdfs dfs -mkdir /hadoop_test # 查看hdfs对应文件夹情况 hdfs dfs -ls
3、本地word.txt上传到hdfs对应的测试目录下
#上传 hdfs dfs -put /opt/hadoop_test/word.txt /hadoop_test/
[root@iZbp151sp834mwfkmw0ozfZ hadoop_test]# hdfs dfs -ls /hadoop_test -rw-r--r-- 1 root supergroup 36 2022-02-09 16:44 /hadoop_test/word.txt
4、计算字符统计
[root@iZbp151sp834mwfkmw0ozfZ mapreduce]# hadoop jar /opt/hadoop-2.10.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar wordcount /hadoop_test/word.txt /hadoop_test/wordcount_out
#查看统计生成结果情况:
[root@iZbp151sp834mwfkmw0ozfZ mapreduce]# hdfs dfs -ls
/hadoop_test/wordcount_out/ 22/02/09 16:50:51 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Found 2 items -rw-r--r-- 1 root supergroup 0 2022-02-09 16:49 /hadoop_test/wordcount_out/_SUCCESS -rw-r--r-- 1 root supergroup 42 2022-02-09 16:49 /hadoop_test/wordcount_out/part-r-00000
# 查看运行结果 [root@iZbp151sp834mwfkmw0ozfZ mapreduce]# hadoop fs -cat
/hadoop_test/wordcount_out/part-r-00000 kukuqiiqkashaladi 1 huhu 1 tutu 1