hadoop-2.0.0-cdh4.6.0 安装
1、创建hadoop用户【所有操作都是root,在所有master和slaver上】
1)、创建hadoop用户:adduser hadoop
2)、更换密码:passwd hadoop
====================================================================================
2、安装jdk【所有操作都是root,在所有master和slaver上】
将jdk.tar.gz解压到/et/local/:tar –zxvf jdk.tar.gz
====================================================================================
3、免密码登陆
1)、进入hadoop的家目录:su – hadoop【root】
2)、创建空密码登陆,在家目录的.ssh文件夹下生成id_rsa和id_rsa.pub文件:ssh-keygen –t rsa –P ''【hadoop】
3)、把id_rsa.pub追加到授权key中[特别注意:如果没有修改hostname,将id_rsa.pub中的localhost修改为ip,否则在authorized_keys中全部是localhost]: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys【hadoop】
4)、[特别注意]修改authorized_keys文件的权限为600:chmod 600 ~/.ssh/authorized_keys【hadoop】
5)、使用root用户修改/etc/ssh/sshd_config文件:【root】
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
6)、重启sshd:service sshd restart【root】
7)、验证是否hadoop能无密码登陆,使用hadoop用户:ssh localhost【hadoop,在slave机器上重复1-7】
8)、把master/slave的公钥scp到所有slave/master上:scp id_rsa.pub hadoop@ip:~/ 【hadoop】
9)、将master/slave的公钥追加到slave/master的authorized_keys中:cat id_rsa.pub>>.ssh/authorized_keys【hadoop】
10)、验证无密码登陆:ssh ip【hadoop】
====================================================================================
4、安装hadoop【所有操作都是root,在master上】
1)、下载hadoop代码到/export/spark下:wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.6.0.tar.gz
2)、解压缩:tar –zxvf hadoop-2.0.0-cdh4.6.0.tar.gz
3)、修改文件夹名称:mv hadoop-2.0.0-cdh4.6.0 hadoop
4)、修改权限:chown -R hadoop:hadoop hadoop
====================================================================================
5、配置hadoop【在master上】
1)、创建存储临时文件temp、data和name节点数据的目录【hadoop】:
mkdir /export/spark/hadoop/temp
mkdir /export/spark/hadoop/dfs/data
mkdir /export/spark/hadoop/dfs/name
2)、修改/export/spark/hadoop/etc/hadoop下的hadoop-env.sh和yarn-env.sh
在hadoop-env.sh 文件末尾添加
export JAVA_HOME=/usr/java/jdk1.7.0_71
在yarn-env.sh 文件末尾添加
export JAVA_HOME=/usr/java/jdk1.7.0_71
4)、配置/export/spark/hadoop/etc/hadoop/core-site.xml:【hadoop】
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master域名或者master的ip:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/export/spark/hadoop/temp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>
5)、配置hdfs-site.xml:【hadoop】
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master域名或者master的ip:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/export/spark/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/export/spark/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
6)、生成mapred-site.xml文件:cp mapred-site.xml.template mapred-site.xml【hadoop】
7)、配置mapred-site.xml:【hadoop】
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master域名或者master的ip:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master域名或者master的ip:19888</value>
</property>
</configuration>
8)、配置yarn-site.xml:【hadoop】
<configuration>
<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>
<property>
<name>yarn.resourcemanager.address</name>
<value>master域名或者master的ip:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master域名或者master的ip:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master域名或者master的ip:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master域名或者master的ip:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master域名或者master的ip:8088</value>
</property>
</configuration>
9)、配置slaves文件:将slaver的ip直接放里面,一行一个【hadoop】
10)、将/export/spark/的整个hadoop目录scp到其他服务器的/export/spark下
11)、在所有机器上配置hadoop的系统环境变量:
JAVA_HOME=/usr/java/jdk1.7.0_45-cloudera
JRE_HOME=/usr/java/jdk1.7.0_45-cloudera/jre
HADOOP_HOME=/export/spark/hadoop
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME HADOOP_HOME PATH CLASSPATH
使环境变量有效:source /etc/profile
10)、如果使用的是域名,需要在所有机器上修改hostname和hosts【root】
hostname修改:/etc/sysconfig/network,HOSTNAME=域名
hosts修改:/etc/hosts,ip 域名
11)、关闭所有机器的防火墙:【root】
chkconfig iptables off
====================================================================================
6、启动并验证hadoop集群【在master服务器上,hadoop用户】
1)、格式化namenode【特别注意是hadoop命令,不是hdfs命令,高版本用hdfs命令可能格式化不成功】: hadoop namenode -format
2)、启动: ./hadoop/sbin/start-dfs.sh
3)、启动: ./hadoop/sbin/start-yarn.sh
4)、验证:jps命令,看需要的服务启动起来没有