1.1准备权限:让普通用户具备sudo执行权限
切换到root用户,su
# vi /etc/sudoers/
添加 koushengrui ALL=(ALL) ALL
这里很容易忘记的一点是,再切换为普通用户身份,su koushengrui
1.2修改IP:修改配置文件方式
$ sudo vi /etc/sysconfig/network-scripts/ifcfg-ethxxxxx
修改 ONBOOT=yes
如果想用指定IP的话,还需要修改BOOTPROTO=dhcp为BOOTPROTO=static,并添加如下三行
IPADDR=192.168.2.128
NETMASK=255.255.255.0
NETWORK=192.168.2.0
这里有个小疑问,经过实际安装多次后发现,如果用指定ip,虚拟就就上不了网,但是用dhcp就正常。待解决!!
1.3修改主机名
第一步:$ sudo vi /etc/hostname
清空内容后,添加主机名,如server1
第二步:$ sudo vi /etc/sysconfig/network ,添加以下内容
NETWORKING=yes
HOSTNAME=server1
1.4 修改主机名和IP的映射关系,即修改hosts文件。
$ sudo vi /etc/hosts,清空内容,添加如下
192.168.2.128 server1
1.5关闭防火墙
centos7之前版本:
#查看防火墙状态
$ sudo service iptables status
#关闭防火墙
$ sudo service iptables stop
#关闭防火墙开机启动
$ sudo chkconfig iptables off
与之前版本不同的是,centos7默认使用firewall作为防火墙:
#启动firewall
$ sudo systemctl start firewalld.service
#停止firewall
$ sudo systemctl stop firewalld.service
#禁止firewall开机启动
$ sudo systemctl disable firewalld.service
关闭防火墙是很重要的一步,如果不关的话,很可能出现各种异常错误,如zookeeper启动后选举不出leader,报java.net.NoRouteToHostException: No route to host
2.安装JDK
2.1.卸载掉CentOS7自带的OpenJDK。
安装好的CentOS7会自带OpenJdk,用命令 java -version ,会有下面的信息:
java version "1.7.0_71"
OpenJDK Runtime Environment (rhel-2.5.3.1.el7_0-x86_64 u71-b14)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
卸载:
先查看 rpm -qa | grep jdk,显示如下信息:
java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64
java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64
$ sudo rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.71-2.5.3.1.el7_0.x86_64
$ sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el7_0.x86_64
2.2.安装JDK
把从官网下载的jdk-7u79-linux-x64.tar.gz文件通过FileZilla软件上传到/home/koushengrui目录下。在/usr下新建java文件夹 sudo mkdir /usr/java ,将安装包解压到在/usr/java目录下
$ sudo tar -xzvf jdk-7u79-linux-x64.tar.gz -C /usr/java
2.3.配置环境变量
编辑/etc/profile文件,$ sudo vi /etc/profile
在最后加入以下几行:
export JAVA_HOME=/usr/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
2.4. 重启。sudo reboot
3.安装hadoop-2.7.0
3.1.先上传hadoop的压缩包到服务器上去/home/koushengrui/
3.2配置hadoop,注意伪分布式需要修改5个配置文件
第一个:hadoop-env.sh
vi hadoop-env.sh
#第27行
export JAVA_HOME=/usr/java/jdk1.7.0_79/
第二个:core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://koushengrui:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/koushengrui/hadoop-2.7.0/data</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>koushengrui</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
3.3.将hadoop添加到环境变量
vi /etc/proflie
export HADOOP_HOME=/home/koushengrui/hadoop-2.7.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
3.4.格式化namenode(对namenode进行初始化)
用root身份, hadoop namenode -format
3.5.启动hadoop
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
3.6.验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
当然,实际进程ID可能与上面的不同。
http://192.168.2.128:50070 (HDFS管理界面)
http://192.168.2.128:8088 (MR管理界面)
3.7.配置ssh免登陆
3.7.1 #进入到我的home目录
cd ~/.ssh
3.7.2 #生成ssh免登陆密钥
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),将公钥拷贝到要免登陆的机器上
ssh-copy-id localhost
4.安装mysql
4.1.安装
$ sudo wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
$ sudo yum install mysql-community-server
4.2.启动服务,配置密码等
$ sudo service mysqld start 启动mysql服务
$ sudo chkconfig mysqld on 设置开机启动
# /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT 开启3306端口并保存
$ sudo mysql
show databases;
use mysql;
update user set password=password('密码') where user='root';
flush privileges; 连接mysql数据库,设置密码
quit;
$ sudo service mysqld restart 重启mysql服务