虚拟机基本配置 设置机器名(重启后生效)–使用ubuntu
对于ubuntu修改文件是/etc/hostname
设置host映射文件
使用ping命令验证配置是否正确
关闭防火墙 1 2 sudo service iptables status(sudo ufw status) sudo chkconfig iptables off(sudo ufw enable |disable )
Centos7 1 2 3 systemctl stop firewalld.service systemctl disable firewalld.service firewall-cmd --state
关闭Selinux(ubuntu不需要)
使用getenforce命令查看是否关闭
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效
SSH 1 2 3 ps -e | grep ssh sudo yum install openssh-server /etc/init.d/ssh start
无密钥SHH 在ROOT用户下执行:ssh-keygen -t rsa
cat id_rsa.pub > authorized_keys
JDK 下载安装包,并且完成安装:
1 tar -zxvf jdk-8u111-linux-x64.tar.gz
配置环境变量 1 2 3 4 5 6 7 export JAVA_HOME=/app/jdk1.8.0_111export JRE_HOME=/app/jdk1.8.0_111/jreexport PATH=$JAVA_HOME /bin:$JRE_HOME /bin:$PATH export CLASSPATH=.:$JAVA_HOME /jre/lib/rt.jar:$JAVA_HOME /lib/dt.jar:$JAVA_HOME /lib/tools.jar
保存,退出!
1 shell> source /etc/profile
验证
【建议也设置默认启动】 1 2 3 4 5 6 7 8 export JAVA_HOME=/app/jdk1.8.0_111export JRE_HOME=/app/jdk1.8.0_111/jreexport PATH=$JAVA_HOME /bin:$JRE_HOME /bin:$PATH export CLASSPATH=.:$JAVA_HOME /jre/lib/rt.jar:$JAVA_HOME /lib/dt.jar:$JAVA_HOME /lib/tools.jar
设置全局环境变量 Mysql Tomcat 1 2 3 4 5 6 7 tar -zxvf apache-tomcat-8.0.23.tar.gz gedit startup.sh JAVA_HOME=/app/jdk1.8.0_111 JRE_HOME=$JAVA_HOME /jre PATH=$PATH :$JAVA_HOME /bin:$JRE_HOME CLASSPATH=.:$JRE_HOME /lib/rt.jar:$JAVA_HOME /lib/dt.jar:$JAVA_HOME /lib/tools.jar TOMCAT_HOME=/app/apache-tomcat-8.5.23
防火墙 1 gedit /etc/sysconfig/iptables
1 /etc/init.d/iptables restart
vsftpd
查看是否安装:rpm –qa|grep vsftpd
安装:yum -y install vsftpd
启动:service vsftpd start
重启:service vsftpd restart
设置相关参数:setsebool -P ftp_home_dir 1
Mongodb 1 2 3 4 tar -zxvf mongodb-linux-x86_64-3.0.3.gz mkdir data mkdir data/mongodb touch logs
1 2 3 4 5 6 7 8 #【代表端口号,如果不指定则默认为 27017 】 port=27017 #数据库路径】 dbpath= /usr/mongodb/mongodb-linux-x86_64-3.0.3/data/mongodb #【日志路径】 logpath= /usr/mongodb/mongodb-linux-x86_64-3.0.3/logs #【日志文件自动累加,而不是覆盖】 logappend=true
1 2 3 4 /usr/mongodb/mongodb-linux-x86_64-3.0.3/bin/mongod -f /usr/mongodb/mongodb-linux-x86_64-3.0.3/mongodb.conf pkill mongod 进入mongo shell :运行 db.shutdownServer() /usr/mongodb/mongodb-linux-x86_64-3.0.3/bin/mongo
Hadoop 下载安装安装包 1 tar -zxvf hadoop-2.7.4.tar.gz
配置环境变量 1 2 3 4 5 6 vim /etc/profile export HADOOP_HOME=/app/hadoop-2.7.4export PATH=$HADOOP_HOME /bin:$PATH
source /etc/profile
加入rc.local
1 2 3 4 5 6 export HADOOP_HOME=/app/hadoop-2.7.4export PATH=$HADOOP_HOME /bin:$PATH
创建文件目录 1 2 3 4 5 6 7 root@ubuntu:/app/hadoop-2.7.4 root@ubuntu:/app/hadoop-2.7.4 root@ubuntu:/app/hadoop-2.7.4 root@ubuntu:/app/hadoop-2.7.4 root@ubuntu:/app/hadoop-2.7.4 root@ubuntu:/app/hadoop-2.7.4 root@ubuntu:/app/hadoop-2.7.4
编辑配置文件 配置文件目录位置:/app/hadoop-2.7.4/etc/hadoop,注意如果在配置文件中使用ip需要使用实际的ip比如192.168.209.132,不要使用127.0.0.1或者localhost
hadoop-env.sh(可以不修改) 1 2 3 4 vim hadoop-env.sh export JAVA_HOME=/app/jdk1.8.0_111
core-site.xml vim core-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.209.132:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/app/hadoop-2.7.4/tmp</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/app/hadoop-2.7.4/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/app/hadoop-2.7.4/hdfs/data</value> </property> </configuration>
hdfs-site.xml vim hdfs-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/app/hadoop-2.7.4/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/app/hadoop-2.7.4/hdfs/data</value> </property> </configuration>
mapred-site.xml 修改mapred-site.xml(默认没有这个配置文件,可以拷贝改目录下的mapred-site.xml.template : cp mapred-site.xml.template mapred-site.xml)内容如下
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <configuration> <property> <name>mapreduce.jobtracker.address</name> <value>192.168.209.132:9001</value> <final>true</final> </property> <property> <name>mapred.system.dir</name> <value>file:/app/hadoop-2.7.4/mapred/system</value> <final>true</final> </property> <property> <name>mapred.local.dir</name> <value>file:/app/hadoop-2.7.4/mapred/local</value> <final>true</final> </property> </configuration>
yarn-site.xml 1 2 3 4 5 6 7 8 9 10 11 12 <configuration> <!-- Site specific YARN configuration properties --> <!--<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
启动 格式化 首次运行需要进行hdfs格式化:hdfs namenode -format
/app/hadoop-2.7.4/bin/hdfs namenode -format
启动 进入sbin文件夹,执行:./start-all.sh /app/hadoop-2.7.4/sbin/start-all.sh
验证 运行启动后,使用jps命令查看是否将服务启动成功:
输入命令:jps 包括NameNode,SecondaryNameNode, ResourceManager, DataNode, NodeManager和jps;
192.168.209.135:8088/cluster
192.168.209.135:50070
ps -ef|grep hadoop
使用测试用例测试 创建测试目录 1 2 /app/hadoop-2.7.4/bin/hadoop fs -mkdir -p /class3/input /app/hadoop-2.7.4/bin/hadoop fs -ls /class3/
准备数据 1 /app/hadoop-2.7.4/bin/hadoop fs -copyFromLocal /app/hadoop-2.7.4/etc/hadoop/* /class3/input
该异常处理:(hadoop的本身bug,不用处理,使用centos7安装没问题) 重新复制文件(可以不使用)
1 2 3 4 /app/hadoop-2.7.4/bin/hadoop fs -rm -r -f /class3/ /app/hadoop-2.7.4/bin/hadoop fs -mkdir -p /class3/input /app/hadoop-2.7.4/bin/hadoop fs -ls /class3/ /app/hadoop-2.7.4/bin/hadoop fs -copyFromLocal /app/hadoop-2.7.4/etc/hadoop/* /class3/input
/app/hadoop-2.7.4/bin/hadoop fs -ls /class3/input
运行wordcount例子 1 2 cd /app/hadoop-2.7.4/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar wordcount /class3/input /class3/output
任务卡住,解决方案:
修改yarn-site.xml配置文件,增加如下信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>2048</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>2048</value> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <!--<property> <name>yarn.resourcemanager.hostname</name> <value>ubuntu</value> </property>-->
查看结果 1 2 bin/hadoop fs -ls /class3/output/ bin/hadoop fs -cat /class3/output/part-r-00000 | less