1. 准备创建用户useradd hadoop passwd hadoop 创建相关的目录定义代码及工具存放的路径 mkdir -p /home/hadoop/source mkdir -p /home/hadoop/tools 定义数据节点存放的路径到跟目录下的hadoop文件夹, 这里是数据节点存放目录需要有足够的空间存放 mkdir -p /hadoop/hdfs mkdir -p /hadoop/tmp mkdir -p /hadoop/log 设置可写权限 chmod -R 777 /hadoop 定义java安装程序路径
mkdir -p /usr/java
2.安装安装JDK
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html
scp -r ./jdk-6u32-linux-x64.bin root@hadoop1:/usr/java
2. 进入 JDK 安装目录 cd /usr/java 并且执行 chmod +x jdk-6u32-linux-x64.bin export JAVA_HOME=/usr/java/jdk1.6.0_32 export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:/lib/dt.jar export PATH=$JAVA_HOME/bin:$PATH
5. 执行 chmod +x profile 将其变成可执行文件 source /etc/profile 7. 执行 java -version 查看是否安装成功 这个步骤所有机器都必须安装 [root@hadoop1 bin]# java -version java version "1.6.0_32" Java(TM) SE Runtime Environment (build 1.6.0_32-b05) Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode) 修改主机名
修改主机名,所有节点均一样配置
192.168.1.201 hadoop1
3. 执行 hostname hadoop1 其他节点也修改主机名后添加 Host , 或者 host 文件可以在后面执行 scp 覆盖操作 配置SSH无密码登陆
SSH 无密 码原理简介 : 具体步骤(在root用户和hadoop用户登陆情况下执行)
1 、执行命令 ssh-keygen -t rsa 之后一路回车,查看刚生成的无密码钥对: cd .ssh 后执行 ll
RSAAuthentication yes
5 、将公钥复制到所有的 slave 机器上 :scp ~/.ssh/id_rsa.pub 192.168.1.203 : ~/ 然后 输入 yes ,最后输入 slave 机器的密码 源码下载
HADOOP 版本 wget http://ftp.riken.jp/net/apache/hadoop/common/hadoop-2.0.5-alpha/hadoop-2.0.5-alpha.tar.gz 解压目录 tar zxvf hadoop-2.0.5-alpha.tar.gz 创建软连接 cd /home/hadoop ln -s /home/hadoop/source/hadoop-2.0.5-alpha/ ./hadoop 源码配置修改
配置环境变量: vim /etc/profile export HADOOP_DEV_HOME=/home/hadoop/hadoop export PATH=$PATH:$HADOOP_DEV_HOME/bin export PATH=$PATH:$HADOOP_DEV_HOME/sbin export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME} export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME} export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME} export YARN_HOME=${HADOOP_DEV_HOME} export HADOOP_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop export HDFS_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop export YARN_CONF_DIR=${HADOOP_DEV_HOME}/etc/hadoop 创建并配置hadoop-env.shvim /usr/hadoop/hadoop-2.0.5-alpha/etc/hadoop/hadoop-env.sh 在末尾添加 export JAVA_HOME=/usr/java/jdk1.6.0_27 core-site.xml在 configuration 节点里面添加属性 <property> <name>hadoop.tmp.dir</name> <value>/hadoop/tmp</value> <description>A base for other temporary directories</description> </property> <property> <name>fs.default.name</name> <value>hdfs://192.168.1.201:9000</value> </property> 添加 httpfs 的选项 <property> <name>hadoop.proxyuser.root.hosts</name> <value>192.168.1.201</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> slave配置
vim /home/hadoop/hadoop/etc/hadoop/slaves 配置hdfs-site.xml
vim /home/hadoop/hadoop/etc/hadoop/hdfs-site.xml <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/hadoop/hdfs/name</value> <final>true</final> </property> <property> <name>dfs.federation.nameservice.id</name> <value>ns1</value> </property> <property> <name>dfs.namenode.backup.address.ns1</name> <value>192.168.1.201:50100</value> </property> <property> <name>dfs.namenode.backup.http-address.ns1</name> <value>192.168.1.201:50105</value> </property> <property> <name>dfs.federation.nameservices</name> <value>ns1</value> </property> <property> <name>dfs.namenode.rpc-address.ns1</name> <value>192.168.1.201:9000</value> </property> <property> <name>dfs.namenode.rpc-address.ns2</name> <value>192.168.1.201:9000</value> </property> <property> <name>dfs.namenode.http-address.ns1</name> <value>192.168.1.201:23001</value> </property> <property> <name>dfs.namenode.http-address.ns2</name> <value>192.168.1.201:13001</value> </property> <property> <name>dfs.dataname.data.dir</name> <value>file:/hadoop/hdfs/data</value> <final>true</final> </property> <property> <name>dfs.namenode.secondary.http-address.ns1</name> <value>192.168.1.201:23002</value> </property> <property> <name>dfs.namenode.secondary.http-address.ns2</name> <value>192.168.1.201:23002</value> </property> <property> <name>dfs.namenode.secondary.http-address.ns1</name> <value>192.168.1.201:23003</value> </property> <property> <name>dfs.namenode.secondary.http-address.ns2</name> <value>192.168.1.201:23003</value> </property> 配置yarn-site.xml 添加节点 <property> <name>yarn.resourcemanager.address</name> <value>192.168.1.201:18040</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>192.168.1.201:18030</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>192.168.1.201:18088</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>192.168.1.201:18025</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>192.168.1.201:18141</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce.shuffle</value> </property> 配置httpfs-site.xml 同步代码到其他机器
1.同步配置代 码
mkdir -p /home/hadoop/source
部署hadoop代 码 , 创 建 软连接 ,然后只要同步修改 过 的etc/hadoop下的配置文件即可 scp -r /etc/profile root@hadoop2:/etc/profile scp -r /etc/hosts root@hadoop2:/etc/hosts 其他机器以此操作 3. Hadoop启动格式化集群hadoop namenode -format -clusterid clustername 启动hdfsstart-dfs.sh 开启 hadoop dfs服务 启动Yarnstart-yarn.sh 启动httpfs
httpfs.sh start 4. 测试安装结果验证验证hdfs在各台机器执行 jps 看进程是否都已经启动 了 [root@hadoop1 hadoop]# jps 7396 NameNode 24834 Bootstrap 7594 SecondaryNameNode 7681 ResourceManager 32261 Jps [root@hadoop2 ~]# jps 8966 Jps 31822 DataNode 31935 NodeManager 进程启动正常 验证是否可以登陆 hadoop fs -ls hdfs://192.168.1.201:9000/ hadoop fs -mkdir hdfs://192.168.1.201:9000/testfolder hadoop fs -copyFromLocal ./xxxx hdfs://192.168.1.201:9000/testfolder hadoop fs -ls hdfs://192.168.1.201:9000/ testfolder (责任编辑:IT) |