hadoop_hdfs搭建



注:此处都使用root权限

一、安装centos6.X,我用的是6.4版本,简易安装即可,如果是用虚拟机的话,要配置成NAT网络模式,别忘了配置静态IP和DNS,总之不仅要能相互ping通,还要试试能不能访问外网

注:有些啰嗦,但是这些错误是我犯过的,没有设置DNS,结果不能访问外网,使用桥接后hadoop网页的 browse the filesystem 链接打不开

 

二、关闭防火墙,主机关闭就可以

    临时关闭:service iptables stop

    永久关闭:chkconfig iptables off

    检查防火墙是否开启:service iptables status

 

三、安装jdk

    1、下载jdk-7u79-linux-x64.tar.gz并修改权限:

            chmod 777 jdk-7u79-linux-x64.tar.gz

注:权限增加一个可执行就行,由实际情况而定,后面的权限问题都会是777

    2、上传到linux服务器root目录下

    3、解压tar包:

            tar -zxvf jdk-7u79-linux-x64.tar.gz

    4、配置环境变量:vi /etc/profile

          将下面一段放到文件中:

            export JAVA_HOME=/root/jdk1.7.0_79

            export PATH=$JAVA_HOME/bin:$PATH 

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

    5、令profile文件立即生效:

            source /etc/profile

    6、验证结果:javac

:NameNode和DataNode都

要配置jdk

 

四、设置hosts

            vi /etc/hosts

    将下面的内容添加到文件中

            192.168.248.201   hadoop1

            192.168.248.202   hadoop2

            192.168.248.203   hadoop3

    ip地址和名字根据实际情况而定,后面都要用HostName设置hadoop,否则会导致 browse the filesystem 链接失效

    另外介绍下,我的hadoop1为NameNode,hadoop2DataNodeSecondNameNodehadoop3为DataNode

五、安装ssh

    1、检查时候能够连接外网

            ping www.baidu.com

    能ping通则证明可以连接外网

    2、安装ssh

    即使centos是最小化安装ssh服务也是安装好的,只不过客户端没有安装而已

    安装ssh:

            yum install ssh

    安装ssh客户端:

            yum install openssh-clients

    一般情况只需要安装客户端就可以了 

 

六、配置免密码登录

    1、生成本机的公钥和私钥(NameNode和DataNode都要执行)

            ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

    默认在 ~/.ssh目录生成两个文件, id_rsa:私钥,id_rsa.pub:公钥

    2、导入公钥到认证文件,更改权限(NameNode和DataNode都要执行

            cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    此时,可以用在ssh hadoop1,ssh hadoop2,ssh hadoop3在对应的服务器上测试一下,是否已经实现本地免密码登录

    3、将NameNode上的公钥文件拷贝到从机上,我的DataNodeHostName是hadoop2和hadoop3(也可以用工具上传下载的方式):

            scp ~/.ssh/id_rsa.pub hadoop2@host:/home/id_rsa.pub

            scp ~/.ssh/id_rsa.pub hadoop3@host:/home/id_rsa.pub

    4、将公钥导入到认证文件(DataNode都要执行)

            cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

    此时,免密码登录就配置好了。

    5、测试一下,在NameNode上执行命令:

            ssh hadoop2

    你会发现已经不许要输入密码就可以登录到hadoop2机器上了,想回到hadoop1上就执行 exit 命令

 

七、安装hadoop

    1、下载hadoop-1.2.1安装包

        http://apache.fayea.com/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz

    放到 /root/ 目录下

    2、修改权限:

            chmod -R 777  hadoop-1.2.1.tar.gz

    3、解压hadoop-1.2.1.tar.gz :

            tar -zxvf hadoop-1.2.1.tar.gz

    4、创建一个快捷方式:

            ln -sf /root/hadoop-1.2.1 /home/hadoop-1.2.1

    5、进入 /home/ 目录,修改快捷方式的权限:

            chmod -R 777 hadoop-1.2.1/

 

八、修改/home/hadoop-1.2.1/conf/下的配置文件

    1、core-site.xml:

 

            <configuration>

                <property>

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

                    <value>hdfs://hadoop1:9000</value>

                </property>

                <property>

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

                    <value>/opt/hadoop-1.2</value>

                </property>

            </configuration>

 

    fs.default.name属性是指定hadoop的NameNode的主机,最好是用HostName,用ip会导致 browse the filesystem 链接失效(详见步骤四),另外提一句,9000端口是rpc协议,要和http协议区分开

    hadoop.tmp.dir属性是hadoop文件系统依赖的基础配置,很多路径都依赖它。它默认的位置是在/tmp/{$user}下面,但是在/tmp路径下的存储是不安全的,因为linux一次重启,文件就可能被删除。

    2、hadoop-env.sh:

            export JAVA_HOME=/root/jdk1.7.0_79

    为hadoop配置JAVA_HOME变量,这个变量大概在第9行,被注释了,放开注释,修改变量值即可

    3、hdfs-site.xml:

 

            <configuration>

                <property>

                    <name>dfs.replication</name>

                    <value>2</value>

                </property>

            </configuration>

 

    dfs.replication属性是指定副本数,默认值为3,一般来说,副本数不应该比从机的数目多,我的从机数是2,所以我这里配置的是2

    4、masters

        

            hadoop2

 

    masters文件是配置SecondNameNode的地址,我的SecondNameNode配置在了hadoop2上面了

 

    5、slaves

 

            hadoop2

            hadoop3

    

    slave是配置从机 DataNode 地址的

 

注:NameNode和DataNode的配置一样,可以解压之后在 /home/hadoop-1.2.1/conf/ 目录下执行命令替换/home/hadoop-1.2.1/conf/下的配置文件

            scp ./* root@hadoop2:/home/hadoop-1.2.1/conf/
            scp ./* root@hadoop3:/home/hadoop-1.2.1/conf/

也可以用工具上传下载的方式

 

九、启动hadoop

    1、格式化hadoop的NameNode,在 /home/hadoop-1.2.1/bin 目录下执行命令

            ./hadoop namenode -format

    2、启动dfs,执行命令

            ./start-dfs.sh 

    3、检查,在hadoop1,hadoop2,hadoop3上执行命令

            jps

    

 

    他会提示hadoop1启动了NameNode,hadoop2启动了DataNode和SecondNameNode,hadoop3启动了DataNode

    4、修改实体机的hosts文件

    回到熟悉的windows系统了,到 C:\Windows\System32\drivers\etc 目录下修改hosts文件,增加下面一段

            192.168.248.201    hadoop1

            192.168.248.202    hadoop2

            192.168.248.203    hadoop3

    5、打开浏览器访问一下吧

            http://hadoop1:50070

   

 

点击Browse the filesystem链接

   

 

 

    

 

   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值