Hadoop之集群搭建
-
首先的准备条件
- 1 搭建好jdk
- 2 hadoop 的压缩包(我这里是以2.7版本为例)
- 3 台机械 或者更多,且保证能通信 (我这里是 node01,node02,node03)
第一步 解压
在你的安装目录下面解压
tar -zxvf hadoop-2.7.7.tar.gz
第二步 编写环境变量
在profile中添加 hadoop的环境变量
vim /etc/profile
export HADOOP_HOME=/software/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
第三步 修改hadoop的文件
关于hadoop的配置文件在 etc/hadoop/ 下面
以env 作为后缀的 一般都是环境变量的配置 比如 hadoop-env.sh
以site 作为后缀的 一般是配置文件 比如 hdfs-site.xml
1.修改 hadoop-env.sh 在这个文件中添加JAVA_HOME
vim hadoop-env.sh
export JAVA_HOME=/software/jdk
2.修改 hdfs-site.xml
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/software/hadoop-2.7.7/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/software/hadoop-2.7.7/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>
</configuration>
3.修改 core-site.xml
vim core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop-2.7.7/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://node02:9000</value>
</property>
</configuration>
4 修改 slaves
vim slaves
添加所有的DataNode 的hostname
不需要添加 NameNode 以及备用主机
(总之 就是添加 非首领的服务器的hostname,我这里是 node02 为首领,所以我添加了node01,和node03)
5 修改 yarn-site.xml
vim yarn-site.xml
<configuration>
<property>
<!-- 这里设置主节点 -->
<name>yarn.resourcemanager.hostname</name>
<value>node02</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>12288</value>
<discription>每个节点可用内存,单位MB,默认8182MB</discription> </property>
<!-- Site specific YARN configuration properties -->
</configuration>
6 修改mapred-site.xml文件
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>node02:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/software/hadoop-2.7.7/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
第四步 复制给其他节点
scp -rp /software/hadoop-2.7.7/ root@node01:/software/
第五步 启动
每次修改完了 配置文件 之后 都是输入一个格式化的命令 不输入的话 就会提示找不到主节点
这个命令要在hadoop/bin下面执行
./hadoop namenode -format
启动
sbin/start-all.sh
这里没又免密码登陆 要靠手动输入
进入你的主节点:8088
比如 http://192.168.4.202:8088