...
2.4 安装Hadoop
2.4.1.准备Hadoop数据目录
...
注意 |
---|
|
Hadoop集群节点均需创建Hadoop数据目录 |
①创建临时目录
代码块 |
---|
|
mkdir -p /data/hdfs/tmp |
创建namenode数据目录②创建namenode数据目录
代码块 |
---|
|
mkdir -p /data/hdfs/name |
创建datanode ③创建datanode 数据目录
注意:这个目录尽量创建在空间比较大的目录,如果有多个磁盘,可以创建多个目录
代码块 |
---|
|
mkdir -p /data/hdfs/data |
2.4.2
...
.解压Hadoop到指定目录
在管理节点执行(10-10-35-65).
代码块 |
---|
|
tar -zxvf hadoop-3.2.2.tar.gz -C /data |
2.4.3
...
.修改Hadoop配置
在管理节点执行(10-10-35-65).
①修改hadoop-env.sh
代码块 |
---|
|
cd /data/hadoop-3.2.2/etc/hadoop
vi hadoop-env.sh |
...
②修改core②修改core-site.xml
代码块 |
---|
|
cd /data/hadoop-3.2.2/etc/hadoop
vi core-site.xml |
...
代码块 |
---|
|
<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 |
...
注意 |
---|
|
dfs.data.dir尽量配置在空间比较大的目录,可以配置多个目录,中间用逗号分隔 |
⑤修改hadoop⑤修改hadoop-policy.xml
代码块 |
---|
language | bash |
---|
linenumbers | true |
---|
|
cd /data/hadoop-3.2.2/etc/hadoop
vi hadoop-policy.xml |
...
代码块 |
---|
language | xml |
---|
linenumbers | true |
---|
|
<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> |
...
注意 |
---|
|
hadoop-policy.xml配置文件仅添加两处配置项; 新增的security.client.protocol.hosts,security.client.datanode.protocol.hosts两个配置项中的值,要替换成实际环境的IP地址; 此配置文件是限制可以访问hadoop节点的服务器ip,提高hadoop应用的安全性。 |
...
⑥配置workers
代码块 |
---|
|
vicd /etc/data/hadoop-3.2.2/etc/hadoop
vi worker |
把所有datanode节点的机器名加到worker文件,参考如下:
代码块 |
---|
|
10-10-35-65
10-10-35-66
10-10-35-67 |
⑦将Hadoop安装包分发到其他节点
假设当前的系统用户为root命令如下:
代码块 |
---|
|
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环境变量
在文件末尾添加下面内容:
代码块 |
---|
|
export HADOOP_HOME=/data/hadoop-3.2.2
export PATH=$PATH:$HADOOP_HOME/bin |
...
2.4.5.启动Hadoop
...
①格式化Hadoop
代码块 |
---|
|
cd /data/hadoop-3.2.2/
./bin/hdfs namenode -format |
...
注意 |
---|
仅第一次启动时需要执行格式化Hadoop操作,后续启动无需进行此操作 |
②启动hadoop②启动Hadoop
代码块 |
---|
|
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目录是否创建成功
...