下面我们将以Hadoop-2.6.5(下载地址请见这里)为例,说明它的安装配置过程。
我们需要在Linux CentOS的两个配置文件中修改主机名信息,具体操作主要包括两个步骤:
操作如下(示例):
(1)修改/etc/sysconfig下的network文件,将其中HOSTNAME的值修改为用户指定的主机名。
(a)打开network文件:
vi /etc/sysconfig/network
(b)修改network文件中HOSTNAME的值:
NETWORKING=yes
HOSTNAME=shengyphadoop
其中,shengyphadoop是我们指定的主机名。
(2)修改/etc下的hosts文件,增加一条IP地址到主机名的映射信息。
192.168.238.101 localhost shengyphadoop
其中,192.168.238.101是CentOS所在主机的静态IP地址,shengyphadoop是我们指定的主机名。
待上述修改完成后,我们需要通过hostname命令使之生效:
hostname shengyphadoop
最后,我们可以选择ping命令或hostname命令检查修改后的主机名,如下所示。
在当前配置中,我们用到的JDK是jdk1.8.0_191版本(下载地址请见【百度网盘】(链接:https://pan.baidu.com/s/14IpNNHfRJYQCzZ2kl11gYA ,提取码:4dhg).
(1)下载jdk1.8.0_191后,将它上传至CentOS系统(在这里,我们上传到的CentOS目录为:/home/shengyp/tools;采用filezilla(下载地址请见【百度网盘】(链接:https://pan.baidu.com/s/1tFVcIKtbraYg7CynDXtzaA ,提取码:o6oa))作为文件传输工具(即上传工具)。
(2)使用tar -zxf命令对jdk1.8.0_191进行解压:
[root@shengyphadoop tools]#tar -zxf ./jdk-8u191-linux-x64.tar.gz
根据hadoop压缩包的解压路径,在系统全局配置文件/etc/profile中增加相应的环境变量,具体操作主要包括两个步骤:
操作如下(示例):
(1)进入hadoop-2.6.5.tar.gz包所在的目录(这里是:/home/shengyp/tools),通过tar -zxf命令对其进行解压:
[root@shengyphadoop tools]#tar -zxf ./hadoop-2.6.5.tar.gz
(2)进入/etc/profile文件,在该文件的末尾处创建JAVA_HOME和HADOOP_HOME环境变量,并将它们进行赋值。
(a)打开/etc/profile文件:
[root@shengyphadoop tools]#vi /etc/profile
(b)使用export命令增加JAVA_HOME和HADOOP_HOME两个环境变量,并对它们进行赋值。最后,在PATH变量中通过$符号引用以上两个变量,指定到它们各自的/bin和/sbin目录,并通过分号;依次进行黏贴。
export JAVA_HOME=/home/shengyp/tools/jdk1.8.0_191
export HADOOP_HOME=/home/shengyp/tools/hadoop-2.6.5
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$PATH
其中,JAVA_HOME的值为jdk-8u191-linux-x64.tar.gz的解压目录,HADOOP_HOME的值为hadoop-2.6.5.tar.gz的解压目录。
在hadoop-2.6.5.tar.gz的解压文件中,我们主要关注hadoop-2.6.5/etc/hadoop下的hadoop-env.sh、core-site.xml、hdfs-site.xml、mapred-site.xml和yarn-site.xml这5个主要配置文件。接下来,我们将给出它们的主要配置:
(1)在hadoop-env.sh文件中,修改JAVA_HOME变量,将它的值设置为jdk-8u191-linux-x64.tar.gz的解压目录,于是有:
值得进一步说明的是,如果在这里不进行设置,在格式化namenode节点时,将会报JAVA_HOME is not set and could not be found.的错误,
以下帖子中同样提到了上述错误的解决办法:
hadoop启动过程中出现Error: JAVA_HOME is not set and could not be found.解决办法
【前奏开始】
在介绍以下4个配置文件中的核心配置前,我们可以看看官方模板中的相关配置说明(请见【百度网盘】(链接:https://pan.baidu.com/s/1yq1uhVEAvVxHviFGixqXlg ,提取码:cjn4)。例如,在模板core-site-template.xml中,我们可以看到核心键-值(key-value)的模板配置,以及关于该配置的描述信息,如下图所示。
【前奏结束】
正曲开始…
(2)在core-site.xml文件中,增加的内容包括:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://shengyphadoop:9000
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/shengyp/tools/hadoop-2.6.5/tmp</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>shengyphadoop:9001</value>
</property>
</configuration>
其中,
(a)键
(b)键
(c)键
(3)在hdfs-site.xml文件中,增加的内容包括:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/shengyp/tools/hadoop-2.6.5/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/shengyp/tools/hadoop-2.6.5/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
其中,
(a)键
(b)键
(c)键
(4)在mapred-site.xml文件中,增加的内容包括:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.cluster.local.dir</name>
<value>/home/shengyp/tools/hadoop-2.6.5/mapred/local</value>
</property>
<property>
<name>mapreduce.jobtracker.system.dir</name>
<value>/home/shengyp/tools/hadoop-2.6.5/mapred/system</value>
</property>
</configuration>
其中,
(a)键
(b)键
(c)键
(5)在yarn-site.xml这个文件中,增加的内容包括:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>shengyphadoop</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
其中,
(a)键
(b)键
为方便读者进一步查看相关配置,作者已将上述5个已填充的主要配置文件上传至百度网盘,请见【这里】(链接:https://pan.baidu.com/s/1l4Zzu8aQXMYju6sIwT30sw ,提取码:ks7q)
完成上述主要配置后,我们可以正常启动Hadoop-2.6.5了。Hadoop的启动命令/脚本主要在/home/shengyp/tools/hadoop-2.6.5/bin目录,或者是/home/shengyp/tools/hadoop-2.6.5/sbin目录下。
(1)进入/home/shengyp/tools/hadoop-2.6.5/bin目录,通过hdfs namenode -format命令初始化namenode节点:
[root@shengyphadoop hadoop-2.6.5]#cd ./bin
[root@shengyphadoop hadoop-2.6.5]#hdfs namenode -format
注意,这时如果出现unknownhostexception错误,请见以下帖子:
hadoop分布式格式化时出现异常java.net.unknownhostexception
【小技巧开始】
当我们不记得命令参数时,可以使用-help命令来查看说明,例如:
【小技巧结束】
(2)在/home/shengyp/tools/hadoop-2.6.5/sbin目录(这里是/sbin目录,不是/bin目录)下,我们通过以下命令启动namenode、datanode、jobhistory、resourcemanager、nodemanager这5个守护进程:
(a)通过hadoop-daemon.sh start namenode命令启动namenode进程:
这里,我们可以看到:namenode进程的启动信息被写入了/home/shengyp/tools/hadoop-2.6.5/logs/hadoop-root-namenode-shengyphadoop.out这个日志文件中。换句话而言,我们可以通过查看该日志文件,追踪namenode进程的启动过程,尤其是排查相关错误。
(b)通过hadoop-daemon.sh start datanode命令启动datanode进程:
类似地,datanode进程的启动信息被写入了/home/shengyp/tools/hadoop-2.6.5/logs/hadoop-root-datanode-shengyphadoop.out这个日志文件中。
(c)通过mr-jobhistory-daemon.sh start historyserver命令启动jobhistory进程:
(d)通过yarn-daemon.sh start resourcemanager命令启动resourcemanager进程:
(e)通过yarn-daemon.sh start nodemanager命令启动nodemanager进程:
最后,我们可以通过jps命令查看目前系统中的守护进程:
此外,我们同样可以通过hadoop-daemon.sh stop namenode命令、
hadoop-daemon.sh stop datanode命令、
mr-jobhistory-daemon.sh stop historyserver命令、
yarn-daemon.sh stop resourcemanager命令和
yarn-daemon.sh stop nodemanager命令来关闭
namenode进程、datanode进程、jobhistory进程、jobhistory进程、resourcemanager进程和nodemanager进程。
这里值得进一步说明的是,
除使用jps命令外,我们同样可以通过hadoop Web端口查看这些守护进程背后的Web服务。关于hadoop Web端口,请见常用hadoop和yarn的端口
(1)在50070端口进行测试,如下图所示:
(2)在8088端口进行测试,如下图所示:
(3)在8042端口进行测试,如下图所示:
(4)在19888端口进行测试,如下图所示:
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
看完作者写的这篇博文,或许读者还想再找找描述类似内容的博文。预料之中,作者已将它们附上,请参见:
centOS 6.4主机名的修改和网络配置ip、DNS等配置
linux jdk1.7 下载
转(hadoop2.6.3环境搭建)
hadoop_2.6.5集群安装
Hadoop2.6.5安装部署及环境变量配置
hadoop2.6.5 linux安装
hadoop 2.6.5安装详细步骤
Hadoop分别启动namenode,datanode,secondarynamenode等服务
hadoop namenode启动不了_Hadoop 安装教程 - HA方式
updated in 2021.12.16