VM下搭建hadoop集群

一.前期准备

1.安装VMware_Workstation_wmb

2.安装三台CentOS-6.3-i386-bin-DVD1  

      Master192.168.66.174

      Slave1192.168.66.171

      Slave29:1.168.66.173

二.安装步骤:

(在安装centos时就把pc的名字改好,免得后面改hostname

1.在每台pc上的/etc/hosts中加入:

127.0.0.1 localhost

192.168.66.174master

192.168.66.171slave1

192.168.66.173slave2

2.在每台pc安装java:

/etc/profile中加入:

exportJAVA_HOME=/usr/local/java/jdk1.6.0_45

exportPATH=:$JAVA_HOME/bin:/sbin:/usr/bin:/usr/sbin:/bin

exportCLASSPATH=.:$JAVA_HOME/lib

3.配置SSH无密码登录:

   在每台pc上面:

   ssh-keygen-t rsa

 cat~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

 chmod 700 .ssh

 chmod 644 authorized_keys

编辑sshd配置文件/etc/ssh/sshd_config

把#AuthorizedKeysFile  .ssh/authorized_keys前面的注释取消掉。

在master上面:

ssh-copy-id -i~/.ssh/id_rsa.pub root@slave1

ssh-copy-id -i~/.ssh/id_rsa.pub root@slave2

重启

servicesshd restart

在slave1上面:

ssh-copy-id -i~/.ssh/id_rsa.pub root@master

ssh-copy-id -i~/.ssh/id_rsa.pub root@slave2

重启

servicesshd restart

在slave2上面:

ssh-copy-id -i~/.ssh/id_rsa.pub root@slave1

ssh-copy-id -i~/.ssh/id_rsa.pub root@master

重启

servicesshd restart

再ssh slave1;sshslave2;ssh master验证

**遇到Agentadmitted failure to sign using the key
解決方式使用ssh-add 指令将私钥加进来(根据个人的密匙命名不同更改 id_rsa
# ssh-add ~/.ssh/id_rsa

**遇到ssh:connect to host master port 22: No route to host是由于ip地址问题,检查/etc/hosts

4.配置hadoop

   下载hadoop

scphadoop-1.2.0.tar.gz root@slave1:/usr/local

tar xzvfhadoop-1.2.0.tar.gz

mv hadoop-1.2.0/usr/local/hadoop

profile./bashrc中加入:

 export HADOOP_HOME=/usr/local/hadoop

 export PATH=$PATH:$HADOOP_HOME/bin

配置hadoop-env.sh

    设置JAVA_HOME

配置core-site.xml

<property>

       <name>fs.default.name</name>

       <value>hdfs://master:9000</value>

       <final>true</final>

</property>

<property>

       <name>hadoop.tmp.dir</name>

       <value>/home/hadoop/hadoop/data/hdfs/tmp</value>

</property>

配置mapred-site.xml

<property>

       <name>mapred.job.tracker</name>

       <value>master:9001</value>

</property>

配置hdfs-site.xml

<!-- master配 -->

<property>

       <name>dfs.name.dir</name>

       <value>/home/hadoop/hadoop/data/hdfs/name</value>

       <final>true</final>

</property>

<!-- slave配 -->

<property>

       <name>dfs.data.dir</name>

       <value>/home/hadoop/hadoop/data/hdfs/data</value>

       <final>true</final>

</property>

<property>

       <name>dfs.replication</name>

       <value>1</value>

       <final>true</final>

</property>

配置masters

修改为master或对应的IP地址

配置slaves

slave1

slave2

(可以salves机上通过scpmasters机上的hadoop主目录:sudo scp -r test@192.168.30.20:/usr/local/hadoop /usr/local

关掉防火墙

root用户下

service iptables stop

格式化namenode

在master机子中:hadoop namenode -format

在master下启动集群即可:start-all.sh(因为已经将hadoop添加到PATH中去了)

检验master:输入jps

3711 NameNode

4085 Jps

3970 JobTracker

3874 SecondaryNameNode

检验slave:输入jps

2892 Jps

2721 DataNode

2805 TaskTracker

或在master输入:hadoop dfsadmin -report

Safe mode is ON

Configured Capacity:15481700352 (14.42 GB)

Present Capacity:13734293504 (12.79 GB)

DFS Remaining:13457870848 (12.53 GB)

DFS Used: 276422656(263.62 MB)

DFS Used%: 2.01%

Under replicatedblocks: 0

Blocks with corruptreplicas: 0

Missing blocks: 0

-------------------------------------------------

Datanodes available: 3(3 total, 0 dead)

Name:192.168.160.143:50010

Decommission Status :Normal

Configured Capacity:5160566784 (4.81 GB)

DFS Used: 41160704(39.25 MB)

Non DFS Used:582455296 (555.47 MB)

DFS Remaining:4536950784(4.23 GB)

DFS Used%: 0.8%

DFS Remaining%: 87.92%

Last contact: Mon May06 16:12:02 CST 2013

Name:192.168.160.140:50010

Decommission Status :Normal

Configured Capacity:5160566784 (4.81 GB)

DFS Used: 97075200(92.58 MB)

Non DFS Used:582545408 (555.56 MB)

DFS Remaining: 4480946176(4.17GB)

DFS Used%: 1.88%

DFS Remaining%: 86.83%

Last contact: Mon May06 16:12:01 CST 2013

Name:192.168.160.141:50010

Decommission Status :Normal

Configured Capacity:5160566784 (4.81 GB)

DFS Used: 138186752(131.79 MB)

Non DFS Used:582406144 (555.43 MB)

DFS Remaining:4439973888(4.14 GB)

DFS Used%: 2.68%

DFS Remaining%: 86.04%

Last contact: Mon May06 16:12:00 CST 2013

此时都表示集群成功。

hadoop集群关闭:stop-all.sh

 

 

 

 

 

 

### 如何在Linux VM上安装配置Hadoop集群 #### 准备工作 为了确保所有节点的时间一致,在开始之前应先设置时间同步。这可以通过安装`ntp`来实现: ```bash yum install -y ntp rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime ntpdate -u ntp.aliyun.com systemctl start ntpd systemctl enable ntpd ``` 上述命令会更新系统的时区并将其指向阿里云的NTP服务器进行时间同步,同时启动并启用`ntpd`服务以保持持续的时间校准[^3]。 #### 配置SSH无密码登录 对于多台器组成的Hadoop集群来说,通常需要配置好各节点间的免密钥认证以便于后续管理操作更加便捷高效。具体做法是在每台主之间互相交换公私钥对,并将对方的公钥加入到`.ssh/authorized_keys`文件中去。 #### 修改环境变量 为了让系统能够识别新安装的服务路径以及简化命令调用方式,建议修改全局环境变量文件 `/etc/profile` 或者个人用户的 `.bashrc` 文件,添加必要的环境变量定义语句如下所示: ```bash export JAVA_HOME=/path/to/java export HADOOP_HOME=/path/to/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin source /etc/profile ``` 这里假设已经正确设置了Java和Hadoop的具体位置;最后一条指令用于立即生效更改后的配置项而无需重新登录终端窗口[^1]。 #### 编辑sudoers文件 出于安全考虑,默认情况下只有超级管理员才有权限执行某些敏感的操作。如果希望普通用户也能拥有这些能力,则需编辑 `/etc/sudoers` 文件赋予特定账户相应的权利。注意此过程务必谨慎行事以免造成不必要的安全隐患。 ```bash vi /etc/sudoers ``` 找到类似于 `%wheel ALL=(ALL) ALL` 的行并将目标用户名替换掉 `wheel` 组名即可让该成员获得完全控制权。当然也可以通过追加新的条目形式指定更精细化的授权策略[^4]。 #### 安装Hadoop软件包 下载适合当前平台架构版本号相匹配的二进制压缩包至本地磁盘空间内解压展开后按照官方文档指示完成剩余部分初始化设定流程直至整个分布式计算框架正式上线运行为止。 以上就是基于Linux虚拟化环境下部署一套简易版Apache Hadoop伪分布模式实例的大致步骤概述,请读者朋友们参照实际情况灵活调整参数选项从而达到最佳实践效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值