您的位置:首页 > 运维架构

Hadoop2.7.3完全分布式集群部署过程

2017-03-30 00:06 736 查看
摘要: 做一个项目需要hadoop,所以开始学习hadoop。今天花费了半天的时间,成功搭建了hadoop集群。


环境配置:

虚拟机:vmware workstation 12

系统:centos7

节点:

192.168.1.111 yun1

192.168.1.112 yun2

192.168.1.113 yun3

jdk-7u79-Linux-x64.gz (Java )

hadoop-2.7.3.tar.gz (Hadoop 包)


1.修改虚拟机的hostname和hosts文件


hostname(修改主机名):vim /etc/hostname





hosts(设置节点名与ip的映射):vim /etc/hosts




2.安装jdk与配置环境变量


1)下载jdk安装包(自行百度),并将安装包拖入到虚拟机当中

2)通过cd命令进入到安装包的当前目录,利用如下命令进行解压缩。

tar -zxvf jdk  *****(安装包名称)

3)利用如下命令将解压后的文件夹移到/usr目录下 

mv jdk1.7...(文件夹名称) /opt

4)配置环境变量

vim /etc/profile

在末尾添加

export JAVA_HOME=/usr/java

export JRE_HOME=/usr/java/jre

export CLASSPATH=$JAVA_HOME/lib

export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

输入如下命令使配置生效:source /etc/profile

查看是否成功:java




3.设置ssh免密码登录


对主机和节点都使用ssh-keygen -t rsa生成.ssh文件夹,然后将本机.ssh中的id_rsa.pub中的内容覆盖到节点.ssh文件夹中的authorized_keys.

ssh-keygen -t rsa

scp ~/.ssh/id_rsa.pub root@yun*:~/.ssh/authorized_keys

对每一个节点都发送这个认证文件后:执行 chmod 600 ~/.ssh/authorized_keys

进行权限的修改

这样就可以了。


4.在主机yun1上配置hadoop然后发送到其他节点上

1)解包移动

#解压hadoop包

tar -zxvf hadoop...

#将安装包移到/opt目录下

mv hadoop... /opt/hadoop

2)新建文件夹

#在/opt/hadoop目录下新建如下目录(root)

mkdir dfs

mkdir dfs/name

mkdir dfs/data

mkdir tmp/

3)配置文件:hadoop-env.sh(文件都在/opt/hadoop/etc/hadoop中)

修改JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_79)

4)配置文件:yarn-env.sh

修改JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_79)

5)配置文件:slaves

将内容修改为:

yun2
yun3

6)配置文件:core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://yun1:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

<property>

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

<value>file:/opt/hadoop/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

</configuration>

7)配置文件:hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>yun1:9001</value>

</property>

<property>

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

<value>file:/opt/hadoop/dfs/name</value>

</property>

<property>

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

<value>file:/opt/hadoop/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

8)配置文件:mapred-site.xml

先创建然后编辑

cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

vim etc/hadoop/mapred-site.xml

<configuration>

<property>

        <name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>yun1:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>yun1:19888</value>

</property>

</configuration>

9)配置文件:yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>yun1:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>yun1:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>yun1:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>yun1:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>yun1:8088</value>

</property>

</configuration>

10)将hadoop传输到yun2和yun3 opt/hadoop目录,(如果传输时报错说 :权限拒绝,先把文件传送到非/opt目录下,然后在yun上把这个文件再移动到/opt/hadoop)

 scp -r /usr/hadoop hadoop@yun2:/usr/hadoop

7、配置环境变量,并启动hadoop,检查是否安装成功

1)配置环境变量

#编辑/etc/profile
sudo vim /etc/profile
#以上已经添加过java的环境变量,在后边添加就可以

5.配置环境变量,并启动hadoop,检查是否安装成功

#hadoop

export HADOOP_HOME=/opt/hadoop/hadoop-2.7.3

export PATH=$PATH:$HADOOP_HOME/sbin

export PATH=$PATH:$HADOOP_HOME/bin

执行

source /etc/profile


使文件生效。

2)启动hadoop,进入hadoop安装目录

bin/hdfs namenode -format
sbin/start-all.sh

3)启动后分别在yun1, yun2下输入jps查看进程

看到下面的结果,则表示成功。



错误解决:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-Java classes where applicable

提示hadoop不能加载本地库。

解决方法:配置环境变量

在/etc/profile中,添加下面配置:



最后记得使配置生效:
source /etc/profile


并把相同配置添加到hadoop-env.sh文件末尾。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: