Hadoop单节点安装和配置
介绍Hadoop单节点配置
版本选择
hadoop通常会选择CDH提供的版本或Apache版本。CDH版本保证了生态圈各模块之间的兼容性,但因为CDH可能要开始收费,所以我们这里选择Apache的版本,以下为版本和环境
【hadoop版本】:Apache-hadoop-3.1.3
【hadoop运行环境】:CentOS7
【虚拟机软件】:VMware: 15
【主机系统】:Win10
Linux配置
- 检查虚拟机主机和IP映射
复制代码
1
2
3
4
5
6
7#查看ip地址 ip addr #查看主机名 hostname #检查ip-hostname映射(如果没有请添加) cat /etc/hosts
- 本机免密
复制代码
1
2
3
4
5
6
7
8#生成密钥 cd ~ ssh-keygen -t rsa #进入.ssh添加公钥 cd .ssh cat id_rsa/pub>>authorized_keys #登录本机测试
安装并配置Hadoop
- 解压缩并重名命
复制代码
1
2
3
4
5
6#提前上传hadoop安装包 #解压 tar -zxvf /opt/download/hadoop-3.1.3.tar.gz -C /opt/software #重命名 mv /opt/software/hadoop-3.1.3 /opt/software/hadoop313
- 配置环境变量
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15vim /etc/profile.d/myenv.sh #添加以下内容 ---------------------------------------------- export HADOOP_HOME=/opt/software/hadoop313 #自己安装hadoop的目录 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root ---------------------------------------------- #激活环境变量 source /etc/profile
- Hadoop配置
主要需要配置四个文件
(1) core-site.xml
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33<configuration> <!--配置namenode的地址--> <property> <name>fs.defaultFS</name> <value>hdfs://{第一步中查到的主机IP}:9820</value> </property> <property> <!--配置数据存储目录--> <name>hadoop.tmp.dir</name> <value>/opt/software/hadoop313/data</value> </property> <property> <!--配置HDFS网页登录使用的静态用户为root--> <name>hadoop.http.staticuser.user</name> <value>root</value> </property> <property> <!--配置root(超级用户)允许通过代理访问的主机节点--> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <!--配置root(超级用户)允许通过代理用户所属组--> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <!--配置root(超级用户)允许通过代理的用户--> <name>hadoop.proxyuser.root.user</name> <value>*</value> </property> </configuration>
(2) hdfs-site.xml
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<configuration> <!--配置namenode web访问地址--> <property> <name>dfs.namenode.http-address</name> <value>{主机IP}:9870</value> </property> <!--配置secondary namenode web访问地址--> <property> <name>dfs.namenode.secondary.http-address</name> <value>{主机IP}:9868</value> </property> <!--配置hdfs副本数量--> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
(3) mapred-site.xml
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<configuration> <!--配置mapreduce运行于yarn上:默认为local,也可以指定spark阶段了解mesos--> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!--配置历史服务器地址--> <property> <name>mapreduce.jobhistory.address</name> <value>{主机IP}:10020</value> </property> <!--配置历史服务器web端地址--> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>{主机IP}:19888</value> </property> </configuration>
(4) yarn-site.xml
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70<configuration> <!--配置mr的执行方式--> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!--配置ResourceManager的地址--> <property> <name>yarn.resourcemanager.hostname</name> <value>{主机名}</value> </property> <!--配置环境变量的继承--> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE, HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value> </property> <!--配置yarn容器允许分配的最小内存--> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>512</value> </property> <!--配置yarn容器允许分配的最大内存--> <property> <name>yarn.scheduler.maximum-allocation-mb</name> <value>1536</value> </property> <!--配置yarn容器允许管理的物理内存大小--> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>1536</value> </property> <!--yarn初始申请内存大小--> <property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>256</value> </property> <!--配置关闭yarn对物理内存和虚拟内存的限制检查,jdk8运行于centos6以上版本会导致虚拟内存过大--> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <!--配置关闭yarn对物理内存和虚拟内存的限制检查--> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property> <!--开启日志聚集--> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!--配置日志聚集服务器地址--> <property> <name>yarn.log.server.url</name> <value>http://{主机IP}:19888/jobhistory/logs</value> </property> <!--配置日志保留时间为7天--> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <!--配置yarn的classpath(在linux命令行输入 hadoop classpath 查到)--> <property> <name>yarn.application.classpath</name> <value>/opt/software/hadoop313/etc/hadoop:/opt/software/hadoop313/share/hadoop/common/lib/*:/opt/software/hadoop313/share/hadoop/common/*:/opt/software/hadoop313/share/hadoop/hdfs:/opt/software/hadoop313/share/hadoop/hdfs/lib/*:/opt/software/hadoop313/share/hadoop/hdfs/*:/opt/software/hadoop313/share/hadoop/mapreduce/lib/*:/opt/software/hadoop313/share/hadoop/mapreduce/*:/opt/software/hadoop313/share/hadoop/yarn:/opt/software/hadoop313/share/hadoop/yarn/lib/*:/opt/software/hadoop313/share/hadoop/yarn/* </value> </property> </configuration>
- namenode格式化
复制代码
1
2
3
4
5#在hadopp主目录(/opt/software/hadoop313)下新建data文件夹 mkdir data #nemenode格式化 ./bin/hdfs namenode -format
- 启动服务
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14#启动服务 start-all.sh #通过jps查看服务,如果出现下边服务说明服务已经开启完毕 --------------------------------------------------------------- 66455 Jps 55764 DataNode 56282 ResourceManager 55627 NameNode 55981 SecondaryNameNode 56415 NodeManager -------------------------------------------------------------- #也可启动jobhistory(不是必要) ./sbin/mr-jobhistory-daemon.sh start historyserver
- 测试hdfs系统
复制代码
1
2
3
4
5
6
7
8
9#查看活动方式文件目录 hdfs dfs -ls / #创建hdfs目录 hdfs dfs -mkdir /kb12/hd/cha01 #上传文件到hdfs目录 hdfs dfs -put a.txt /kb12/hd/cha01 #查看hdfs文件内容 hdfs dfs -cat /kb/12/hd/cha01/*
- 测试mapreduce,用hadoop自带案例
复制代码
1
2
3
4
5#进入mapreduce目录 cd /opt/software/hadoop313/share/hadoop/mapreduce #运行wordcount例子 hadoop jar hadoop-mapreduce-examples-3.1.3.jar wordcount /input/wc01.log /out
#如果前边过程正常,说明Hadoop下的hdfs,yarn,和mapreduce可以正常工作。接下来可以做hadoop的本地映射,通过java来测试hadoop。
- 迁移hadoop至windows,用java代码进行测试
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51#1.准备window hadoop环境,将hadoop.dll放到system32 hadoop.dll -> windows/system32 #2.将linux下hadoop打包 cd /opt/software tar -zcvf hadoop313.tar.gz hadoop313/ #将压缩包通过xftp或lrzsz拷贝至windows #将压缩包解压至windows d:/software目录 #若解压报错:win->search winrar->右键以管理员方式启动->选择压缩解压至目标路径 #3.将windutils.exe拷贝至windows hadoop313/bin #.配置windows hadoop环境变量 HADOOP_HOME=D:softwarehadoop313 PATH:%HADOOP_HOME%bin;%HADOOP_HOME%sbin;... HADOOP_USER_NAME=root #5.配置windows环境下linux中hostname和ip地址映射 C:/windows/System31/drivers/etc/hosts 中添加 ----------------------------- 虚拟机IP 虚拟机主机名 ----------------------------- #6.退出安全模式 hadoop dfsadmin -safemode leave #7.idea中建立maven项目 #idea pom.xml -------------------- <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <manve.compiler.target>1.8</manve.compiler.target> <hadoop.version>3.1.3</hadoop.version> <log4j.version>1.2.17</log4j.version> <slf4j.version>2.0.0-alpha1</slf4j.version> </properties> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${slf4j.version}</version> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> </dependencies> ------------------ #8.编写MapReduce任务进行测试
最后
以上就是愉快面包最近收集整理的关于Hadoop-单节点配置Hadoop单节点安装和配置的全部内容,更多相关Hadoop-单节点配置Hadoop单节点安装和配置内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复