公司名称设计logo免费,seo搜索引擎优化营销案例,做网站谁家做的好,三星官网网站注意#xff1a;主机名不要有/_等特殊的字符#xff0c;不然后面会出问题。有问题可以看看第5点#xff08;问题#xff09;。
1、下载
1.1、去官网#xff0c;点下载
下载地址#xff1a;https://hadoop.apache.org/
1.2、选择下载的版本
1.2.1、最新版 1.2.2、其…注意主机名不要有/_等特殊的字符不然后面会出问题。有问题可以看看第5点问题。
1、下载
1.1、去官网点下载
下载地址https://hadoop.apache.org/
1.2、选择下载的版本
1.2.1、最新版 1.2.2、其他版本我这里选择3.3.4 1.3、上传解压
HDFS是主从模式所以在node1节点安装即可
1.3.1、上传安装包node1节点 1.3.2、解压到/export/server下
tar -zxvf hadoop-3.3.4.tar.gz -C /export/server1.3.3、构建软链接
ln -s /export/server/hadoop-3.3.4 hadoop2、配置
配置HDFS集群我们主要涉及到如下文件的修改
workers 配置从节点DataNode有哪些hadoop-env.sh 配置Hadoop的相关环境变量core-site.xml Hadoop核心配置文件hdfs-site.xml HDFS核心配置文件
这些文件均存在与$HADOOP_HOME/etc/hadoop文件夹中。
进入etc下的Hadoop目录
cd ./etc/hadoop2.1、配置workers文件
2.1.1、进入Hadoop目录
cd ./etc/hadoop2.1.2、编辑workers文件
vim workers配置主机名 填入的bigdata_node1,2,3是三台主机的名称 表明集群记录了三个从节点DataNode
2.2、配置hadoop-env.sh文件
vim hadoop-env.sh# 填入如下内容
export JAVA_HOME/export/server/jdk
export HADOOP_HOME/export/server/hadoop
export HADOOP_CONF_DIR$HADOOP_HOME/etc/hadoop
export HADOOP_LOG_DIR$HADOOP_HOME/logsJAVA_HOME指明JDK环境的位置在哪HADOOP_HOME指明Hadoop安装位置HADOOP_CONF_DIR指明Hadoop配置文件目录位置HADOOP_LOG_DIR指明Hadoop运行日志目录位置
2.3、配置core-site.xml文件
vim core-site.xml在文件内部填入如下内容
configurationpropertynamefs.defaultFS/namevaluehdfs://bigdata_node1:8020/value/propertypropertynameio.file.buffer.size/namevalue131072/value/property
/configurationkeyfs.defaultFS 含义HDFS文件系统的网络通讯路径 值hdfs://node1:8020 协议为hdfs:// namenode为bigdata_node1 namenode通讯端口为8020 keyio.file.buffer.size 含义io操作文件缓冲区大小 值131072 bit
hdfs://bigdata_node1:8020为整个HDFS内部的通讯地址应用协议为hdfs://Hadoop内置协议。 表明DataNode将和node1的8020端口通讯bigdata_node1是NameNode所在机器。 此配置固定了bigdata_node1必须启动NameNode进程。 2.4、配置hdfs-site.xml文件
vim hdfs-site.xml# 在文件内部填入如下内容
configurationpropertynamedfs.datanode.data.dir.perm/namevalue700/value/propertypropertynamedfs.namenode.name.dir/namevalue/data/nn/value/propertypropertynamedfs.namenode.hosts/namevaluebigdata_node1,bigdata_node2,bigdata_node3/value/propertypropertynamedfs.blocksize/namevalue268435456/value/propertypropertynamedfs.namenode.handler.count/namevalue100/value/propertypropertynamedfs.datanode.data.dir/namevalue/data/dn/value/property
/configurationkeydfs.datanode.data.dir.perm 含义hdfs文件系统默认创建的文件权限设置 值700即rwx------ keydfs.namenode.name.dir 含义NameNode元数据的存储位置 值/data/nn在bigdata_node1节点的/data/nn目录下 keydfs.namenode.hosts 含义NameNode允许哪几个节点的DataNode连接即允许加入集群 值bigdata_node1,bigdata_node2,bigdata_node3这三台服务器被授权 keydfs.blocksize 含义hdfs默认块大小 值268435456256MB keydfs.namenode.handler.count 含义namenode处理的并发线程数 值100以100个并行度处理文件系统的管理任务 keydfs.datanode.data.dir 含义从节点DataNode的数据存储目录 值/data/dn即数据存放在bigdata_node1,bigdata_node2,bigdata_node3三台机器的/data/dn内
2.5、根据下述2个配置项 namenode数据存放bigdata_node1的/data/nndatanode数据存放bigdata_node1,bigdata_node2,bigdata_node3的/data/dn
所以应该 在bigdata_node1节点 mkdir -p /data/nn mkdir -p /data/dn 在bigdata_node2和bigdata_node3节点 mkdir -p /data/dn
2.6、分发Hadoop文件夹
已经基本完成Hadoop的配置操作可以从bigdata_node1将hadoop安装文件夹远程复制到bigdata_node2、bigdata_node3。
在bigdata_node1执行如下命令
cd /export/server
scp -r hadoop-3.3.4 bigdata_node2:pwd/
scp -r hadoop-3.3.4 bigdata_node3:pwd/2.7、为hadoop配置软链接
2.7.1、在bigdata_node2执行
ln -s /export/server/hadoop-3.3.4 /export/server/hadoop2.7.2、在bigdata_node3执行
ln -s /export/server/hadoop-3.3.4 /export/server/hadoop2.8、配置环境变量
2.8.1、添加配置
为了方便我们操作Hadoop可以将Hadoop的一些脚本、程序配置到PATH中方便后续使用。
在Hadoop文件夹中的bin、sbin两个文件夹内有许多的脚本和程序现在来配置一下环境变量。
vim /etc/profile在/etc/profile文件底部追加如下内容
export HADOOP_HOME/export/server/hadoop
export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin2.8.2、配置生效
source /etc/profile三台服务器都要配置。
3、授权为hadoop用户
hadoop部署的准备工作基本完成。
为了确保安全hadoop系统不以root用户启动我们以普通用户hadoop来启动整个Hadoop服务 所以现在需要对文件权限进行授权。
ps请确保已经提前创建好了hadoop用户并配置好了hadoop用户之间的免密登录。
以root身份在bigdata_node1、bigdata_node2、bigdata_node3三台服务器上均执行如下命令
chown -R hadoop:hadoop /data
chown -R hadoop:hadoop /export三台服务器都要。
4、格式化启动访问
前期准备全部完成现在对整个文件系统执行初始化。
4.1、格式化namenode
确保以hadoop用户执行
su hadoop格式化namenode
hadoop namenode -format4.2、启动
一键启动hdfs集群
start-dfs.sh一键关闭hdfs集群
stop-dfs.sh
如果遇到命令未找到的错误表明环境变量未配置好可以以绝对路径执行
/export/server/hadoop/sbin/start-dfs.sh
/export/server/hadoop/sbin/stop-dfs.sh4.3、访问
在本地系统配置host的文件就可以直接使用域名访问。 http://bigdatanode1:9870即可查看到hdfs文件系统的管理网页。
5、问题
5.1、一键启动hdfs集群后jps查看没有启动的服务 5.2、检查日志log
java.lang.IllegalArgumentException: Does not contain a valid host:port authority: bigdata_node1:8020at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:232)at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:189)at org.apache.hadoop.net.NetUtils.createSocketAddr(NetUtils.java:169)at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddress(DFSUtilClient.java:766)at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddress(DFSUtilClient.java:792)at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddressCheckLogical(DFSUtilClient.java:810)at org.apache.hadoop.hdfs.DFSUtilClient.getNNAddress(DFSUtilClient.java:772)at org.apache.hadoop.hdfs.server.namenode.NameNode.getRpcServerAddress(NameNode.java:578)at org.apache.hadoop.hdfs.server.namenode.NameNode.loginAsNameNodeUser(NameNode.java:718)at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:738)at org.apache.hadoop.hdfs.server.namenode.NameNode.init(NameNode.java:1020)at org.apache.hadoop.hdfs.server.namenode.NameNode.init(NameNode.java:995)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1769)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1834)
2023-09-11 00:28:53,873 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 1: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: bigdata_node1:8020 5.3、问题原因
说是我主机与端口不对
5.3.1、ping端口号
ping bigdata_node15.3.2、说是端口号没放开
telnet bigdata_node1 80205.3.3、自己的真实原因
主机使用的hostname不合法修改为不包含着‘.’ ‘/’ _等非法字符的主机名。
5.3.4、修改主机名并把之前的配置的主机名全部改了
hostnamectl set-hostname bigdatanode1vim /etc/hostsvim workersvim core-site.xmlvim hdfs-site.xml5.4、重启启动成功
5.4.1、先格式化namenode
hadoop namenode -format5.4.2、再启动 结束 hy:33 为什么害怕独处因为人在独处的时候总是会听到心灵深处的声音。