博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS6.5下hadoop配置
阅读量:5050 次
发布时间:2019-06-12

本文共 8307 字,大约阅读时间需要 27 分钟。

环境准备

1.1   操作系统:CentOS 6.5

1.2    集群主机: vi /etc/hosts

 HostName          IP           Purpose

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.18.51.52     master.hadoop

10.18.51.53     slave1.hadoop

10.18.51.54     slave2.hadoop

10.18.51.55     slave3.hadoop

10.18.51.56     slave4.hadoop

10.18.51.57     slave5.hadoop

10.18.51.58     slave6.hadoop

10.18.51.59     slave7.hadoop

10.18.51.60     slave8.hadoop

10.18.51.61     slave9.hadoop

10.18.51.51     slave10.hadoop

10.18.51.50     slave11.hadoop

10.18.51.49     slave12.hadoop

按照上述表格,设置各个主机的主机名称和IP地址(必须是静态的):

(1)       主机名称修改:

可用hostname命令或直接修改文件/etc/sysconfig/network文件:hostname=…

(2)       IP地址修改:

可用ifconfig命令或直接修改文件/etc/sysconfig/network-scripts/ifcfg-eth0(与使用网卡对应文件),在其中主要配置:IP/GETWAY/NETMASK/DNS等。

       Linux开机是网络默认是断开的,

       设置网络自动开机自动连接:

       右击网络链接图标-》 edit connections... -》 选中“etho” 选择edit 出现下面的对话    框  把 connect automatically 选上即可。 

       方法2 修改配置文件
       # vi /etc/sysconfig/network-scripts/ifcfg-eth0 
       将ONBOOT=no 改成 yes 就表示开机后默认链接etho 
       # /etc/init.d/network restart 

编辑/etc/hosts文件,添加如下内容:(每台机器)

10.18.51.52     master.hadoop

10.18.51.53     slave1.hadoop

10.18.51.54     slave2.hadoop

10.18.51.55     slave3.hadoop

10.18.51.56     slave4.hadoop

10.18.51.57     slave5.hadoop

10.18.51.58     slave6.hadoop

10.18.51.59     slave7.hadoop

10.18.51.60     slave8.hadoop

10.18.51.61     slave9.hadoop

10.18.51.51     slave10.hadoop

10.18.51.50     slave11.hadoop

10.18.51.49     slave12.hadoop

编辑/etc/profile文件(或Hadoop用户的 .bash_profile),在其文件末尾添加JDK相关环境变量:

           export     JAVA_HOME=/usr/java/jdk1.7.0_67

           export     CLASSPATH=.:$JAVA_HOME/lib:$ JAVA_HOME/jre/lib:$CLASSPATH

           (直接指定*.jar文件)

    export      JAVA_OPTS=”-Xms1024m-Xmx2048m”

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

记住:在REDHAT中,$CLASSPATH  $PATH 一定要放在后面。

export      JAVA_HOME=/usr/java/jdk1.7.0_67

export      CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

export      JAVA_OPTS=”-Xms1024m-Xmx2048m”

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

 有的网站:CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后执行: source /etc/profile ,使配置立即生效。

运行 java -version 时候可能会提示权限不够,只要修改相应文件,添加可执行权限即可。

vi /etc/profile 也可以一次性配置先(建议初学者先不一次性配置)

export  JAVA_HOME=/usr/java/jdk1.7.0_67

export  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib:$CLASSPATH

export  JAVA_OPTS="-Xms1024m-Xmx2048m"

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

                   export HADOOP_HOME=/usr/hadoop

         export HADOOP_COMMON_HOME=$HADOOP_HOME

         export HADOOP_HDFS_HOME=$HADOOP_HOME

         export HADOOP_MAPRED_HOME=$HADOOP_HOME

         export HADOOP_YARN_HOME=$HADOOP_HOME

         export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

         export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib

         export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

         export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

         export PATH=$PATH:/usr/apache-ant/bin

         export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native

         推出之后,执行:source /etc/profile

关闭防火墙,SELINUX关不关闭应该无所谓

查看SELinux状态:

1) /usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:               enabled

2) getenforce                ##也可以用这个命令检查

关闭SELinux:

1) 临时关闭(不用重启机器):

setenforce 0               ##设置SELinux 成为permissive模式

                              ##setenforce 1 设置SELinux 成为enforcing模式

2) 修改配置文件需要重启机器:

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

service iptables status可以查看到iptables服务的当前状态

1) 重启后生效 

开启: chkconfig iptables on 
关闭: chkconfig iptables off 或者 /sbin/chkconfig --level 2345 iptables off
2) 即时生效,重启后失效
service 方式
开启: service iptables start 
关闭: service iptables stop
iptables方式
查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
重启iptables:
/etc/init.d/iptables restart

配置主机名(在系统安装的时候就已经指定了 )和Ip,并且设置自启动,服务器两个网卡,目前选择第一个网卡插口

设置各个主机的主机名称和IP地址(必须是静态的):

(3)       主机名称修改:

可用hostname命令或直接修改文件/etc/sysconfig/network文件:hostname=…

(4)       IP地址修改:

可用ifconfig命令或直接修改文件/etc/sysconfig/network-scripts/ifcfg-eth0(与使用网卡对应文件),在其中主要配置:IP/GETWAY/NETMASK/DNS等。

       Linux开机是网络默认是断开的,

    设置网络自动开机自动连接:

       右击网络链接图标-》 edit connections... -》 选中“etho” 选择edit 出现下面的对话    框  把 connect automatically 选上即可。 

       或者:# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

       将ONBOOT=no 改成 yes 就表示开机后默认链接etho 
       # /etc/init.d/network restart 

修改主机名:

           /etc/sysconfig/network中修改。

Hadoop安装配置(每台机器)

;很好很详细的网址

下载Hadoop安装包:hadoop安装包以两种形式发布,二进制形式和源码形式。这里我们下载二进制发布包。(注意:如何操作系统时64位,则需下载源码包进行编译,重新生成本地库文件,因为默认的二进制包是在32位环境下编译的)。

2.2 将Hadoop包解压到制定目录,如:/usr/hadoop

         cd /usr/hadoop

tar –zxvf hadoop2.3.0.tar.gz

2.3 配置hadoop环境变量 在root用户下:/etc/profile里面添加即可,添加内容如下:(上面说过,可以一次性都配置完)

         # hadoop

root下,在/etc/profile中添加:不用上面的,用下面的:

export HADOOP_HOME=/usr/hadoop

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export YARN_CONF_DIR=$HADOOP_CONF_DIR

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native (不要黄的)

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

2.4 编辑<HADOOP_HOME>/etc/hadoop/hadoop-env.sh文件与yarn-env.sh文件,添加JAVA_HOME变量    下面是配置文件详解的网址

export JAVA_HOME=/usr/java/jdk1.7.0_67/

2.5 编辑<HADOOP_HOME>/etc/hadoop/core-site.xml文件,内容如下:

         <property>

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

                   <value>file:/usr/hadoop/tmp</value>   #tmp 需提前创建

         </property>

                   <property>

                   <name>fs.defaultFS</name>

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

         修改成:试试

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

         <value>hdfs://localhost:9000</value>

                 </property>

         <property>                                                                        #可选

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

                   <value>131072</value>  

         </property>

2.6编辑<HADOOP_HOME>/etc/hadoop/hdfs-site.xml文件,内容如下:

                   vi hdfs-site.xml

         <property>

                   <name>dfs.replication</name>      #enable

                   <value>3</value> 

         </property>

<property>

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

                   <value>file:/usr/hadoop/dfs/name</value>   # created

         </property>

<property>

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

                   <value> file:/usr/hadoop/dfs/data </value>     # created

         </property>

<property>

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

                   <value>true</value> 

         </property>

<property>

                   <name>dfs.permissions</name>

                   <value>false</value> 

         </property>

2.7编辑<HADOOP_HOME>/etc/hadoop/yarn-site.xml文件,内容如下:

         为何要配置 yarn:          

         <property>

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

                   <value>mapreduce.shuffle</value> 或者: <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.hostname</name>      

                   <value>hadoop.main</value> 

         </property>

         <property>

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

                   <value> hadoop.main:8032</value> 

         </property>

         <property>

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

                   <value> hadoop.main:8030</value> 

         </property>

<property>

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

                   <value> hadoop.main:8031</value> 

         </property>

         <property>

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

                   <value> hadoop.main:8033</value> 

         </property>

<property>

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

                   <value> hadoop.main:8088</value> 

         </property>

 

2.8编辑<HADOOP_HOME>/etc/hadoop/mapred-site.xml文件,内容如下:

         <property>

                   <name>mapreduce.framework.name</name>       #Enable

                   <value>yarn</value> 

         </property>

         <property>

                   以下不要配置的:

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

                   <value>hadoop.main:10020</value> 

         </property>

         <property>

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

                   <value> hadoop.main:19888</value> 

         </property>

2.9 编辑<HADOOP_HOME>/etc/hadoop/slaves与masters文件

         masters文件:(每个Slave机器上必须有)

配置masters和slaves文件来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。

master.hadoop       在master文件中

slave1.hadoop         以下都在slaves文件中:

slave2.hadoop

slave3.hadoop

slave4.hadoop

slave5.hadoop

slave6.hadoop

slave7.hadoop

slave8.hadoop

slave9.hadoop

slave10.hadoop

slave11.hadoop

slave12.hadoop

2.10 上述配置任务完成之后,首先格式化分布式文件系统:

         命令:hdfs namenode –format (普通用户进行操作)

用 start-all.sh  启动集群。

查看集群状态:

./bin/hdfs dfsadmin –report 

5. 查看文件块组成:   

./bin/hdfsfsck / -files -blocks 

6. 查看HDFS:    ?? 

http://16.187.94.161:50070 

7. 查看RM:    ?? 

http:// 16.187.94.161:8088 

2.13 运行WordCount程序

在Master主机上创建三个文本文件:file1.txt,file2.txt,file3.txt, 并利用以下命令在分布式文件系统上创建文件夹,且将本地文件file*.txt上传到hdfs。

hdfs dfs    -ls  /

hdfs dfs –mkdir /in                     # 在hdfs上创建文件夹

hdfs dfs –put file*.txt /in     #将本地文件上传到hdfs

 

注意:hadoop 默认运行在安全模式,可以使用命令:hadoop dfsadmin –safemode leave退出安全模式。

 

将当前目录切换到/usr/hadoop:执行下面命令允许hadoop自带wordcount程序。

Hadoop jar  share/hadoop/mapreduce/hadoop-mapreduce-example.jar wordcount /in /out

 

注意:/out目录不能提前创建好,有程序自己创建。

 

转载于:https://www.cnblogs.com/sunallen/p/5456312.html

你可能感兴趣的文章
【NOIP模拟】密码
查看>>
java容器---------手工实现Linkedlist 链表
查看>>
three.js 性能优化的几种方法
查看>>
《梦断代码》读书笔记(三)
查看>>
FreeMarker解析json数据
查看>>
Java8 Lambda表达应用 -- 单线程游戏server+异步数据库操作
查看>>
次序+“选择不重复的记录”(3)——最大记录
查看>>
Codeforces 450 C. Jzzhu and Chocolate
查看>>
[Unity3D]Unity3D游戏开发MatchTarget的作用攀登效果实现
查看>>
ACdream 1115 Salmon And Cat (找规律&amp;&amp;打表)
查看>>
JSON、JSONP、Ajax的区别
查看>>
AngularJS学习篇(一)
查看>>
【转载】 IP实时传输协议RTP/RTCP详解
查看>>
关于Xshell无法连接centos6.4的问题
查看>>
Linux系统的数据写入机制--延迟写入
查看>>
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
时间>金钱
查看>>
元数据元素
查看>>