Hadoop 安装教程

*本文主要介绍在 CentOS 安装 CDH,具体版本信息如下:
OS: CentOS 7.0
Java: jdk1.7.0_79
Hadoop: hadoop-2.6.0-cdh5.4.7*

1. 关闭防火墙

-- 关闭防火墙
systemctl stop firewalld.service

-- 禁止firewall开机启动
systemctl disable firewalld.service

-- 关闭SELINUX
cat /etc/selinux/config
SELINUX=disabled
...

2. 网络设置

-- 设置 hosts
cat /etc/hosts
192.168.10.51   hw001
192.168.10.52   hw002
192.168.10.53   hw003

-- 设置 hostname
cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hw00x

-- 重启网络
service network restart

3. 安装 java 环境

建议安装 1.7 及以上版本,如果已安装,则跳过该步骤。
这里 java 在 root 用户下安装,对所有用户都生效。

-- 卸载 centos7 自带的openjdk
yum autoremove java

-- 下载 jdk
http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260.html

-- 安装
rpm -ivh jdk-7u79-linux-x64.rpm

-- java 默认安装在目录:/usr/java/jdk1.7.0_79
-- 设置环境变量,在 /etc/profile 下增加如下:
# java config.
export JAVA_HOME=/usr/java/jdk1.7.0_79
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH:$JRE_HOME/lib

-- 环境变量生效
source /etc/profile

-- 测试是否成功安装java
java -version

4. 主机互信设置

新建 hadoop 用户,只需要 hadoop 用户互信即可:

-- 创建hadoop 用户
useradd hadoop
passwd hadoop

-- 互信
su - hadoop
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub ${remote-host}
ssh ${remote-host}

互信可以参看:http://blog.csdn.net/cjfeii/article/details/47148803


5. 下载hadoop安装包

wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.4.7.tar.gz
tar xzvf hadoop-2.6.0-cdh5.4.7.tar.gz -C /home/hadoop/

6. 设置环境变量

-- 在 .bashrc 或是 .bash_profile 文件中增加以下设置:
# hadoop config.
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0-cdh5.4.7
export PATH=$PATH:$HADOOP_HOME/bin

7. 修改配置文件

– 修改 hadoop-2.6.0-cdh5.4.7/etc/hadoop/hadoop-env.sh 中的 JAVA_HOME:

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

– cat hadoop-2.6.0-cdh5.4.7/etc/hadoop/core-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hw001:8020</value>
        <final>true</final>
    </property>
</configuration>

– cat hdfs-site.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

note:需要保证这些目录存在,并且 hadoop 用户必须有访问权限,否则报错:/home/name , /home/data

– cat slaves

hw002
hw003

– cat mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

– cat yarn-site.xml

<?xml version="1.0"?>

<configuration>
<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hw001</value>
    </property>

    <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>

</configuration>

8. 启动 hdfs

-- 格式化 namenode:
bin/hadoop namenode -format

-- 启动进程:
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode

-- or 可以用一个命令启动
sbin/ start-dfs.sh

9. 启动 yarn

-- 启动 yarn 相关进程:
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

-- or 可以用一个命令启动
sbin/start-yarn.sh

10. 打开 web 页面

-- 打开 hdfs 展示页面:
http://192.168.10.51:50070/

-- 打开 yarn 展示界面:
http://192.168.10.51:8088/

11. 启动一个应用测试

首先是一个计算 PI 的例子:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.4.7.jar pi 20 10
output:
...
Job Finished in 23.673 seconds
Estimated value of Pi is 3.12000000000000000000

再举一个 wordcount 的例子:

mkdir ./input
cp /etc/profile ./input
bin/hadoop hdfs -copyFromLocal input /input
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.4.7.jar wordcount /input /output
./bin/hadoop dfs -ls /output
Found 2 items
-rw-r--r--   3 hadoop supergroup          0 2015-10-26 10:18 /output/_SUCCESS
-rw-r--r--   3 hadoop supergroup       1587 2015-10-26 10:18 /output/part-r-00000

11. 安装完毕。


ref:

http://dongxicheng.org/mapreduce-nextgen/hadoop-yarn-install/
http://blog.csdn.net/cjfeii/article/details/47148803
http://www.aboutyun.com/thread-9089-1-1.html

源码编译:
http://www.fanqi.org/hadoop-learning-notes-1-64-bit-ubuntu-next-to-recompile-the-hadoop-2-2-0-laundry-list/


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值