linux(centOS)下hadoop的环境搭建

JDK环境准备
jdk如果是bin文件,可以使用如下方式安装和配置环境变量,(其他的自己单独找方法就可以了,很简单)
1.先给执行权限
chmod 777 文件名
2. 使用 ./文件名 解压
3.配置环境变量
vi ~/.bashrc
export JAVA_HOME=/soft/jdk1.6.0_45
export JAVA_BIN=$JAVA_HOME/bin
export JAVA_LIB=$JAVA_HOME/lib
export CLASSPATH=.:$JAVA_LIB/tools.jar:$JAVA_LIB/dt.jar
export PATH=$JAVA_BIN:$PATH
source ~/.bashrc 使环境变量生效
完成之后,可使用java -version 查看是否成功,成功会输出jdk版本
环境准备完之后就可以开始安装hadoop了
1.下载hadoop
http://download.csdn.net/download/fengliuzhiwei/9938649
2.解压文件
tar zxvf 文件名
3.解压之后进入hadoop目录,并在hadoop目录中创建tmp文件夹
mkdir tmp
4.修改配置文件
4.1 修改masters里面写入master(主机名,稍后改)
4.2 修改slaves
写入slave1和slave2

4.3 修改core-site.xml

        
                hadoop.tmp.dir
                /soft/hadoop-1.2.1/tmp
        
        
                fs.default.name
                hdfs://192.168.134.130:9000
        
    
4.4 修改 mapred-site.xml

        
                mapred.job.tracker
                http://192.168.134.130:9001
        
    
4.5 hdfs-site.xml

         
                dfs.replication
                3
        
    
4.6 配置 hadoop-env.sh
在最后添加ava_home指向jdk的环境变量
export JAVA_HOME=/soft/jdk1.6.0_45
5.修改主机环境信息
5.1 修改 /etc/hosts(根据自己的主机ip情况填写)
    192.168.134.130 master
	192.168.134.131 slave1
	192.168.134.132 slave2
5.2 修改/etc/sysconfig/network 让主机配置永久生效
    NETWORKING=yes
	HOSTNAME=master
执行hostname master 临时生效
执行hostname 可看到输出master 表示已生效

至此,master的配置配置完成,下面需要将master的目录远程复制到slave1和slave2
scp -rp hadoop-1.2.1 192.168.134.131:/soft/
scp -rp hadoop-1.2.1 192.168.134.132:/soft/
将第5步在slave两台机器上也做设置,注意设置时hostname 需要改为slave1和slave2
设置后可使用
scp -rp hadoop-1.2.1 slave1:/soft/
scp -rp hadoop-1.2.1 slave2:/soft/
6.如果有防火墙,关闭各机器的关闭防火墙
测试环境下可以关闭防火墙,生产环境中,需要根据情况,自己制定防火墙策略
关闭
systemctl stop firewalld.service
禁止开机启动
systemctl disable firewalld.service
查看是否关闭
iptables -L
这种情况则说明防火墙已关闭
7.设置自动登陆
6.1 在master节点,运行ssh-keygen,一直回车
6.2
    cd ~/.ssh/ 
	cat id_rsa.pub > authorized_keys 
将公钥文件内容给创建的文件 authorized_keys
6.3 在两台slave机器上分别执行ssh-keygen命令
分别进入cd ~/.ssh/ 目录
将cat id_rsa.pub内容拷贝到master主机刚创建的authorized_keys中
将authorized_keys拷贝到slave和slave两台机器上
scp -rp authorized_keys slave1:~/.ssh/ 
	scp -rp authorized_keys slave2:~/.ssh/ 
现在测试再master主机ssh slave1 和ssh slave2 都不再需要密码
8.启动
进入hadoop的bin目录
第一次运行时需要先格式化,运行如下命令
./hadoop namenode -format
再运行
./start-all.sh 启动
9.验证
输入jps
master 有三个
slave 有两个
验证是否可以执行命令
./hadoop fs -ls 查看列表
./hadoop fs -put /etc/passwd / 放一个文件
./hadoop fs -cat /passwd 读取文件



你可能感兴趣的:(编程笔记)