原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3818908.html
一、安装环境
1、系统环境
CentOS 6.4
2、集群机器节点ip
节点一ip:10.100.209.221 (master)
节点二ip:10.100.209. 222 (slave)
节点三ip:10.100.209.223 (slave)
安装时可以基于自己的配置与此进行对应
二、系统环境配置
1、创建hdp用户与hdp用户组
su root
groupadd hdp
useradd -g hdp hdp
passwd hdp
2、授予hdp用户sudo权限
vim /etc/sudoers 增加如下内容
%hdp ALL=(ALL) ALL
3、添加host配置
vim /etc/hosts
添加ip对应的hostname(根据实际ip填写对应关系)
su hdp
ssh-keygen (执行此后一直敲回车即可)
ssh-copy-id -i ~/.ssh/id_rsa.pub hdp@node01
ssh-copy-id -i ~/.ssh/id_rsa.pub hdp@node02
ssh-copy-id -i ~/.ssh/id_rsa.pub hdp@node03
推荐使用ssh-copy-id命令,目前网上很多文章写的方法都是自己一个一个文件的copy,麻烦又费时。
三、软件下载与安装
在集群所有机器上执行下面的操作步骤安装基础软件:
cd /home/hdp
wgethttp://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.2.0/hadoop-2.2.0.tar.gz
wget http://download.oracle.com/otn-pub/java/jdk/7u60-b19/jdk-7u60-linux-x64.rpm
2、java安装
cd /home/hdp
sudo rpm -ivhjdk-7u51-linux-x64.rpm
修改系统默认java版本:
alternatives - -install /usr/bin/javajava /usr/java/jdk1.7.0_51/bin/java 2
alternatives --config java
会出现下面类似界面,选择/usr/java/jdk1.7.0_51/bin/java选项即可
执行: java -version 命令查看java版本是否为1.7.0_51
3、hadoop安装
sudo mv /home/hdp/hadoop-2.2.0.tar.gz/usr/local/
cd /usr/local
sudo tar zxvf hadoop-2.2.0.tar.gz
sudo ln -s hadoop-2.2.0 hadoop
sudo chown -R hdp:hdp hadoop-2.2.0
sudo rm -rf hadoop-2.2.0.tar.gz
四、hadoop部署(单机版)
以node01节点安装为例说明:
1、修改配置文件
cd /usr/local/hadoop/etc/hadoop
vim slaves 添加如下内容
node01
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:8020/</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
</property>
</configuration>
vim hdfs-site.xml添加如下内容
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/dfs/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/dfs/dn</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
vim mapred-site.xml添加如下内容
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.shuffle.port</name>
<value>8080</value>
</property>
<property>
<name>mapreduce.job.tracker</name>
<value>node01:8021</value>
</property>
<property>
<name>mapreduce.job.tracker.http.address</name>
<value>node01:50030</value>
</property>
</configuration>
vimyarn-site.xml添加如下内容
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>node01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>node01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node01:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>node01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>node01:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
2、启动集群
sudo mkdir /dfs/dn
sudo mkdir /dfs/nn
/usr/local/hadoop/bin/hdfs namenode -format
/usr/local/hadoop/sbin/start-all.sh
jps命令验证NameNode、DataNode、ResourceManager、NodeManager时候都成功启动了
五、hadoop部署(集群版)
以node01为master节点,node02、node03为slave节点安装为例说明:
cd/usr/local/hadoop/etc/hadoop
vim slaves 添加如下内容
node02
node03
vim core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml配置文件修改内容与单机版部署一样
sudo mkdir /dfs/dn
sudo mkdir /dfs/nn
2、启动集群(node01节点运行启动脚本)
/usr/local/hadoop/bin/hdfs namenode -format
/usr/local/hadoop/sbin/start-all.sh
原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3818908.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义