赞
踩
0.centos 配置静态IP地址
修改 /etc/sysconfig/network-scripts/ifcfg-ens33 文件
IPADDR=192.168.137.11
PREFIXO="24"
GATEWAY=192.168.137.1
DNS1=8.8.8.8
1、多机器配置ssh互信
1.1 配置/etc/hosts
192.168.137.11 pg1
192.168.137.12 pg2
192.168.137.13 pg3
192.168.137.14 pg4
1.2 生成公钥并拷贝到其他服务器
所有服务器执行 ssh-keygen
所有服务器执行 ssh-copy-id pg1
2、配置公网repo源,并安装软件
可以配置ali或者163的源,都可以,但是注意,要把本地的dvd.repo删掉
3、安装并配置jdk/hadoop
3.1 下载jdk和hadoop软件包,这里,我使用的是jdk-8u221-linux-x64.tar.gz和hadoop-2.9.2.tar.gz
3.2 新建目录 mkdir /opt/modules/
3.3 将 jdk-8u221-linux-x64.tar.gz和hadoop-2.9.2.tar.gz 解压缩到 /opt/modules/ 里面去
tar -zxf hadoop-2.9.2.tar.gz -C /opt/modules/
tar -zxf jdk-8u221-linux-x64.tar.gz -C /opt/modules/
3.4 配置环境变量,编辑 /etc/profile 将下面配置追加到最后
export JAVA_HOME=/opt/modules/jdk1.8.0_221
export HADOOP=/opt/modules/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP/bin:.:$HADOOP/sbin
3.5 测试环境变量的配置
java
javac
hadoop
4、根据个人习惯,在 /etc/profile 里面添加配置
echo "
export PS1='[\u@\H \w]<QQ>'
alias l='ls -lrt'
alias la='ls -lart'
alias zz='clear'
" >> /etc/profile
5、配置hadoop.
5.1 编辑core-site.xml文件,在最后的<configuration>和</configuration>标签内添加
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://pg1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.9.2/data/tmp</value>
</property>
5.2 编辑hdfs-site.xml文件,在最后的<configuration>和</configuration>标签内添加
<!--数据冗余数-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--secondary的地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>pg2:50090</value>
</property>
<!--关闭权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
5.3 编辑yarn-site.xml文件,在最后的<configuration>和</configuration>标签内添加
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>pg2</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天(秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
5.4 编辑mapred-site.xml文件,在最后的<configuration>和</configuration>标签内添加
<!-- 指定mr运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>pg1:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>pg1:19888</value>
</property>
5.5 启动集群
start-dfs.sh
start-yarn.sh
5.6 初始化并测试
hdfs namenode -format
pg1:50070
pg2:8088
5.7 补充信息:
可以采用多网卡模式,第一块网卡为业务网即访问hadoop所使用的网,第二块为net网,即更新软件包,连接公网所使用的网,第三块为私网,即hadoop内部通讯所使用的网。
6、下载并安装IDEA,社区版本即可,没有必要把精力浪费在破解上。
7、配置IDEA和MAVEN - Windows里面
7.1 把上面下载的linux版本的 jdk-8u221-linux-x64.tar.gz和hadoop-2.9.2.tar.gz 解压缩到D盘的某个目录下,比如 D:\Program Files\JetBrains\java .
7.2 配置windows环境变量
【此电脑】-【属性】-【高级系统设置】-【环境变量】
新建 JAVA_HOME=D:\Program Files\JetBrains\java\jdk1.8.0_202
新建 HADOOP_HOME=D:\Program Files\JetBrains\java\hadoop-2.9.2
【path】-新建 %JAVA_HOME%\bin 和 %HADOOP_HOME%\bin
7.3 下载 MAVEN ,比如 apache-maven-3.6.1 ,解压缩到 D:\Program Files\JetBrains\java
7.4 配置 MAVEN 环境变量,定位到 D:\Program Files\JetBrains\java\apache-maven-3.6.1\conf
备份 settings.xml
编辑 settings.xml 文件,配置下载的依赖包路径和maven源(国内ali源速度较快)
<1> <localRepository>D:\Program Files\JetBrains\apache-maven-3.6.1\repository</localRepository>
<2> <mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
7.5 打开IDEA,选择新建 maven工程,进入后设置maven参数
<1> File - Settings - [Build,Execution,Deployment] - [Build Tools] - [Maven] - [User settings file] ,勾选 Override 后
选择刚才编辑的文件 D:\Program Files\JetBrains\java\apache-maven-3.6.1\conf\settings.xml
<2> 默认应该已经打开了 pom.xml 文件,在里面添加依赖
<dependencies>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.10</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<3> 添加完成后保存,IDEA会自动下载依赖,右下角还有进度条。
<4> 写个小程序测试一下
args = new String[]{"D:\\Program Files\\JetBrains\\test\\test.txt","/test1"};
Configuration configuration = new Configuration();
configuration.set("fs.defaultFS", "hdfs://pg1:9000");
FileSystem fileSystem = FileSystem.get(configuration);
fileSystem.copyFromLocalFile(new Path(args[0]),new Path(args[1]));
fileSystem.close();
如果没有问题的话,hadoop集群中就会多个文件 /test1 。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。