想要学习hadoop,首先就需要配置环境。
本文用到OScent7(位于阿里云上),hadoop-2.6.0,jdk1.7
废话不多说上步骤
一、 新建用户组hadoop和用户hadoop(root用户操作)
由于我们要建立为分布式文件系统,所以我们需要新建两个用户
groupadd hadoop
useradd -g hadoop(组名) hadoop(用户名)
passwd hadoop
二、 为用户hadoop设置sudo权限 (root用户操作)
执行visudo命令,在root ALL=(ALL) ALL行下面,增加
hadoop ALL=(ALL) NOPASSWD: ALL后保存
下面全部用hadoop用户操作,建议通过xshell用hadoop用户重新建立连接来操作
三、上传文件
1. 安装传输软件 lrzsz
在命令行中输入yum install
hadoop用户家目录下创建目录,把jdk和hadoop安装文件传到该目录
四、 Jdk安装
sudo mkdir /usr/java
sudo tar -zxvf jdk-7u79-linux-x64.tar.gz -C /usr/java
sudo vi /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0_79
CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
source /etc/profile
五、 sudo vi/etc/hosts,最后1行增加下面内容
<主机ip> root
六、 ssh免密码登录
安装openssh
yum install -y openssh-server
yum install -y openssh-clients切换到hadoop用户家目录
cd
mkdir .ssh
ssh-keygen -t rsa
cd .ssh
cp id_rsa.pub authorized_keys
cd
chmod 700 .ssh
chmod 600 .ssh/*
ssh root
yes
exit
ssh <主机名>
exit
七、 安装hadoop
sudo mkdir /var/hadoop
sudo tar -zxvf hadoop-2.6.0-cdh5.4.5.tar.gz -C /var/hadoop
cd /var/hadoop
sudo mv hadoop-2.6.0-cdh5.4.5/ hadoop-2.6.0
sudo chown -R hadoop:hadoop hadoop-2.6.0
sudo mkdir -p /data/hdfs/name
sudo mkdir -p /data/hdfs/data
sudo mkdir -p /data/tmp
sudo chown -R hadoop:hadoop /data
cd
vi .bashrc
HADOOP_HOME=/var/hadoop/hadoop-2.6.0
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_HOME PATH
source .bashrc
八、 配置hadoop的5个文件
1.hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hdfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
2.core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://<主机内网ip>:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/data/tmp</value>
</property>
</configuration>
3.yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value><主机内网ip>:8031</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value><主机内网ip>:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value><主机内网ip>:8034</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value><主机内网ip>:8088</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log.server.url</name>
<value>http://<主机内网ip>:19888/jobhistory/logs/</value>
</property>
</configuration>
4.slaves
<想要链接主机内网ip>
5.mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
另外在hadoop-env.sh 中搜索JAVA_HOME找到export JAVA_HOME=***的行,替换***为/usr/java/jdk1.7.0_79,保存退出
九、 格式化namenode
hdfs namenode -format
十、 启动hadoop
start-dfs.sh
start-yarn.sh
mr-jobhistory-daemon.sh start historyserver
jps
十一、关闭hadoop
mr-jobhistory-daemon.sh stop historyserver
stop-yarn.sh
stop-dfs.sh
jps