Hadoop安装

来源:互联网 发布:网络综合布线施工顺序 编辑:程序博客网 时间:2024/05/23 01:14

前沿

Hive依赖于Hadoop,Hadoop依赖于Java,所以第一步必须安装配置Java环境,具体参考:http://blog.csdn.net/gebitan505/article/details/54599137
Hadoop有三种安装模式:单机模式,伪分布式模式,分布式模式。因为开发阶段没有多余的服务器资源,所以选择了单机模式的安装。

一、下载hadoop-2.7.3.tar.gz

wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

二、解压安装包:

tar -zxvf hadoop-2.7.3.tar.gz  到/home/lizh/devtool/

三、配置环境变量:

执行vi /etc/profile,输入下面的配置信息

HADOOP_HOME=/home/lizh/devtool/hadoop-2.7.3
export JAVA_LIBRARY_PATH=/home/lizh/devtool/hadoop-2.7.3/lib/native
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

四、使环境变量生效:

source /etc/profile

五、设置免密钥登陆:

hadoop中客户端和服务器、计算节点之间通信都需要通过SSH,Hadoop并没有提供SSH输入密码的登录形式,因此为了保证可以顺利登录每台机器,需要将所有机器配置为namenode可以无密码登录它们。
1、首先通过rpm -qa | grep ssh 检查ssh是否安装
2、如果没有发现ssh也不要紧,可以通过yum安装:
yum install openssh-clients  
yum install openssh-server  
3、接下来依次执行,下面的指令可以确保当前用户可以免密钥登陆:
ssh localhost
cd ~/.ssh/ 
ssh-keygen -t dsa 
cat id_dsa.pub >> authorized_keys
4、通过root用户修改ssh的配置
sudo -i
vim /etc/ssh/sshd_config 
RSAAuthentication yes 
PubkeyAuthentication yes 
AuthorizedKeysFile .ssh/authorized_keys
5、重启ssh:service sshd restart
6、后续在配置hadoop的过程中,我们会发现会出现ssh的错误:The authenticity of host 0.0.0.0 can't be established. 
解决方法可以通过下列命令解决:
ssh  -o StrictHostKeyChecking=no  0.0.0.0

六、Hadoop配置

1、修改/home/lizh/devtool/hadoop-2.7.3/etc/hadoop/core-site.xml文件

a、在hadoop-2.7.3目录下创建tmp目录
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/lizh/devtool/hadoop-2.7.3/tmp</value>
</property>
</configuration>

2、修改/home/lizh/devtool/hadoop-2.7.3/etc/hadoop/hdfs-site.xmll文件

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>

3、首次启动需要格式化namenode文件

/home/lizh/devtool/hadoop-2.7.3/bin/hdfs namenode -format
4、然后可以启动和停止hdfs
/home/lizh/devtool/hadoop-2.7.3/sbin/start-dfs.sh
/home/lizh/devtool/hadoop-2.7.3/sbin/stop-dfs.sh

七、验证

启动后,访问 http://192.10.10.69:50070/dfshealth.html#tab-datanode 可以得到这个页面,就是配置成功了。



安装碰到问题:
1、报错:Hadoop启动报Error: JAVA_HOME is not set and could not be found解决办法
修改/home/lizh/devtool/hadoop-2.7.3/etc/hadoop/hadoop-env.sh中设JAVA_HOME。
应当使用绝对路径。
export JAVA_HOME=$JAVA_HOME                  //错误,不能这么改
export JAVA_HOME=/usr/java/jdk1.6.0_45        //正确,应该这么改


2、防火墙配置,添加下面规则:vi /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 50070 -j ACCEPT

启动重新防火墙:service iptables start



八、Map-Reduce示例

为了验证单机版的hadoop配置是否正确,接下来做一个map-reduce的样例。对于一个文本的单词集进行计数 
具体的配置如下:
1、配置mapred-site.xml,该文件默认不存在,通过模板来修改
cp mapred-site.xml.template mapred-site.xml
内容如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>


2、配置 yarn-site.xml,内容如下:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>


3、在Linux系统中准备数据:
mkdir -p dataLocal/input/
cd dataLocal/input/


echo "hello world, I am jungle. bye world" > file1.txt
echo "hello hadoop. hello jungle. bye hadoop." > file2.txt
echo "the great software is hadoop." >> file2.txt


4、在Hadoop的HDFS上创建目录:hadoop fs -mkdir -p ./dataHdfs/input
查看目录:hadoop fs -ls .
5、将本地文件,put到hdfs上:hadoop fs -put dataLocal/input/ ./dataHdfs/   注意:dataLocal/input为Linux本地目录
查看是否导入:hadoop fs -ls dataHdfs/input


6、启动yarn,并执行wordcount任务:start-yarn.sh


7、执行wordcount
hadoop jar /home/lizh/devtool/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount dataHdfs/input/ dataHdfs/output


8、查看结果:hadoop fs -cat dataHdfs/output/part-r-00000




Hadoop查看版本:hadoop version

参考文档:http://www.cnblogs.com/kendrick/p/6588323.html
http://www.jianshu.com/p/1448d1550c8b
http://www.cnblogs.com/qinqiao/p/local-hadoop-wordcount-base-hdfs.html

http://www.cnblogs.com/tatungzhang/p/5993138.html


0 0
原创粉丝点击