页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

2.4 安装Hadoop

2.4.1.准备Hadoop数据目录

...

注意
title注意

Hadoop集群节点均需创建Hadoop数据目录

①创建临时目录

代码块
languagebash
mkdir -p /data/hdfs/tmp

创建namenode数据目录②创建namenode数据目录

代码块
languagebash
mkdir -p /data/hdfs/name

创建datanode ③创建datanode 数据目录

注意:这个目录尽量创建在空间比较大的目录,如果有多个磁盘,可以创建多个目录

代码块
languagebash
mkdir -p /data/hdfs/data


2.4.2

...

.解压Hadoop到指定目录

在管理节点执行(10-10-35-65).

代码块
languagebash
tar -zxvf hadoop-3.2.2.tar.gz -C /data


2.4.3

...

.修改Hadoop配置

在管理节点执行(10-10-35-65).

修改hadoop-env.sh

代码块
languagebash
cd /data/hadoop-3.2.2/etc/hadoop
vi hadoop-env.sh

...

注意
title关于启动用户

启动用户可根据实际环境替换成实际的用户名


②修改core修改core-site.xml

代码块
languagebash
cd /data/hadoop-3.2.2/etc/hadoop
vi core-site.xml

...

代码块
languagexml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <!-- 注意替换成实际的主机名 -->
        <value>hdfs://10-10-20435-25065:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <!-- 注意替换成实际的路径 -->
        <value>file:/data/hdfs/tmp</value>
    </property>
    <property>
        <name>fs.trash.interval</name>
        <value>100800</value>
    </property>
    <property>
        <name>hadoop.security.authorization</name>
        <value>true</value>
    </property>
</configuration>


④修改hdfs修改hdfs-site.xml

代码块
cd /data/hadoop-3.2.2/etc/hadoop
vi hdfs-site.xml

...

注意
title建议

dfs.data.dir尽量配置在空间比较大的目录,可以配置多个目录,中间用逗号分隔


⑤修改hadoop修改hadoop-policy.xml

代码块
languagebash
linenumberstrue
cd /data/hadoop-3.2.2/etc/hadoop
vi hadoop-policy.xml

...

代码块
languagexml
linenumberstrue
<configuration>
  <property>
    <name>security.client.protocol.acl</name>
    <value>*</value>
    <description>ACL for ClientProtocol, which is used by user code
    via the DistributedFileSystem.
    The ACL is a comma-separated list of user and group names. The user and
    group list is separated by a blank. For e.g. "alice,bob users,wheel".
    A special value of "*" means all users are allowed.</description>
  </property>
  
  <!-- 这里把实验引擎ip, python执行节点ip,spark部署机器ip,hadoop部署机器ip都加上--> 
  <!-- 增加以下配置 -->
  <property>
    <name>security.client.protocol.hosts</name>
    <value>10.10.35.64,10.10.20435.24865,10.10.20435.24966,10.10.20435.250<67</value>
  </property>
  <!-- end -->

  <property>
    <name>security.client.datanode.protocol.acl</name>
    <value>*</value>
    <description>ACL for ClientDatanodeProtocol, the client-to-datanode protocol
    for block recovery.
    The ACL is a comma-separated list of user and group names. The user and
    group list is separated by a blank. For e.g. "alice,bob users,wheel".
    A special value of "*" means all users are allowed.</description>
  </property>
  
  <!-- 这里把实验引擎ip,python执行节点ip,spark部署机器ip,hadoop部署机器ip都加上-->
  <!-- 增加以下配置 -->
  <property>
    <name>security.client.datanode.protocol.hosts</name>
    <value>10.10.35.64,10.10.20435.24865,10.10.20435.24966,10.10.20435.250<67</value>
  </property>
  <!-- end -->

  <property>
    <name>security.datanode.protocol.acl</name>
    <value>*</value>
    <description>ACL for DatanodeProtocol, which is used by datanodes to
    communicate with the namenode.
    The ACL is a comma-separated list of user and group names. The user and
    group list is separated by a blank. For e.g. "alice,bob users,wheel".
    A special value of "*" means all users are allowed.</description>
  </property>

  <!-- hadoop-policy.xml配置文件以上部分需要修改 -->
  <!-- hadoop-policy.xml后续配置无需修改和添加,此处省略,避免文档篇幅过长 -->
  <!-- ... -->

</configuration>

...

注意
title注意

hadoop-policy.xml配置文件仅添加两处配置项;

新增的security.client.protocol.hosts,security.client.datanode.protocol.hosts两个配置项中的值,要替换成实际环境的IP地址;

此配置文件是限制可以访问hadoop节点的服务器ip,提高hadoop应用的安全性。

...


配置workers

代码块
languagebash
vicd /etc/data/hadoop-3.2.2/etc/hadoop
vi worker

把所有datanode节点的机器名加到worker文件,参考如下:

代码块
languagebash
10-10-35-65
10-10-35-66
10-10-35-67


将Hadoop安装包分发到其他节点

假设当前的系统用户为root命令如下:

代码块
languagebash
scp -r /data/hadoop-3.2.2  root@10-10-35-66:/data/
scp -r /data/hadoop-3.2.2  root@10-10-35-67:/data/


2.4.4.配置Hadoop环境变量

注意
title注意

Hadoop集群节点均需设置环境变量


代码块
languagebash
vi /etc/profile

在文件末尾添加下面内容:

代码块
languagebash
export HADOOP_HOME=/data/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin

...

代码块
languagebash
source /etc/profile

2.4.5.启动Hadoop

...

注意
title注意
仅在Hadoop管理节点操作

①格式化Hadoop

代码块
languagebash
cd /data/hadoop-3.2.2/ 
./bin/hdfs namenode -format

...

注意

仅第一次启动时需要执行格式化Hadoop操作,后续启动无需进行此操作


②启动hadoop②启动Hadoop

代码块
languagebash
cd /data/hadoop-3.2.2/ 
./sbin/start-dfs.sh

...

2.4.6.验证安装

①在浏览器输入: http://本机IPHadoop管理节点IP:9870/dfshealth.html#tab-overview    检查集群状态

Image Removed

Image Removed




②检查mining目录是否创建成功

...