Hadoop 3.3.5 分布式集群部署
环境准备与规划硬件要求3台节点1主2从软件依赖JDK 8、SSH免密登录目录规范统一安装路径如/opt/module用户权限管理Hadoop安装与核心配置一定要检查一下ssh 能不能直接免密登录到自己和其它机子以及三台机子的用户名是否相同解压与环境变量配置在/opt/module目录下执行解压操作# 解压 sudo tar -zxvf hadoop-3.3.5.tar.gz # 修改所属用户确保你对该目录有读写权限ljy是用户名 sudo chown -R ljy:ljy hadoop-3.3.5 # 建立软链接可选方便以后升级 ln -s hadoop-3.3.5 hadoop编辑环境变量文件~/.bashrcgedit ~/.bashrcexport HADOOP_HOME/opt/module/hadoop export PATH$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource ~/.bashrc执行source ~/.bashrc使配置生效。核心配置文件修改所有配置文件位于$HADOOP_HOME/etc/hadoop/目录。依次编辑以下5个文件core-site.xmlconfiguration property namefs.defaultFS/name valuehdfs://ljy:8020/value /property property namehadoop.tmp.dir/name value/opt/module/hadoop/data/value /property /configurationhdfs-site.xmlconfiguration property namedfs.replication/name value3/value /property property namedfs.namenode.http-address/name valueljy:9870/value /property /configurationyarn-site.xmlconfiguration property nameyarn.nodemanager.aux-services/name valuemapreduce_shuffle/value /property property nameyarn.resourcemanager.hostname/name valueljy/value /property property nameyarn.nodemanager.env-whitelist/name valueJAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME/value /property /configurationmapred-site.xmlconfiguration property namemapreduce.framework.name/name valueyarn/value /property /configurationworkers文件配置ljy ljy1 ljy2分发Hadoop到集群节点从主节点ljy分发到其他节点scp -r /opt/module/hadoop-3.3.5 ljy1ljy1:/opt/module/ scp -r /opt/module/hadoop-3.3.5 ljy2ljy2:/opt/module/在其他节点创建软链接并同步~/.bashrc中的环境变量ln -s /opt/module/hadoop-3.3.5 /opt/module/hadoop集群启动与验证初始化HDFS仅在 ljy执行一次hdfs namenode -format启动集群服务start-dfs.sh start-yarn.sh出现问题见下面的解决办法验证集群状态命令行执行jps检查进程访问Web界面HDFS:http://ljy:9870YARN:http://ljy:8088出现的问题1SSH 免密登录的原理是把 A 的公钥id_rsa.pub存放到 B 的信任名单authorized_keys里。我现在的情况是ljy的名单里已经有了ljy1和ljy2但唯独没把自己放进去配置了ljy免密登录ljy1和ljy2但没有免密登录到自己解决办法#直接在 ljy 上执行自动把本地的公钥追加到自己的 ~/.ssh/authorized_keys 文件中 ssh-copy-id ljy #验证 ssh ljy进入后记得执行exit退出回到正常的 shell 界面解决后的操作流1停止所有已启动的进程2清理三台机器的残留数据重要否则容易报ClusterID不匹配的错误 因为你之前格式化可能失败或启动异常建议删掉数据目录3重新初始化并启动仅在ljy上执行stop-all.sh # 在 ljy, ljy1, ljy2 上都执行 rm -rf /opt/module/hadoop/data # 仅在 ljy 执行 hdfs namenode -format start-dfs.sh start-yarn.sh2上面的问题解决了新问题出现了SSH 用户名不一致最快的修法在主节点给 ssh 配“主机名 → 远程用户名”的映射在ljy上编辑 ssh 配置mkdir -p ~/.ssh chmod 700 ~/.ssh gedit ~/.ssh/config chmod 600 ~/.ssh/config测试是否真的修好了在ljy上执行ssh ljy1 whoami hostname ssh ljy2 whoami hostname重新启动 Hadoop先停再起避免状态混乱。在ljy上执行stop-yarn.sh stop-dfs.sh #重启 start-dfs.sh start-yarn.sh再检查三台机器的进程这里终于成功啦~
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2470110.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!