1.系统环境说明
2.安装前的准备工作
2.1 关闭防火墙
2.2 检查ssh安装情况,如果没有则安装ssh
2.3 安装vim
2.4 设置静态ip地址
2.5 修改host名称
2.6 创建hadoop用户
2.7 配置ssh无密钥登录
3.安装必须的软件
3.1 安装JDK
##################################### [100%]
##################################### [100%]
3.2 安装其他必须软件
3.3 安装ant
3.4 安装findbugs
3.5 安装protobuf
4. 编译hadoop源码
4.1 maven中央仓库的配置(改成oschina,增加访问速度)
4.2 编译完成之后,目录/usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0
5. 配置hadoop
5.1 基础操作
5.2 配置所有slave节点
5.3 修改hadoop-env.sh和yarn-env.sh
5.4 修改core-site.xml
5.5 修改hdfs-site.xml
5.6 修改mapred-site.xml
5.7 配置yarn-site.xml
5.8 格式化namenode
5.9 启动hdfs
5.10 检查启动情况
1.系统环境说明
CentOS 7.0 x64 版本
192.168.3.7 master
192.168.3.8 slave
192.168.3.9 slave
192.168.3.10 slave
2.安装前的准备工作
2.1 关闭防火墙
# systemctl status firewalld.service --查看防火墙状态
# systemctl stop firewalld.service --关闭防火墙
# systemctl disable firewalld.service --永久关闭防火墙
2.2 检查ssh安装情况,如果没有则安装ssh
# systemctl status sshd.service --查看ssh状态
# yum install openssh-server openssh-clients
2.3 安装vim
# yum -y install vim
2.4 设置静态ip地址
# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
BOOTPROTO="static"
ONBOOT="yes"
IPADDR0="192.168.3.7"
PREFIX0="255.255.255.0"
GATEWAY0="192.168.3.1"
DNS1="61.147.37.1"
DNS2="101.226.4.6"
DNS2="202.101.172.35"
DEVICE=eth0
TYPE=Ethernet
UUID=bf211666-cc45-44bf-ab84-6e84ba7b152b
ONBOOT=yes
IPADDR=192.168.3.76
NETMASK=255.255.255.0
GATEWAY=192.168.3.1
NM_CONTROLLED=yes
BOOTPROTO=none
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
DNS1=192.168.3.1
HWADDR=28:D2:44:30:C2:6C
LAST_CONNECT=1456709503
2.5 修改host名称
# vim /etc/sysconfig/network
HOSTNAME=master
# vim /etc/hosts
192.168.3.7 master
192.168.3.8 slave1
192.168.3.9 slave2
192.168.3.10 slave3
# hostnamectl set-hostname master (CentOS7 下原有的修改host方法无效了)
2.6 创建hadoop用户
# useradd hadoop --创建用户名为hadoop的用户# passwd hadoop --为用户hadoop设置密码
2.7 配置ssh无密钥登录
———–下面是在master上面的操作
# su hadoop --切换到hadoop用户$ cd ~ --打开用户文件夹
$ ssh-keygen -t rsa -P '' --生成密码对,/home/hadoop/.ssh/id_rsa和/home/hadoop/.ssh/id_rsa.pub
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys --把id_rsa.pub追加到授权的key里面去
$ chmod 600 ~/.ssh/authorized_keys --修改权限
$ su --切换到root用户# vim /etc/ssh/sshd_config --修改ssh配置文件
RSAAuthentication yes #启用RSA认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
# su hadoop --切换到hadoop用户
$ scp ~/.ssh/id_rsa.pub hadoop@192.168.3.8:~/ --把公钥复制所有的Slave机器上
———-下面是在slave1上面的操作
# su hadoop --切换到hadoop用户
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys --追加到授权文件"authorized_keys"
$ chmod 600 ~/.ssh/authorized_keys --修改权限
$ su --切换回root用户 # vim /etc/ssh/sshd_config --修改ssh配置文件
RSAAuthentication yes #启用RSA认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
3.安装必须的软件
3.1 安装JDK
# rpm -ivh jdk1.8.0_20-linux-x64.rpm
Preparing…
##################################### [100%]
1:jdk
##################################### [100%]
Unpacking JAR files…
rt.jar…
jsse.jar…
charsets.jar…
tools.jar…
localedata.jar…
# vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_20
export PATH=$PATH:$JAVA_HOME/bin
# source profile --修改生效
3.2 安装其他必须软件
# yum install maven svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
3.3 安装ant
# tar zxvf apache-ant-1.9.4-bin.tar.gz# vim /etc/profile
export ANT_HOME=/usr/local/apache-ant-1.9.4
export PATH=$PATH:$ANT_HOME/bin
3.4 安装findbugs
# tar zxvf findbugs-3.0.0.tar.gz# vim /etc/profile
export FINDBUGS_HOME=/usr/local/findbugs-3.0.0
export PATH=$PATH:$FINDBUGS_HOME/bin
3.5 安装protobuf
# tar zxvf protobuf-2.5.0.tar.gz(必须是2.5.0版本的,不然编译hadoop的时候报错)
# cd protobuf-2.5.0
# ./configure --prefix=/usr/local
# make && make install
4. 编译hadoop源码
# tar zxvf hadoop-2.5.0-src.tar.gz
# cd hadoop-2.5.0-src
# mvn package -Pdist,native,docs -DskipTests -Dtar
# mvn clean package -Pdist,native -DskipTests=true -Dmaven.javadoc.skip=true -Dtar
# mvn clean MAVEN_OPTS:-Xmx3g install -DskipTests assembly:single -Prelease
4.1 maven中央仓库的配置(改成oschina,增加访问速度)
# vim /usr/share/mavem/conf/settings.xml<mirrors>
<mirror>
<id>nexus-osc</id>
<mirrorOf>*</mirrorOf>
<name>Nexus osc</name>
<url>http://maven.oschina.net/content/groups/public/</url>
</mirror></mirrors><profiles>
<profile>
<id>jdk17</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.7</jdk>
</activation>
<properties>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile></profiles>
4.2 编译完成之后,目录/usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0
# ./bin/hadoop versionHadoop 2.5.0Subversion Unknown -r Unknown
Compiled by root on 2014-09-12T00:47Z
Compiled with protoc 2.5.0From source with checksum 423dcd5a752eddd8e45ead6fd5ff9a24
This command was run using /usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0/share/hadoop/common/hadoop-common-2.5.0.jar
# file lib//native/*lib//native/libhadoop.a:
current ar archivelib//native/libhadooppipes.a:
current ar archivelib//native/libhadoop.so:
symbolic link to `libhadoop.so.1.0.0'lib//native/libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x972b31264a1ce87a12cfbcc331c8355e32d0e774, not strippedlib//native/libhadooputils.a:
current ar archivelib//native/libhdfs.a:
current ar archivelib//native/libhdfs.so:
symbolic link to `libhdfs.so.0.0.0'lib//native/libhdfs.so.0.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0x200ccf97f44d838239db3347ad5ade435b472cfa, not stripped
5. 配置hadoop
5.1 基础操作
# cp -r /usr/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0 /opt/hadoop-2.5.0
# chown -R hadoop:hadoop /opt/hadoop-2.5.0
# vi /etc/profile
export HADOOP_HOME=/opt/hadoop-2.5.0
export PATH=$PATH:$HADOOP_HOME/bin
# su hadoop
$ cd /opt/hadoop-2.5.0
$ mkdir -p dfs/name
$ mkdir -p dfs/data
$ mkdir -p tmp
$ cd etc/hadoop
5.2 配置所有slave节点
$ vim slaves
slave1
slave2
slave3
5.3 修改hadoop-env.sh和yarn-env.sh
$ vim hadoop-env.sh / vim yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67
5.4 修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop-2.5.0/tmp</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value></value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value> </value>
</property>
</configuration>
5.5 修改hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop-2.5.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop-2.5.0/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
5.6 修改mapred-site.xml
# cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
5.7 配置yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>768</value>
</property>
</configuration>
5.8 格式化namenode
$ ./bin/hdfs namenode -format
5.9 启动hdfs
$ ./sbin/start-dfs.sh
$ ./sbin/start-yarn.sh
5.10 检查启动情况
http://192.168.3.7:8088http://192.168.3.7:50070
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com