一台虚拟机,装有配置好的 jdk 和 mysql,如果对这两个软件安装和配置还有疑问,可以查看我的博客或者在csdn里搜索名为子清的博主的博客
所需材料:
hadoop-2.6.0-cdh5.14.2.tar.gzhadoop-native-64-2.6.0.tar如果有需要的小伙伴可以在底下留言!
先解压hadoop-2.6.0-cdh5.14.2.tar.gz到/opt目录下 然后改名mv hadoop-2.6.0-cdh5.14.2/ hadoop,方便以后使用
进入/opt/hadoop/etc/hadoop目录,我们要在这个目录下配置许多文件
进入hadoop-env.sh文件
vi hadoop-env.sh找到# The java implementation to use.这一行,添加如下内容
# The java implementation to use. export JAVA_HOME=/opt/jdk1.8.0_221 <---个人的jdk路径:x保存退出(以下修改配置文件的操作均视为有这一步骤,除非有特殊说明)
进入core-site.xml文件
vi core-site.xml在<configuration> </configuration>中添加如下内容:
<property> <name>fs.defaultFS</name> <value>hdfs://192.168.23.52:9000</value> <---本机IP地址 </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop/tmp</value> <---hadoop文件路径 </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property>进入hdfs-site.xml文件
vi hdfs-site.xml在<configuration> </configuration>中添加如下内容:
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.23.52:50090</value> <---本机IP地址 </property>重新命名mv mapred-site.xml.template mapred-site.xml 进入mapred-site.xml文件
vi mapred-site.xml在<configuration> </configuration>中添加如下内容:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.23.52:10020</value> <---本机IP地址 </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.23.52:19888</value> <---本机IP地址 </property>进入yarn-site.xml文件
vi yarn-site.xml在<configuration> </configuration>中添加如下内容:
<!-- reducer获取数据方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop02</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>把原本的localhost修改成现在的主机名
添加如下内容:
export HADOOP_HOME=/opt/hadoop <---hadoop文件路径 export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin如果已经有$PATH,则在原来的基础上添加,而不是覆盖
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH # 可以顺便添加一下初始化路径 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin最后修改完成的应如下图所示: 保存退出后别忘记source /etc/profile
在格式化之前,还有几个重要的步骤 回到/opt/hadoop目录下,如果有 tmp 和 logs 文件(一般都会有),请先删除
rm -rf tmp/ rm -rf logs/然后输入jps,查看是否有除了jps以外的进程,如果有请使用kill先杀掉
下面正式开始格式化
hadoop namenode -format在/opt/hadoop/etc/hadoop目录下,输入start-all.sh启动 该过程可能会花一段时间 如果想停用,则输入stop-all.sh 可以选择性地启动历史服务mr-jobhistory-daemon.sh start historyserver
在浏览器输入本机IP地址:50070,即可进入HDFS页面 在浏览器输入本机IP地址:8088,即可进入YARN管理界面
让我们用hadoop创建一个文件夹,并往里放入一个txt文本
hadoop fs -mkdir /test <---创建了一个名为test的文件夹,记得在目录名前加/符号 hadoop fs -put README.txt /test/ <---将一篇名为README的txt文件放入了test如何查看这样的操作是否完成? 进入端口50070的页面,点击右上角Utilities,然后点击Browse the file system 这时候会出现我们的test文件夹 点击test文件夹,就可以发现README已经在里面了
2020.09.05更新
首先需要准备三台虚拟机(克隆),修改IP地址和主机名,生成新秘钥,添加互信,如果对这一系列的步骤还有疑问,可以去看我的上一篇博客,基本都有提到该如何操作 ELK的安装 配置 集群
这里其实只实现了Linux集群,我们还需要对其他虚拟机的配置进行更改
进入hdfs-site.xml文件,修改后的内容如下
<property> <name>dfs.replication</name> <value>3</value> <---这里的数字修改为对应集群内的虚拟机数量 </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.23.53:50090</value> <---新虚拟机的本机IP地址 </property>进入mapred-site.xml文件,修改后的内容如下
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>192.168.23.54:10020</value> <---我们将这个jobhistory服务放在另一台虚拟机(非主节点)上,分担压力 </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>192.168.23.54:19888</value> <---注意上下一致 </property>进入slaves文件 将集群内所有的主机名都添加进来
以上步骤需要在所有集群内的虚拟机上同步完成,可以使用Moba的功能分屏MultiExec;也可以在一台虚拟机上完成好所有的xml配置,再使用scp命令将文件发送到其他虚拟机上,scp命令如何使用可以查看我的博文Linux常用命令。
配置hadoop的环节步骤很多,也很容易出错,需要大家小心谨慎,多加练习也可以减少以后犯错的概率。
如果你读完这篇博文仍然有没有解决的疑问,欢迎在评论区留言,一起共同讨论!
希望这篇博文能帮助到你!
