瞬息 电光石火、转瞬即逝

伪分布式安装hadoop

2021-05-21
土狗


缝缝补补又一年

这是一篇记录,没有对文章格式进行修饰,有很多地方可能看着很吃力,以后有空再改改

大部分内容为此视频中的内容。

更新:在改了在改了

准备工作

伪分布式为本地VMware安装,镜像为linux上课用的镜像,自定义安装,安装之后配置网络静态ip,修改主机名,方便后续操作

vim /etc/hostname

在windows环境的host文件中加入主机名与相对应的ip,方便后续通过 ssh 链接。(嫌麻烦可以直接火绒改)

如果是centos6的话,需要将已近失效的 yum 源替换为阿里的镜像源:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://file.kangle.odata.cc/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://file.kangle.odata.cc/repo/epel-6.repo
yum makecache

安装 JDK

去 Oracle 官网下载 JDK 的压缩包,然后上传至linux环境。

虚拟机可以在装好 VMware tools 后直接跨机复制粘贴,云服务器的话可以使用 rz 或者 scp 指令上传。

上传完成时候解压 tar -xvzf jdk.tar.gz

之后修改环境变量 vim /etc/profile

填入变量,其中 JAVA_HOME 路径自行修改

export JAVA_HOME=#这里填入上面解压好的jdk目录路径,如/opt/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH

修改完成之后 :wq 保存,完成之后再 source 一下 。

source /etc/profile

具体安装流程常考此处

配置 Hosts 文件

修改机器的 hosts 文件 vim /etc/hosts

添加其他节点机器的 IP 与 hostname,用空格或者 TAB 隔开

SSH 免密登录

大体流程:A主机生成公钥 (id_dsa) ,将A公钥存入B主机的 authorized_keys 文件内,公钥核对完成即可登录,跳过密码核验

# 生成公钥
ssh-keygen
# 配置免密登录
ssh-copy-id #这里输入需要进行免密登录的机器
ssh-copy-id hadoop102
ssh-copy-id hadoop103
# 途中可能会要求输入B主机的 root 密码,输入即可,后续不必再次输入。  
# 可选步骤
# 为 `authorized_keys` 文件添加权限,保证安全性  
chmod 600 authorized_keys

这里要注意,master 也需要对自身进行免密登录,即 ssh-copy-id hadoop001

配置时间同步

如果是本地集群或者都是国内的云服务器,可以跳过这一步

# 查询当前时间
date
或者
clock
# 进入计划任务
crontab -e
# 每小时从这个ntp服务器获取时间
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
# 也可手动获取
/usr/sbin/ntpdate 192.168.1.1
(因为我的路由器固件开启了ntp功能,直接路由器上获取更方便)

上传、配置 hadoop 文件

和上传 JDK 安装包一样上传 Hadoop 的安装包,然后进行解压

为 hadoop 配置环境变量 vim /etc/profile

export HADOOP_HOME=#这里填 hadoop 的根目录,可以解压之后 CD 再 pwd 查看
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

hadoop 的配置文件在 hadoopX.X.X/etc/hadoop/ 目录下

需要修改的文件如下,其中内容需要根据自身环境进行修改

另外此处的配置文件已经进行精简

core-site.xml
    <property>
        <!--HDFS 主机地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://主机名:9000</value>
    </property>
    <property>
        <!--Hadoop 存储目录-->
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoopdate</value>
    </property>
<!---->
hdfs-site.xml
	<property>
        <!--dfs namenode web ui使用的监听地址和基本端口-->
        <name>dfs.namenode.http-address</name>
        <value>hadoop001:50070</value>
	</property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop003:50090</value>
    </property>
<!---->
这里需要将 mapred-site.xml.template 重命名为 mapred-site.xml
mapred-site.xml
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
<!---->
yarn-site.xml
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop101</value>
    </property>
<!---->
slaves
	hadoop101
    hadoop102
    hadoop103
<!---->
hadoop-env.sh
	export JAVA_HOME=#填入 profile 内 JAVA_HOME 的值即可

将 master 文件分发至从节点

# 分发 hosts 文件
scp /etc/hosts root@hadoop102:/etc/

# 分发 Hadoop 文件
scp -r /opt/hadoop/ root@hadoop102:/opt/

# 分发 /etc/profile 文件
scp /etc/profile root@hadoop102:/etc/

以上,配置完成

启动hadoop集群

格式化 hdfs ,只需在master上执行
这条命令只要执行一次,多次执行会出错

hdfs namenode -format

启动hadoop

# 一键启动
start-all.sh
# 分步启动
start-dfs.sh
start-yarn.sh
停止的话把 start 换成 stop 即可

验证并排查

可以输入 jps 指令验证当前所运行的程序,或者采用 ip + 50070 的方式访问 hdfs 的 web 页面


类似文章

前一篇 PyCharm的破解

后一篇 Real-ESRGAN脚本

评论

折跃门