文章目录

  • 一、安装准备
  • 二、hadoop的配置
  • 1.首先配置hadoop-env.sh
  • 2.配置core-site.xml
  • 3.配置hdfs-site.xml
  • 4.配置mapred-site.xml
  • 5.配置yarn-site.xml
  • 6.配置slaves
  • 7.配置hadoop环境变量
  • 三、格式化HDFS
  • 四、启动hadoop
  • 五、集群搭建
  • 1.克隆虚拟机
  • 2.配置免密登录
  • 3.修改主机器的配置文件
  • 4.复制配置文件到备用机器
  • 5.启动hadoop


一、安装准备

在linux环境下安装hadoop需要准备的资料如下:

linux修改hadoop中的hdfs配置文件 linux hadoop环境配置_hdfs


这里主要需要准备的就是jdk和hadoop安装包,将这两个拖到opt目录下解压,jdk的环境变量还是像之前那样配置。

这里可以事先配置好另外两个host,方便后面的集群搭建,参照前面ELK集群搭建的配置方法,能够实现免密登录即可。

二、hadoop的配置

首先切换到如下目录:

[root@localhost opt]# mv hadoop-2.6.0-cdh5.14.2/ hadoop  --先将解压好的hadoop目录改个名
[root@localhost hadoop]# cd etc/hadoop  --再切换到其下面etc/hadoop下

此时进行ll查看,可以看到有很多xml、sh等类型的文件。

1.首先配置hadoop-env.sh
# The java implementation to use.
#export JAVA_HOME=${JAVA_HOME}   
export JAVA_HOME=/opt/java8

这里将jdk的路径改成自己配置的路径,这里我也将jdk重命名成java8,改完后保存退出

2.配置core-site.xml
<configuration>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://192.168.234.101:9000</value>   --默认节点端口,端口号默认是9000
</property>
<property>
   <name>hadoop.tmp.dir</name>  
   <value>/opt/hadoop/tmp</value>   --hdfs存放的临时目录
</property>
<property>
   <name>hadoop.proxyuser.root.hosts</name>
   <value>*</value>    --其他机器的所有root用户可以访问
 </property>
<property>
   <name>hadoop.proxyuser.root.groups</name>
   <value>*</value>   --其他root用户的组内用户可以访问
 </property>
</configuration>

在configuration里面加上属性配置。

3.配置hdfs-site.xml
<configuration>
<property>
  <name>dfs.replication</name>
  <value>1</value>  ---副本数
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop01:50090</value>   ---从元数据节点名
</property>
</configuration>
4.配置mapred-site.xml
<configuration>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>   --MapReduce默认的工作模式:yarn
</property>
<property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop01:10020</value>  --MapReduce的工作地址
</property>
<property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop01:19888</value>  --MapReduce的历史日志查询地址
</property>
</configuration>

PS:mapred-site.xml文件原本解压后是mapred-site.xml.template,这里将其改名为了保持一致。

5.配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 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>hadoop01</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>
</configuration>
6.配置slaves
hadoop01  --本机用户改成hadoop01
7.配置hadoop环境变量

直接:vi /etc/profile,在最后一行插入下面的配置

export HADOOP_HOME=/opt/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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

三、格式化HDFS

输入命令:

hadoop namenode -format

PS:这里如果出现:

-bash: hadoop: command not found

两种解决方案:(1) 看一下自己的hadoop路径是否配置正确,主要是HADOOP_HOME的配置路径
(2) 因为配置完环境变量,需要使之立即生效,才可以使用hadoop命令,所以要:source /etc/profile

四、启动hadoop

输入命令启动hadoop:

start-all.sh

同时也可以将hadoop的历史查询服务也启动:

[root@localhost hadoop]# mr-jobhistory-daemon.sh start historyserver

然后输入jps查询当前所有进程,显示如下几个,说明启动成功:

[root@localhost hadoop]# jps
10466 NodeManager
9988 NameNode
10100 DataNode
10244 SecondaryNameNode
10789 JobHistoryServer
10379 ResourceManager
10878 Jps

输入网址:192.168.234.101:50070,端口号位50070,显示如下结果再次验证了hadoop启动成功。

linux修改hadoop中的hdfs配置文件 linux hadoop环境配置_vmware_02

五、集群搭建

1.克隆虚拟机

克隆一个虚拟机命名为hadoop2(PS:复制后的虚拟机,网络适配器的MAC地址需要重新生成,不然只能开一个),需要如下操作

vi /etc/sysconfig/network-scripts/ifcfg-ens33  --修改主机地址为:192.168.234.102
vi /etc/hostname  --修改主机名为:hadoop02
vi /etc/hosts  --增加主机列表:hadoop01和hadoop02
2.配置免密登录

因为一开始配置第一台hadoop01时已经将私钥配置完成并生成了公钥,所以这里只需要将hadoop02的重新生成一下即可

[root@hadoop02 ~]# ssh-keygen -t rsa -P ""  --生成私钥

[root@hadoop02 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys  --复制成公钥

配置成功后,将两台机器实现远程登录“

[root@hadoop01 ~]# ssh-copy-id -i .ssh/id_rsa.pub -p22 root@192.168.234.102    --hadoop01连接hadoop02
[root@hadoop02 ~]# ssh-copy-id -i .ssh/id_rsa.pub -p22 root@192.168.234.101    --hadoop02连接hadoop01

这样就可以实现免密登录,可以测试在hadoop01下输入命令:ssh root@hadoop02 直接可以登录。

3.修改主机器的配置文件

1).修改hdfs-site.xml文件

<configuration>
<property>
  <name>dfs.replication</name>
  <value>2</value>   ----两个分块
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop02:50090</value>   ----namenode的辅助节点
</property>
</configuration>

2).修改slaves文件

hadoop01
hadoop02

将两个节点名全部加进去

4.复制配置文件到备用机器
[root@hadoop01 hadoop]# scp /opt/hadoop/etc/hadoop/hdfs-site.xml root@hadoop02:/opt/hadoop/etc/hadoop/hdfs-site.xml
[root@hadoop01 hadoop]# scp /opt/hadoop/etc/hadoop/slaves root@hadoop02:/opt/hadoop/etc/hadoop/slaves

这里直接使用scp命令,将主机器修改好的配置文件直接覆盖掉备用机器的配置文件

5.启动hadoop

1).在主机器格式化: hdfs:hadoop namenode -format
2).启动所有服务:start-all.sh和 mr-jobhistory-daemon.sh start historyserver
3).输入命令:jps 显示所有进程服务:

[root@hadoop01 hadoop]# jps
4020 NodeManager
3894 ResourceManager
2760 JobHistoryServer
3549 NameNode
4350 Jps
3663 DataNode
[root@hadoop01 hadoop]#

4).备用机器也启动所有服务,输入jps显示所有进程:

[root@hadoop02 hadoop]# jps
3121 NodeManager
3489 Jps
2902 SecondaryNameNode
2812 DataNode
[root@hadoop02 hadoop]#

5).登录网址进行确认验证