首页 文章 精选 留言 我的

精选列表

搜索[分布式调度],共10000篇文章
优秀的个人博客,低调大师

完全分布式安装hadoop

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/43499577 以三个节点为例的服务器集群来安装和配置hadoop 以下是各服务器ip地址和对应所做的节点 192.168.61.128 master 192.168.61.129 slave1 192.168.61.133 slave2 首先修改每个服务器上的hosts文件 使用命令 vi /etc/hosts编辑 在最后追加 192.168.61.128 master 192.168.61.129 slave1 192.168.61.133 slave2 三行 为每个服务器创建hadoop账户 在root用户下,使用命令 useradd hadoop passwd hadoop 输入两遍新密码完成 为每个服务器安装jdk jdk文件版本为jdk-7u45-linux-i586.rpm 可以在官网上下载各个版本的linux jdk文件 使用命令 rpm -ivh jdk-7u45-linux-i586.rpm 进行安装 安装完成之后编辑profile文件配置环境变量 vi /etc/profile 在末尾追加 export JAVA_HOME=/usr/java/jdk1.7.0_45 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 注意jdk对应的版本号 编辑完成后使用命令 source /etc/profile 保存配置 之后输入java -version可以查看jdk版本信息 配置ssh免密码登录 在每个服务器上 输入命令 chmod -R 755 /home/hadoop mkdir ~/.ssh ssh-keygen -t rsa ssh-keygen -t dsa rsa和dsa分别生成不同加密格式的ssh密钥,直接一直按回车键保存在默认的路径 在master节点上配置authorized_keys文件 输入命令 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将本地的密钥保存在authorized_keys ssh slave1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh slave1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys ssh slave2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ssh slave2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 使用ssh分别将slave1和slave2节点上的密钥保存在authorized_keys 这样之后,master节点上的authorized_keys文件就保存了所有服务器的密钥 由于还没有设置ssh免密码登录,所以传输的时候需要输入各个节点的密码(系统对用hadoop用户的密码) 之后将这个文件分别传输到各个节点上 scp ~/.ssh/authorized_keys slave1:~/.ssh/authorized_keys scp ~/.ssh/authorized_keys slave2:~/.ssh/authorized_keys 配置完成 接下来要对各个节点上的.ssh目录设置权限(很重要,有时候就是因为权限问题无法登陆) 输入命令 chmod -R 700 ~/.ssh 注意当前你所在的路径 接下来可以再每个服务器上测试ssh是否可以免密码登录了 例: 在master节点上输入 ssh master date 将会提示 The authenticity of host 'master (10.10.10.100)' can't be established. RSA key fingerprint is 99:ef:c2:9e:28:e3:b6:83:e2:00:eb:a3:ee:ad:29:d8. Are you sure you want to continue connecting (yes/no)? 这是因为这台机器上的ssh没有把master记录在已知的主机列表中 输入yes回车即可 (之后的各个节点一样,输入yes让其记住主机,之后就可以免密码登录) 如果中间出现什么异常或者错误,有可能是权限问题导致,请百度之 在master节点上配置hadoop 将hadoop包放到/home.hadoop目录下方便操作 进入hadoop目录下的conf目录 1.修改hadoop-env.sh文件 添加 export JAVA_HOME=/usr/java/jdk1.7.0_45 配置jdk的环境变量,注意jdk版本 2.修改core-site.xml文件 <property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> </property> 设置namenode节点的IP和端口 设置hadoop.tmp.dir路径,默认是/tmp/$username,重启就会删除该目录的文件,所以这里给他配置一个自定义的路径 3.修改hdfs-site.xml文件 <property> <name>dfs.data.dir</name> <value>/home/hadoop/hadoop-data</value> </property> <property> <name>dfs.name.dir</name> <value>/home/hadoop/hadoop-name</value> </property> <property> <name>fs.checkpoint.dir</name> <value>/home/hadoop/hadoop-namesecondary</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> 设置hdfs文件系统 4.修改mapred-site.xml文件 <property> <name>mapred.job.tracker</name> <value>master:9001</value> </property> 设置jobtracker的ip和端口 以上xml文件的配置都只是在源文件的基础上添加对应的property节点即可 5.在conf目录下 vi masters 输入master vi slaves 输入 slave1 slave2 有几个slave节点就写几个,注意换行 配置完成之后使用ssh将hadoop传输到各个节点上 scp -r hadoop-0.20.2/ slave1:~/ scp -r hadoop-0.20.2/ slave2:~/ 传输完毕之后再master节点上 进入hadoop目录下的bin目录 输入命令 hadoop namenode -format 开始格式化namenode 注意看提示格式化是否成功 在输入命令 start-all.sh 启动hadoop集群 启动完成后 在master节点输入jps可以看到已经在运行的namenode,secondarynode和tasktracker进程 在各个slave节点上输入jps可以看到已经在运行的datanode和jobtracker进程 在master节点输入stop-all.sh可以停止集群运行 如果遇到在slave节点上的进程运行一会就自动停止 可能原因有两个: 1.系统防火墙阻止 在各个节点上,切换到root用户使用命令 service iptables stop 成功会返回三个ok提示,关闭防火墙 2.先使用stop-all.sh停止集群 在core-site.xml文件中配置的hadoop.tmp.dir的值,找到对应的路径 删除里面的文件 然后使用 hadoop namenode -format 重新格式化一下namenode 如果其实hadoop-name文件已经存在,找到这个文件夹,删除之,在重新格式化即可 在使用start-all.sh启动集群 以上每个步骤确保看到成功的提示(或者没有失败的提示) 在配置过程中就是因为没有仔细看系统提示 失败的操作一直以为是成功的导致浪费了大量的时间 另外,操作使用的hadoop版本是0.20.2 如果出现其他的错误,可以到各个节点的hadoop目录下的logs文件件查看对应的日志文件 在到网上自行百度之~ 启动完成之后在任意一个节点中打开浏览器输入一下网址可以通过WEB界面查看hadoop http://192.168.61.128:50030/(jobtracker的HTTP服务器地址和端口) http://192.168.61.128:50060/(taskertracker的HTTP服务器地址和端口) http://192.168.61.128:50070/(namenode的HTTP服务器地址和端口) http://192.168.61.128:50075/(datanode的HTTP服务器地址和端口) http://192.168.61.128:50090/(secondary namenode的HTTP服务器地址和端口)

优秀的个人博客,低调大师

将Node.js项目docker容器化并纳入kubernetes调度编排的实践

简述 此文档以XXXLogApi-nj项目为例,讲解了将基于Node.js+Express开发的javascript项目容器化的过程。希望以后类似的项目可以以此为参照进行扩展。 XXXLogApi-nj本身是一个微服务化的项目,其作用是为系统单纯的收集相关发布日志,以便能及时的展示给用户。 ***这份文档的操作,开始于编码完成之后流程。不涉及GIT和JENKINS的等的操作。 ***为保持职业操作,涉及公司信息的地方作了敏感化处理。 ***在这个系列中,我同时作了spring boot, beego, django, node.js框架的容器化操作,大同小异,故而只列出第一篇吧。 步骤 整个项目的操作过程如下: 一, 开发好业务代码,并且测试通过。 由于javascript为解释型语言,将开发好的目录先移至制作目录下 二,下载好基础镜像,为减小镜像,基础镜像为node:9.0.0-alpine,并上传到harbor仓库。 三,编写dockerfile并生成项目镜像。 Dockerfile文件内容 FROM 1.2.3.4/public/node:9.0.0-alpine MAINTAINER CHENGANG WORKDIR /data COPY prismlogapi-nj/ /data/ EXPOSE 8000 ENTRYPOINT ["node", "index.js", "8000"] 四,编写k8s的deployment文件,并部署。 xxxlognj-deployment.yaml文件内容 部署命令: kubectl apply -f xxxlognj-deployment.yaml 五,编写k8s的service文件,并部署。 xxxlognj-deployment.yaml文件内容 部署命令: kubectl apply -f xxxlognj-deployment.yaml 六,查看k8s里dashborad服务状态,及验证服务 七,补充

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册