技术标签: hadoop 3.0 安装 Hadoop hadoop
截止到19年,Hadoop 最新的版本已经出到 3.1.1 版本了,下面就以 该版本为例,详细分析分布式安装的步骤。Hadoop 有三种安装方式,包括:
1. 单机模式
2. 伪分布式模式
3. 分布式模式
准备好需要安装 Hadoop 的机器,本文使用的是 4 台 centos 机器,分别是 node1, node2, node3 和 node4,需要预先准备好 Hadoop 的安装环境。
1. jdk安装配置
下载jdk文件至每台机器:
wget http://10.18.218.14/download/jdk-8u131-linux-x64.rpm
rpm -Uvh jdk-8u131-linux-x64.rpm
配置java的环境变量:
vim /etc/profile
增加:
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存后执行source /etc/profile
2. 配置ssh
ssh-keygen,一路回车就行。
3. 准备好 hadoop
在 hadoop 官网,下载 hadoop 3.1.1,并解压
单机模式就是用单个进程运行一个 java 进程,配置简单,主要用作调试程序使用。参考官网配置即可:
Hadoop 可以在一个节点上模拟分布式的运行方式,通过 java 多进程的方式进行模拟。首先需要配置本机免密码登录,否则安装 hadoop 时会出现权限错误。
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
本次在 node1 上进行安装,配置步骤如下:
1. 配置 hadoop-env.sh
cd hodoop-3.1.1/etc/hadoop
vim hadoop-env.sh
在末尾添加:
export JAVA_HOME=/usr/java/jdk1.8.0_131
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
2. 配置 core-site.xml
默认配置项:https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-common/core-default.xml
vim vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:9820</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/peseudo</value>
</property>
</configuration>
3. 配置 hdfs-site.xml
默认配置项:https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node1:9868</value>
</property>
</configuration>
4. 配置 workers
vim workers
修改为:
node1
5.启动 hadoop
按照官网步骤启动即可。
1) Format the filesystem:
$ bin/hdfs namenode -format
2) Start NameNode daemon and DataNode daemon:
$ sbin/start-dfs.sh
The hadoop daemon log output is written to the $HADOOP_LOG_DIR directory (defaults to $HADOOP_HOME/logs).
3) Browse the web interface for the NameNode; by default it is available at:
NameNode - http://localhost:9870/
通过浏览器可以成功访问 hadoop,表示伪分布式集群搭建成功。
4) Make the HDFS directories required to execute MapReduce jobs:
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
5) Copy the input files into the distributed filesystem:
$ bin/hdfs dfs -mkdir input
$ bin/hdfs dfs -put etc/hadoop/*.xml input
6) Run some of the examples provided:
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar grep input output 'dfs[a-z.]+'
7) Examine the output files: Copy the output files from the distributed filesystem to the local filesystem and examine them:
$ bin/hdfs dfs -get output output
$ cat output/*
or
View the output files on the distributed filesystem:
$ bin/hdfs dfs -cat output/*
8) When you’re done, stop the daemons with:
$ sbin/stop-dfs.sh
在开头(结尾那加也应该可以,没有试过,没必要试)加入这些行:++++++++++++++++++++++++++++++winpos 235 235set lines=25 columns=108 colo peachpuff set autoindent ++++++++++++++++++++++++++++++第一行为设置启动位置;第二行为设置窗口大小,行X列;第三行为设置本色方案;第四行为自动与上一行跟从缩进.建议加上代码折叠功能:===="用空格键来开关折叠(说明西方“"”后面的内容为注释,不会被
一、加入druid依赖 com.alibaba druid 1.0.27 二、在application.properties配置文件中加入druid配置# 初始化大小,最小,最大spring.datasource.initialSize=5spring.datasource.minIdle=5spring.datasource.maxActive=20#
史上最简单,最详细的listview详解
我是用脚手架cli 4.0.5版本创建的vue项目得到的vue的项目结构如下接下来就好好分析一下各个文件的用途1.npm相关文件node_modulesnpm是一个包管理器,可以安装很多别人的包,那么我们安装的包呢就放在node_modules里面package.json我们安装了哪些包会在package.json里面做记录主要存放项目依赖项的安装目录,dependen..._vscode中vue项目结构
查看passwd文件开头三行查看passwd文件倒数两行查看passwd的数据Pass序列号 查找包括root的行 查看在passwd中以root开头的行 在psswd中查看以bash结尾的行 进入passwd并添加空行 查看passwd文件中的空行 查看passwd文件中除了空行之外的东西。 使用两种方式压缩文件 两种方式解压缩 显示两个...
作者:Mike Fleishauer & clayman本文版权归原作者所有,仅供个人学习使用,请勿转载,勿用于任何商业用途。由于本人水平有限,难免出错,不清楚的地方请大家以原著为准。欢迎大家和我多多交流。Blog:http://blog.csdn.net/soilworkclayma[email protected] special thanks to Mike Fleishauer ^_xna 字体加粗
大多数新用户可能比较在意的是费用标准,上图所示的是我经常使用的价位,对于一般的模型可以尝试使用特惠版的CPU类型,性价比较高,对于自由度规模较大的模型,可适当增加CPU的核心数,同时价位也会随之上升。运行模板中的Abaqus进行求解,结算结果如图所示,将计算的结果文件.odb文件传复制到H盘中,即可在文件传输界面中看到计算结果文件,下载后用于后处理,退出模板,释放节点,释放节点后,云计算会将所有计算文件清除。可以看出,三种计算工况的荷载-位移曲线的分布趋势大致相同,但承载能力的大小确有明显不同。_abaqus数据传递能传递钢筋吗
Docker Images from OracleThis repository contains Dockerfilesand samples to build Docker images forOracle commercial products and Oracle sponsored open source projects.Container Images on GitHubThese ..._pod 中 oracle
刚刚学习Java不到一个星期,本来是搞C++的,没事学习Java,将来可以更好的想Android方向发展一下。现在正处于磨基础的阶段,对与每一个新手来书,最痛苦的莫过于此了。写了一个冒泡排序,用C++的思想写,没有任何错误,但是改成Java就出现如下错误:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7at..._java jni jbytearray 下标越界
http://blog.jobbole.com/76847/本文由 伯乐在线 - 李鼎 翻译。未经许可,禁止转载!英文出处:atlassian。欢迎加入翻译组。转到分布式版本控制系统看起来像个令人生畏的任务,但不改变已用的工作流你也可以用上Git带来的收益。团队可以用和Subversion完全不变的方式来开发项目。但使用Git加强开发的工作流,Git比SVN有几个优势。首先,每个开发可以有属于自己...
当我啾啾这再跟进这个 ,我的意见是这样 。 该评论有一个完全正确的观点。 我们经常谈论屏幕分辨率,这在考虑我们网站的访问者可以使用的空间时并不是相关的统计数据。 相关统计数据是浏览器窗口大小 。 那么,为什么我们要这么多谈论屏幕分辨率呢? 可能是因为在世界上最受欢迎的分析软件Google Analytics中,它是您获得的唯一数据。 (Google Analytics(分析)小组意...
while循环语句和选择结构if语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立,{}内的执行语句就会执行,直到条件不成立,while循环结束。while循环语句的语法结构如下:while(循环条件){执行语句………}条件:当条件是true时,执行循环体,执行完循环体后,程序再次执行whil...