今天实习第一天,还是蛮激动的。一定要把握住这么好的机会,好好锻炼一下自己。今天就写一篇博客纪念一下吧。
因为第一天,我不敢迟到。昨晚HR告诉我今天要九点到。于是根据上次的单程时间(大概一个半小时),心想这次七点十分出发一定不会晚,而且在线路上我也是精心策划过,上次公交坐到黑,这次公交加地铁,地铁各种倒,坐了有3条线的地铁,两头还需要公交车连接,哎,学校公司两边都是太不方便啊。结果早上起晚了,七点多点儿才起来,吓得我没吃早饭就跑出去了…不过幸好,公司管三餐。
路上很热也很挤,不过心情很激动,这是我人生中第一次去公司上班啊,在路上感慨了一下后,脑补了一道DP一个小时就过去了,比上次早了大概半个小时(窃喜。
到了公司给HR打电话,进去以后坐在一个高桌旁边,最近厦门有人过来,所以工位少了,新定的几套桌椅过几天才会到,让我先凑合一下(其实还有一个也坐在这儿)。被带去吃早餐,早餐的时候遇到了一个从南邮来实习的朋友,聊着聊着就吃完了。吃完造餐复印身份证、银行卡,录完门禁指纹后默默坐下等九点开工…
结果一早上仍然不开工,都开始怀疑人生了。于是我看了一早上numpy的文档,期间见到了组里第一个人,是个北邮的本硕,毕业来工作一年。聊了一会儿leader就来了,简单自我介绍过后,他随手给了我一个和硕士小哥一起写一个网络协议,我一想卧曹这跟我的路子不太符合啊,于是默默和小哥表达了自己的观点,小哥支持我和leader聊一下,看看能不能换换。于是我抱着肯定可以换的心态继续看我的numpy,顺便把pycharm和idea搞下来了…结果等来了午饭,吃午饭的时候一桌四个人,另外的人都感慨我年纪小……
午休过后我和leader说了我的想法,问了一下是否有数据处理的工作需要做,他想了一下,告诉我还真有这么个需求。说是一组日志,记录了balabala…问要统计top100,我弱弱地问了一下数据量,他说4TB(还是40TB来着)…那这肯定是要分布式框架了,可是我除了知道小黄象、星火这种名词的拼写以外,别的就不懂了啊,他还说这个东西简单…哎不做这个就要去写网络协议,比起小哥做的那个,我还是觉得这个比较适合我…于是咬咬牙接下了。leader人还是不错的,告诉我选择自己喜欢的会提高效率。我问这个有没有工期限制。他讲没有,做不出来也没关系,不过要尽力做。我听到这个就放心了,leader拍了拍我的肩膀我好好干吧(好狗血)。过了一会儿leader却又过来跟我说,这不是搞科研,这东西还是要做成产品,我又开始慌了…随后leader扔给我了一个1GB的小样本…
这咋办啊,我以前也就是本机配过个hadoop还是单机的,就跑了个wordcount以外别的啥都不会啊。然后这一下还给我整这么大的,我接受不了啊,哎…
一点一点来吧,我可是带着觉悟来实习的,不是混子。况且招我的时候仅仅通过了一个比赛,技术我肯定是有问题的,而且我才大二,懂的东西又不多,只能尽力做到最好吧。
这时候就已经快三点了,我先把leader给的数据样本搞下来,打开看了一眼,粘出来100条,心想这东西应该是要用正则来匹配了,这个先不着急写。当务之急是先补补技术短板,于是打开了spark官网,开始看文档,顺便把环境在本机上配置了,以便自己调试用。
一个下午过得很快,对我来说也就是只能配个生产环境,没办法谁让我这么弱…
由于spark需要hadoop的支持,所以配置前还需要配hadoop(我发现我的ubuntu里java没有配…),贡献一下脚本吧(hadoop的脚本是之前的,写博客太重要辣!)。
1 ###ubuntu 14.04 LTS 2 3 ##make hadoop account 4 sudo addgroup hadoop #make a group named hadoop 5 sudo adduser -ingroup hadoop hadoop #add an user named hadoop 6 sudo vi /etc/sudoers #add hadoop into sudoers(hadoop=root) 7 8 ##change your account 9 sudo su hadoop 10 11 ##install ssh 12 sudo apt-get install openssh-server #install openssh-server 13 sudo /etc/init.d/ssh start #start ssh server 14 ps -e | grep ssh #check whether ssh is started or not 15 16 ##log in without password 17 ssh-keygen -t rsa -P "" #log in without password generate rsa & rsa.pub 18 cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys #add authorized_keys to realize 'log in without password' 19 ssh localhost #check 20 exit #check 21 22 ##install java environment 23 sudo apt-get install openjdk-7-jdk #install jdk 24 java -version #check whether java is installed or not 25 26 ##get & install hadoop 2.6.0 (under user : hadoop) 27 cd ~ 28 mkdir hadoop 29 30 sudo wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz #get hadoop2.6.0 31 sudo tar xzf hadoop-2.6.0.tar.gz #unzip the hadoop-*.*.*.tar.gz 32 sudo rm hadoop-2.6.0.tar.gz #remove the zip 33 sudo mv hadoop-2.6.0 /usr/local/ #install hadoop at local 34 sudo chmod 774 /usr/local/hadoop #granted permissions to users (r&w) 35 36 ##configure ~/.bashrc 37 update-alternatives --config java #get java's path (stared one. such as '/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java'. but we just need '/usr/lib/jvm/java-7-openjdk-amd64' this shorter path to set up JAVA_HOME environment variables) 38 sudo vi ~/.bashrc #edit bashrc file 39 40 ##add the content below to the end of bashrc 41 #--------------------------------------------------------------# 42 43 #HADOOP VARIABLES START 44 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 45 export HADOOP_INSTALL=/usr/local/hadoop-2.6.0 46 export PATH=$PATH:$HADOOP_INSTALL/bin 47 export PATH=$PATH:$HADOOP_INSTALL/sbin 48 export HADOOP_MAPRED_HOME=$HADOOP_INSTALL 49 export HADOOP_COMMON_HOME=$HADOOP_INSTALL 50 export HADOOP_HDFS_HOME=$HADOOP_INSTALL 51 export YARN_HOME=$HADOOP_INSTALL 52 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native 53 export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib" 54 #HADOOP VARIABLES END 55 56 #--------------------------------------------------------------# 57 source ~/.bashrc #make the environment variables come into effect 58 59 ##configure hadoop 60 sudo vi /usr/local/hadoop-2.6.0/etc/hadoop/hadoop-env.sh #edit hadoop-env.sh 61 ?JAVA_HOME #(in vim) locate JAVA_HOME 62 #change 'export JAVA_HOME=${JAVA_HOME}' into 'export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64' 63 source /usr/local/hadoop-2.6.0/etc/hadoop/hadoop-env.sh #update 64 65 ##input 66 cd /usr/local/hadoop-2.6.0/ #go there 67 sudo mkdir input 68 sudo cp README.txt input 69 bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar org.apache.hadoop.examples.WordCount input output
1 ### install scala 2 cd scala 3 wget http://www.scala-lang.org/files/archive/scala-2.10.4.tgz 4 tar -zxvf scala-2.10.4.tgz 5 rm scala-2.10.4.tgz 6 sudo mkdir /usr/local/scala 7 mv scala-2.10.4 /usr/local/scala 8 9 sudo vi ~/.bashrc 10 #-------------------------------------# 11 export SCALA_HOME=/usr/local/scala/scala-2.10.4 12 export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${SCALA_HOME}/bin:$PATH 13 #-------------------------------------# 14 15 ### install spark 16 mkdir spark 17 cd spark 18 wget http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-1.6.2/spark-1.6.2-bin-hadoop2.6.tgz 19 tar -zxvf spark-1.6.2-bin-hadoop2.6.tgz 20 rm spark-1.6.2-bin-hadoop2.6.tgz # cd spark-1.6.2-bin-hadoop2.6 21 sudo mkdir /usr/local/spark 22 sudo mv spark-1.6.2-bin-hadoop2.6 /usr/local/spark 23 24 sudo vi ~/.bashrc 25 #-------------------------------------# 26 export SPARK_HOME=/usr/local/spark/spark-1.6.2-bin-hadoop2.6 27 export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH 28 #-------------------------------------# 29 30 cd /usr/local/spark/spark-1.6.2-bin-hadoop2.6/conf 31 cp spark-env.sh.template spark-env.sh 32 vi spark-env.sh 33 #-------------------------------------# 34 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 35 export SCALA_HOME=/usr/local/scala/scala-2.10.4 36 export SPARK_MASTER_IP=Kirai 37 export SPARK_WORKER_CORES=2 38 export SPARK_WORKER_MEMORY=1g 39 export HADOOP_CONF_DIR=/usr/local/hadoop-2.6.0/etc/hadoop/ 40 #-------------------------------------# 41 42 cp slaves.template slaves 43 vi slaves 44 #-------------------------------------# 45 # localhost --> Kirai 46 #-------------------------------------# 47 48 49 #------------------Test------------------# 50 cd /usr/local/spark/spark-1.6.2-bin-hadoop2.6 51 ./start-all.sh 52 jps # look Master and Worker 53 spark-shell 54 #----------------------------------------#