linux网络配置、环境变量以及JDK安装(CentOS 6.5)
由于需要搭建hadoop平台,但是苦于没有现成可用的linux服务器,只好自己下载了CentOS 6.5从头装起,安装过程中遇到了很多问题,比如网络配置、时钟同步、环境变量配置、以及各种服务的启停,还有jdk的安装等(虽然系统自带JDK,但是本人过于低端,自带的JDK的安装路径都搞不明白,就干脆自己装了一个),时间长了容易忘记,所以在这里写下来作为记录,顺便也分享给与我一样的菜鸟玩家,高手们可以退散了,当然了如果有批评指正小弟跪迎。
- 新建用户
新安装的linux一般只有root管理员用户,由于我要搭建hadoop平台,所以就创建一个名为hadoop的新用户:
useradd hadoop passwd hadoop
New password:根据提示设置用户密码就可以了,然后就会发现在 /home目录下多了一个hadoop目录,这个就是hadoop用户的工作目录了,当你切换用户到hadoop时,默认路径就会切换到/home/hadoop路径下。当然了,我们需要对系统中的各种参数进行配置,还需要在root用户下操作,因为普通用户并没有足够的权限去修改系统级别的配置文件,下文中如果没有特别说明,都是默认在root管理员用户下操作的。
- 修改主机名
linux在安装过程中都设置了主机名,如果感觉当时起名太仓促,想修改一下也很简单,在root用户下进入/etc/sysconfig目录下,修改network文件就可以了:vi /etc/sysconfig/network NETWORKING=yes
HOSTNAME=master如上图中,只要修改HOSTNAME为你需要的名字就可以了,我的主机名为master。
- 配置网络连接
linux主机最重要的就是网络配置,我们进入/etc/sysconfig/network-scripts目录下,找到ifcfg-eth0文件,修改里面的内容如下:vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0
HWADDR=:1A:A0:9D:FA:34
ONBOOT=yes
IPADDR=10.1.5.229
NETMASK=255.255.255.0
GATEWAY=10.1.5.254
DNS1=202.106.0.20
其中,GATEWAY网关地址跟主机所处的网络有关,不同的网络网段不同;而IPADDR为本机的ip地址,是根据GATEWAY的网段来随意填写的,一般来说末位为2~254,只要不与别的主机ip地址冲突就可以了;NETMASK子网掩码一般为255.255.255.0;而DNS服务器一般国内设置为202.106.0.20就可以了。另外,特别需要强调的是ONBOOT参数必须设置为yes,负责重启后网络不会自启动,会导致网络不通。该配置文件设置完成后使用如下命令重启网络服务就可以了:
service network restart
然后应该就试一试网络服务了,比如ping一下百度:
ping www.baidu.com
PING www.baidu.com (124.16.31.151) () bytes of data.
bytes from 124.16.31.151: icmp_seq= ttl= time=8.22 ms
bytes from 124.16.31.151: icmp_seq= ttl= time=7.45 ms
bytes from 124.16.31.151: icmp_seq= ttl= time=8.77 ms
bytes from 124.16.31.151: icmp_seq= ttl= time=9.54 ms这就表示网络已经通了,设置完毕。
- 防火墙和selinux
防火墙iptables和selinux都是linux系统自带的安全系统,由于种种安全限制,导致我们很多系统的访问被限制而运行失败,虽然按道理来说不应该这样做,但是我们一般都会禁用iptables和selinux,先来禁用selinux:vi /etc/sysconfig/selinux # This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted SELINUX=disabled将SELINUX的参数改成disable就可以了。
然后禁用iptables稍微复杂,首先,关闭防火墙服务iptables:service iptables stop
这样还没完,因为每次你重启服务器的时候,系统是默认自启动iptables服务的,所以还要关闭自动启服务:
chkconfig iptables off
这样就彻底关闭了防火墙和selinux服务,防止了以后系统中由于端口访问不了造成的异常情况。
研究了一点防火墙的过滤配置,也就是不关闭iptables服务的情况下,单独开放某些端口,比如系统默认开放了22,21和20端口,配置如下:vi /etc/sysconfig/iptables # Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT上图中可以看到,系统默认开放的端口22,21和20,而50030,50070和50010三个端口则是我指定开放的,保存配置后运行重启iptables服务的命令:
service iptables restart
- sudo的安装及配置
我们有时候希望能够在不切换到root用户的情况下,执行某些root权限的行为,这就需要用到sudo命令,sudo在CentOS的最小安装模式中是默认不安装的,我们需要先通过yum命令检查sudo安装与否:yum list installed | grep sudo sudo.i686 1.8.6p3-.el6 @anaconda-CentOS-.i386/6.5
以上说明了系统已经自带了sudo程序,可以直接使用。如果没有安装则自行安装:
yum install sudo
随后,我们需要添加一般用户进sudo名单,我们需要切换到root用户,使用visudo 命令,会自动打开 /etc/sudoer 文件:visudo ## Allow root to run any commands anywhere
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
hadoop2 ALL=(ALL) ALL其中变黄部分为我添加的一般用户hadoop和hadoop2,变更即时生效,无须重启系统。这样,我们就可以在hadoop用户下使用sudo命令启停servcie了:
sudo service network restart
[sudo]password for hadoop:只需要输入hadoop用户的密码就可以顺利执行。
- JDK的安装配置
一般的linux系统都是自带JDK的,我们可以用命令检查一下JDK是否存在,并确认版本:java -version java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) Server VM (build 24.51-b03, mixed mode)如上显示说明,jdk版本为1.7.0_51。手动安装JDK的基本步骤是这样的,首先下载jdk的rpm安装包,jdk-7u51-i586.rpm,选择版本时需要根据自己的操作系统,本人的系统为CentOS 6.5 - i586,也就是32位系统,所以选择该版本;如果为64位系统,则选择jdk-7u51-linux-x86-64.rpm。使用rpm安装命令进行安装:
rpm -ivh --prefix=/opt jdk-7u51-linux-i586.rpm cd /opt
mv jdk1..0_51 jdk1.其中红色的--prefix参数用于指定安装路径,上面指定为/opt目录,如果不指定安装路径,则默认安装在/usr目录中。进入opt目录,将安装目录改名为jdk1.7,方便以后引用。
由于linux内置的jdk,所以我们安装新的jdk后还需要删除自带jdk的引用,并用新安装的jdk的引用来替换自带的jdk,否则新安装的jdk将完全不起作用:cd /usr/bin rm -f java
rm -f javac
rm -f javaws
rm -f javadoc
rm -f javap
rm -f jps其中,/usr/bin目录为我们后期安装的软件的命令的引用存放路径,存放在该路径下的命令可以不带路径,直接在任何目录下执行。我们将新安装的jdk的命令的引用写入该目录:
ln -s /opt/jdk1./java java
ln -s /opt/jdk1./javac javac
ln -s /opt/jdk1./javadoc javadoc
ln -s /opt/jdk1./javaws javaws
ln -s /opt/jdk1./javap javap
ln -s /opt/jdk1./jps jps其中,ln命令用于创建链接,-s参数表示该链接为虚拟链接,类似于windows的快捷方式。
- 环境变量的配置
linux下的环境变量通常分为两种:系统环境变量和用户环境变量。其中系统环境变量就是所有用户通用的环境变量;而用户环境变量只对该单一用户有效,不同的用户可以配置不同的环境变量。系统环境变量需要在root用户下配置,配置文件为/etc/profile,配置的内容一般为通用参数,如JAVA_HOME、PATH、CLASSPATH等:vi /etc/profile export JAVA_HOME=/opt/jdk1.
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib而用户环境变量则需要在相应的用户下配置,如我的hadoop用户的环境变量,配置文件存放在hadoop用户的工作目录下,/home/hadoop/.bash_profile,.bash_profile为隐藏文件,配置如下:
export HADOOP_HOME=$HOME/hadoop2
export HADOOP_MAPRED_HOME=${HADOOP_HOME}
export HADOOP_COMMON_HOME=${HADOOP_HOME}
export HADOOP_HDFS_HOME=${HADOOP_HOME}
export YARN_HOME=${HADOOP_HOME}
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HDFS_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_LOG_DIR=${HADOOP_HOME}/logs export HBASE_HOME=$HOME/hbase-0.98
export HIVE_HOME=$HOME/hive
export SQOOP_HOME=$HOME/sqoop
export TOMCAT_HOME=$HOME/tomcat7
export SOLR_HOME=$HOME/solr export MAVEN_HOME=$HOME/maven
export JAVA_LIBRARY_HOME=$HOME/jlib PATH=$PATH:$HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin:$HIVE_HOME/bin:$MAVEN_HOME/bin:/$SQOOP_HOME/bin:$TOMCAT_HOME/bin
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/share/hadoop:$HBASE_HOME/lib:$HIVE_HOME/lib:$SQOOP_HOME/lib:$TOMCAT_HOME/lib:$SOLR_HOME/dist:$JAVA_LIBRARY_HOME
export PATH配置完成后,需要环境变量立刻生效还需要在相应的用户下执行source命令:
[root@master etc] # source profile [hadoop@master ~] $ source .bash_profile
- linux时钟同步
我们在linux平台上搭建各种分布式集群,很多要求集群中每个节点做到时钟同步,否则无法正常启动。linux的时钟同步一般都是使用内置的ntp同步服务。首先使用rpm命令检查ntp服务软件是否已经安装:rpm -qa | grep ntp
ntpdate-4.2.6p5-.el6.centos.i686
fontpackages-filesystem-1.41-1.1.el6.noarch
ntp-4.2.6p5-.el6.centos.i686若没有找到,则说明没有安装ntp包,通过下载ntp的rpm包自行安装,rpm包的安装命令上文已经提到过。安装完成后,在root用户下检查ntpd服务是否启动,没有启动则手动启动服务,并启动开机自启动ntpd服务:
service ntpd status
ntpd is stopped service ntpd start chkconfig ntpd on通过chkconfig命令可以检查是否已经开启服务的自启动,以ntpd为例:
chkconfig --list | grep ntpd
ntpd :off :off :on :on :on :on :off
ntpdate :off :off :off :off :off :off :off其中显示了ntpd服务为开机自启动的,为ntpdate没有开机自启动。
- linux分区
分区的考虑因素其实还有很多,比如说你的服务器有几块硬盘,需要安装哪些软件,我们主要说的是WEB服务器,SWAP分区,作为交换分区有人推荐用内存的两倍,但是由于现在内存的容量明显很大,所以单独划分太多是没有必要的,比如我的内存是2G,那规划2G的SWAP分区就足够了,当然1G的内存我也喜欢用1G的SWAP,另外在WEB服务器中几个需要单独分区的目录:/var /tmp /usr /home,其中/var和/temb分区是数据变化频繁的,前者有许多系统日志,还有一些版本的LINUX把WEB目录放在了这里这些都要注意,后者对一些大站来说有大量的临时文件和碎片,一些大型站点和多硬盘服务器给这二位配上单独的硬盘也是可以的./home目录更不必说,现在大部分的发行版本都要求这个尽可能的大,另外还有人喜欢把/boot单独分区,/usr的目录下安装了大部分的软件,所以要考虑软件安装的大小进行分区.以下是我的单硬盘分区方案,仅供参考:
/ (5GB)
/boot (500MB)
swap 4G (2G RAM)
/tmp (5G)
/var (5G)
/usr (10G)
/home (剩下的所有空间)以上平均化方案我的站基本上是能够满足需求了,根据您的实际配置注意以上几个分区进行合理的调整就可以了,欢迎大家留言说一说自己的服务器分区方案。
暂时只能记得这么多,如果之后碰到别的问题,会继续补充。如果以上记录有什么不对的地方,欢迎拍砖指正,多谢!
linux网络配置、环境变量以及JDK安装(CentOS 6.5)的更多相关文章
- linux下配置环境变量方式
linux下配置环境变量有多种方式,下面简述之 方式1.编辑 /etc/profile 文件,增加如下内容 JAVA_HOME=/usr/local/jdk1. export JAVA_HOME PA ...
- Linux下配置环境变量—— .bashrc 和 /etc/profile
转载:https://blog.csdn.net/sun8112133/article/details/79901527 首先简单说一下什么是环境变量?环境变量简单的说就是当前环境下的参数或者变量.如 ...
- 配置环境变量及jdk
1.配置虚拟机nat默认为yes:cd /etc/sysconfig/network-scripts/ ll(查看下面ifcfg文件名称) vim ifcfg-eno16777736(按 ...
- 在linux中配置环境变量
JDK下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 根据Linux ...
- Linux下配置环境变量的几个方法实例
场景:一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量.例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录 ...
- 《自拍教程25》在Linux上配置环境变量
我们说的环境变量,一般是指的是PATH环境变量, Linux我们用Ubuntu操作系统来举例. 我们从官网下载了Sublime Text的Linux已编译好的包. https://download.s ...
- Linux中配置环境变量
Linux中环境变量的搭建(推荐用法) 第一步:进入到/etc/profile.d文件夹下 cd /etc/profile.d 第二步:创建并编辑一个my_env.sh文件 vim my_env.sh ...
- linux下配置环境变量【原创】
用户目录下的.profile, 你只需要在用户目录下,创建bin目录,在里面放入你想要执行的可执行文件,就可以在命令行下就可以使用了 # ~/.profile: executed by the com ...
- linux java配置环境变量
export JAVA_HOME=/alidata/server/java/jdk1.8.0_65export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME ...
随机推荐
- 用jQuery解析复杂的xml结构文件
一个晚上的心血 <?xml version="1.0" encoding="UTF-8"?> <weibo><wbContent& ...
- wpf窗体中复合控件焦点控制
1. 自定义控件 在UserControl标记中 <UserControl KeyboardNavigation.ControlTabNavigation="Local ...
- Android关于buildToolVersion与CompileSdkVersion的区别
StackOverFlow中对这个问题进行了详细的讨论:http://stackoverflow.com/questions/24521017/android-gradle-buildtoolsver ...
- CSS圆角效果
看了院子里一篇关于CSS圆角技巧的文章,试了一下,觉得很好,贴出练习的代码.优秀文章链接: http://www.cnblogs.com/luluping/archive/2010/06/26/176 ...
- jQuery取值相加
实在是太菜了. 这样一个需求: 计算两个text中的值的和,引发了对jQuery中类型转换的知识软肋. 在网上找到了才知道:http://zhidao.baidu.com/link?url=ujw88 ...
- Java中构造函数执行顺序的问题
1, 先执行内部静态对象的构造函数,如果有多个按定义的先后顺序执行:而且静态类的构造函数只会被执行一次,只在其第一个对象创建时调用,即便是创建了同一个类的多个对象,例如main()函数里b1,b2创 ...
- c++构造函数详解
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初 ...
- what are Datatypes in SQLite supporting android
As said at Datatypes In SQLite Version 3: Datatypes In SQLite Version 3 Most SQL database engines (e ...
- Ubuntu 常用软件安装方法
macubuntu 安裝方法: $wget https://github.com/downloads/ChinaLuo/Mac_Ubuntu/Mac_Ubuntu-12.04.tar.gz -O /t ...
- [原创] zabbix学习之旅六:如何解决zabbix server在内网,而邮件发送服务器在外网的问题
通过前面的文章,你已经可以快速地搭建一个报警系统,并能正常的收到报警邮件了.不过在很多企业级环境下,邮件发送服务器往往放在外网,而zabbix server放置在内网,在这种情况下,zabbix的报警 ...