启用ip vi /etc/sysconfig/network-scripts/ifcfg-
ONBOOT=yes
编辑DNS /etc/resolv.conf
nameserver 114.114.114.114
...
重启网络 service network restart
nmcli conn show 看下你现在启用的是哪个配置ip
查看ip(可以安装yum -y install net-tools 就有ifconfig和netstat了)
查看改动后的效果,Centois 7 不再使用 ifconfig 而是用ip addr
安装wget yum install -y wget
更新国内源
cd /etc/yum.repos.d
备份系统自带的yum源 mv CentOS-Base.repo CentOS-Base.repo.bk 下载163网易的yum源: wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
运行以下命令生成缓存
yum clean all
yum makecache
防火墙设置
1、直接关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、设置 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口50070
vi /etc/sysconfig/iptables
增加规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 50070 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8088 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 19888 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9000 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效即可。
修改hostname
修改/etc/hosts文件,将包含当前的hostname改为新的hostname。我将shiwei改为rabbit。
修改/etc/sysconfig/network文件,将包含当前的hostname改为新的hostname。我将shiwei改为rabbit。
使用命令hosname更改一下,命令为:hostname 新的主机名,然后用hostname名称查看是否修改成功。
直接使用文本编辑器修改/etc/hostname配置文件。
使用hostnamectl命令,hostnamectl set-hostname name ,再通过hostname或者hostnamectl status命令查看更改是否生效
要查看主机名相关的设置:
# hostnamectl status
新建hadoop用户并赋权
useradd hadoop
passwd hadoop
sudoers 文件添加可写权限(hadopp赋予执行权限)
1)# chmod -v u+w /etc/sudoers
"/etc/sudoers" 的权限模式保留为0640 (rw-r-----)
2)在 sudoers 文件添加新用户信息到 ## Allow root to run any commands anywher 下,修改后的效果为
## Allow root to run any commands anywher
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
dev ALL=(ALL) ALL #新增用户信息
还有一点,sudo命令默认是不能在后台运行的,如果需要在后台运行(比如nagios的被监控服务器端),就需要将/etc/sudoers文件中以下一行注释掉。
Defaults requiretty
3)取消 sudoers 文件可写权限
# chmod -v u-w /etc/sudoers
mode of "/etc/sudoers" changed from 0640 (rw-r-----) to 0440 (r--r-----)
将hadoop用户加入到hadoop组(如果没有hadoop组就新建sudo groupadd hadoop)
sudo usermod -a -G 'hadoop' 'hadoop'
安装ssh和rsync(免密钥登陆)
查看有没有ssh和rsync和openssh 如果没有就安装
rpm -aq|grep ssh
安装openssh-server
yum install openssh-server
rpm –qa | grep openssh
rpm –qa | grep rsync
如果没有安装使用以下命令安装
yum install ssh 安装SSH协议yum install -y rsync
配置免密码登录
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
切换到root用户,修改ssh配置文件
# vim /etc/ssh/sshd_config
修改其中部分内容(去掉原来的注释符号)
RSAAuthentication yes
RSA 认证PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
退出root用户,验证是否可以免密码登陆
$ ssh localhost/Last login: Thu Sep 10 07:38:10 2015 from localhost
出现这样的信息,表示SSH免密码登录配置成功。
提示:第一次连接的时候可能会提示是否要连接,输入yes即可。
配置JDK
a、rpm -qa|grep jdk 查看当前的jdk情况。
b、如果有则-> yum -y remove java java-1.7.0-openjdk* 卸载openjdk,这个过程中因为依赖原因可能会卸载一些额外的软件
c、去Oracle官网下载官方jdk,我下载的是tar.gz格式的。
d、解压jdk安装包tar -zxvf jdk-7u51-linux-x64.tar.gz 复制到自己的软件文件夹,我的软件一般放到opt下,所以 mv jdk1.7.0_51/ /opt/
e、配置环境变量vi /etc/profile 后在倒数第三行处输入下面的内容
export JAVA_HOME=/opt/jdk1.7.0_01
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
f、让环境变量生效 source /etc/profile
g、java -version
安装hadoop
解压hadoop到/usr/local
进入/usr/local/hadoop/etc/hadoop/修改hadoop-env.sh
export JAVA_HOME=/opt/jdk1.7.0_01
export HADOOP_PREFIX=/usr/local/hadoop
配置/etc/profile加入$HADOOP_HOME环境变量
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin
=============以上独立的就配置完了,可进行一下测试====================
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar grep input output 'dfs[a-z.]+'
$ cat output/*
-----------------伪分布式配置-------------------
进入/usr/local/hadoop/etc/hadoop/
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.233.132:9000</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>http://192.168.233.132:50070/</value>
</property>
</configuration>
hdfs namenode -format
start-dfs.sh
http://192.168.233.132:50070 (可以访问了,如果有问题自己看日志解决,基本是权限问题)
测试请访问官网示例
---------------YARN on Single Node-------------------
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
$ sbin/start-yarn.sh
http://localhost:8088/(可以访问了)
=====================伪集群============================
1、修改/usr/local/hadoop/etc/hadoop/hdfs-site.xml:dfs.replication为实际个数
2、复制机器,修改ip和新的机器名,/etc/hosts加入ip
3、master机器 /usr/local/hadoop/etc/hadoop/slaves(删除Localhost,增加集群ip),slave机器只留Localhost或删除
4、互相复制authorized_keys到集群上(注意修改hadoop@hadoopmaster)
5、start-dfs.sh jps测试是否成功,如果报错就看日志
=======================================
注意:hadoop datanode启动不起来:
这个问题一般是由于两次或两次以上的格式化NameNode造成的,有两种方法可以解决,第一种方法是删除DataNode的所有资料(及将集群中每个datanode的/hdfs/data/current中的VERSION删掉,然后执行hadoop namenode -format重启集群,错误消失。<推荐>);第二种方法是修改每个DataNode的namespaceID(位于/hdfs/data/current/VERSION文件中)<优先>或修改NameNode的namespaceID(位于/hdfs/name/current/VERSION文件中),使其一致。